API 文件 | Script |
---|
所有 Gradle Groovy DSL script 都實作此介面,以加入一些 Gradle 特定的方法。由於您編譯後的 script 類別將實作此介面,您可以直接在您的 script 中使用此介面宣告的方法和屬性。
一般來說,Script
物件會附加一個委派物件。例如,建置 script 會附加一個 Project
實例,而初始化 script 會附加一個 Gradle
實例。任何在此 Script
物件上找不到的屬性參考或方法呼叫都會轉發到委派物件。
屬性 | 描述 |
buildscript | 此 script 的 script 處理器。您可以使用此處理器來管理用於編譯和執行此 script 的類別路徑。 |
logger | 此 script 的 logger。您可以在您的 script 中使用它來寫入日誌訊息。 |
logging |
|
resources | 提供對資源特定工具方法的存取,例如建立各種資源的工廠方法。 |
方法 | 描述 |
apply(closure) | 使用外掛或 script 配置此 script 的委派物件。 |
apply(options) | 使用外掛或 script 配置此 script 的委派物件。 |
copy(closure) | 複製指定的檔案。給定的 closure 用於配置 |
copySpec(closure) | 建立一個 |
delete(paths) | 刪除檔案和目錄。 |
exec(closure) | 已棄用 執行外部命令。此 closure 配置 |
exec(action) | 已棄用 執行外部命令。 |
file(path) | 解析相對於包含此 script 的目錄的檔案路徑。其運作方式如同 |
file(path, validation) | 解析相對於包含此 script 的目錄的檔案路徑,並使用給定的方案驗證它。請參閱 |
fileTree(baseDir) | 使用給定的基礎目錄建立新的 |
fileTree(baseDir, configureClosure) | 使用給定的基礎目錄建立新的 |
fileTree(args) | 使用提供的引數 Map 建立新的 |
files(paths, configureClosure) | 使用給定的路徑建立新的 |
files(paths) | 返回包含給定檔案的 |
javaexec(closure) | 已棄用 執行 Java main 類別。此 closure 配置 |
javaexec(action) | 已棄用 執行 Java main 類別。 |
mkdir(path) | 建立目錄並返回指向它的檔案。 |
relativePath(path) | 返回從包含此 script 的目錄到給定路徑的相對路徑。給定的路徑物件會依照 |
tarTree(tarPath) | 建立新的 |
uri(path) | 將檔案路徑解析為 URI,相對於包含此 script 的目錄。評估提供的路徑物件,如同 |
zipTree(zipPath) | 建立新的 |
區塊 | 描述 |
buildscript | 配置此 script 的類別路徑。 |
ScriptHandler
buildscript
(唯讀)
此 script 的 script 處理器。您可以使用此處理器來管理用於編譯和執行此 script 的類別路徑。
Logger
logger
(唯讀)
此 script 的 logger。您可以在您的 script 中使用它來寫入日誌訊息。
LoggingManager
logging
(唯讀)
LoggingManager
可以用於接收日誌和控制此 script 的標準輸出/錯誤捕獲。預設情況下,System.out 以 QUIET 日誌級別重新導向到 Gradle 日誌系統,而 System.err 以 ERROR 日誌級別重新導向。
ResourceHandler
resources
(唯讀)
提供對資源特定工具方法的存取,例如建立各種資源的工廠方法。
void
apply
(Closure
closure)
使用外掛或 script 配置此 script 的委派物件。
給定的 closure 用於配置 ObjectConfigurationAction
,然後用於配置委派物件。
使用外掛或 script 配置此 script 的委派物件。
以下選項可用
from
:要應用於委派物件的 script。接受Script.uri(java.lang.Object)
支援的任何路徑。plugin
:要應用於委派物件的外掛的 ID 或實作類別。to
:目標委派物件或多個物件。
如需更多詳細資訊,請參閱 ObjectConfigurationAction
。
WorkResult
copy
(Closure
closure)
複製指定的檔案。給定的 closure 用於配置 CopySpec
,然後用於複製檔案。範例
copy {
from configurations.runtimeClasspath
into 'build/deploy/lib'
}
請注意,CopySpec 可以巢狀結構
copy { into 'build/webroot' exclude '**/.svn/**' from('src/main/webapp') { include '**/*.jsp' filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1']) } from('src/main/js') { include '**/*.js' } }
boolean
delete
(Object
...
paths)
Object
...刪除檔案和目錄。
解析相對於包含此 script 的目錄的檔案路徑。其運作方式如同 Project.file(java.lang.Object)
所述
File
file
(Object
path, PathValidation
validation)
解析相對於包含此 script 的目錄的檔案路徑,並使用給定的方案驗證它。請參閱 PathValidation
以取得可能的驗證列表。
ConfigurableFileTree
fileTree
(Object
baseDir)
使用給定的基礎目錄建立新的 ConfigurableFileTree
。給定的 baseDir 路徑會依照 Script.file(java.lang.Object)
進行評估。
返回的檔案樹狀結構是延遲載入的,因此它僅在查詢檔案樹狀結構的內容時才掃描檔案。檔案樹狀結構也是即時的,因此它會在每次查詢檔案樹狀結構的內容時掃描檔案。
ConfigurableFileTree
fileTree
(Object
baseDir, Closure
configureClosure)
使用給定的基礎目錄建立新的 ConfigurableFileTree
。給定的 baseDir 路徑會依照 Script.file(java.lang.Object)
進行評估。此 closure 將用於配置新的檔案樹狀結構。檔案樹狀結構會作為其委派傳遞到 closure。範例
fileTree('src') { exclude '**/.svn/**' }.copy { into 'dest'}
返回的檔案樹狀結構是延遲載入的,因此它僅在查詢檔案樹狀結構的內容時才掃描檔案。檔案樹狀結構也是即時的,因此它會在每次查詢檔案樹狀結構的內容時掃描檔案。
ConfigurableFileTree
fileTree
(Map
<String
, ?>
args)
Map
<String
, ?>使用提供的引數 Map 建立新的 ConfigurableFileTree
。此 Map 將作為屬性應用於新的檔案樹狀結構。範例
fileTree(dir:'src', excludes:['**/ignore/**','**/.svn/**'])
返回的檔案樹狀結構是延遲載入的,因此它僅在查詢檔案樹狀結構的內容時才掃描檔案。檔案樹狀結構也是即時的,因此它會在每次查詢檔案樹狀結構的內容時掃描檔案。
ConfigurableFileCollection
files
(Object
paths, Closure
configureClosure)
使用給定的路徑建立新的 ConfigurableFileCollection
。檔案集合使用給定的 closure 進行配置。此方法的運作方式如同 Project.files(java.lang.Object, groovy.lang.Closure)
所述。相對路徑會相對於包含此 script 的目錄進行解析。
ConfigurableFileCollection
files
(Object
...
paths)
Object
...返回包含給定檔案的 ConfigurableFileCollection
。其運作方式如同 Project.files(java.lang.Object[])
所述。相對路徑會相對於包含此 script 的目錄進行解析。
ExecResult
javaexec
(Closure
closure)
注意:此方法已棄用,並將在 Gradle 的下一個主要版本中移除。
執行 Java main 類別。此 closure 配置 JavaExecSpec
。
ExecResult
javaexec
(Action
<? super JavaExecSpec
>
action)
Action
<? super JavaExecSpec
>注意:此方法已棄用,並將在 Gradle 的下一個主要版本中移除。
執行 Java main 類別。
返回從包含此 script 的目錄到給定路徑的相對路徑。給定的路徑物件會依照 Script.file(java.lang.Object)
所述進行 (邏輯) 解析,並從中計算相對路徑。
建立新的 FileTree
,其中包含給定 TAR 檔案的內容。給定的 tarPath 路徑可以是
Resource
的實例- 任何其他物件都依照
Script.file(java.lang.Object)
進行評估
返回的檔案樹狀結構是延遲載入的,因此它僅在查詢檔案樹狀結構的內容時才掃描檔案。檔案樹狀結構也是即時的,因此它會在每次查詢檔案樹狀結構的內容時掃描檔案。
除非傳遞資源的自訂實作,否則 tar 樹狀結構會嘗試根據檔案副檔名猜測壓縮。
您可以將此方法與 Script.copy(groovy.lang.Closure)
方法結合使用,以解 tar TAR 檔案
task untar(type: Copy) { from tarTree('someCompressedTar.gzip') //tar tree attempts to guess the compression based on the file extension //however if you must specify the compression explicitly you can: from tarTree(resources.gzip('someTar.ext')) //in case you work with unconventionally compressed tars //you can provide your own implementation of a ReadableResource: //from tarTree(yourOwnResource as ReadableResource) into 'dest' }
將檔案路徑解析為 URI,相對於包含此 script 的目錄。評估提供的路徑物件,如同 Script.file(java.lang.Object)
所述,但 URI 方案不受限於 'file:' URI。
建立新的 FileTree
,其中包含給定 ZIP 檔案的內容。給定的 zipPath 路徑會依照 Script.file(java.lang.Object)
進行評估。您可以將此方法與 Script.copy(groovy.lang.Closure)
方法結合使用,以解壓縮 ZIP 檔案。
返回的檔案樹狀結構是延遲載入的,因此它僅在查詢檔案樹狀結構的內容時才掃描檔案。檔案樹狀結構也是即時的,因此它會在每次查詢檔案樹狀結構的內容時掃描檔案。
配置此 script 的類別路徑。
給定的 closure 會針對此 script 的 ScriptHandler
執行。ScriptHandler
作為 closure 的委派傳遞到 closure。
- 委派到
ScriptHandler
從buildscript