API 文档 | 脚本 |
---|
此接口由所有 Gradle Groovy DSL 脚本实现,以添加一些 Gradle 特定方法。由于您编译的脚本类将实现此接口,因此您可以直接在脚本中使用此接口声明的方法和属性。
通常,一个 Script
对象会附加一个委托对象。例如,构建脚本会附加一个 Project
实例,初始化脚本会附加一个 Gradle
实例。未在此 Script
对象上找到的任何属性引用或方法调用都会转发给委托对象。
属性 | 描述 |
buildscript | 此脚本的脚本处理程序。您可以使用此处理程序来管理用于编译和执行此脚本的类路径。 |
记录器 | 此脚本的日志记录器。您可以在脚本中使用它来写入日志消息。 |
日志 |
|
资源 | 提供对资源特定实用方法的访问,例如创建各种资源的工厂方法。 |
方法 | 描述 |
apply(closure) | 使用插件或脚本配置此脚本的委托对象。 |
apply(options) | 使用插件或脚本配置此脚本的委托对象。 |
copy(closure) | 复制指定的文件。给定的闭包用于配置一个 |
copySpec(closure) | 创建一个 |
delete(paths) | 删除文件和目录。 |
file(path) | 解析相对于包含此脚本的目录的文件路径。其工作方式如 |
file(path, validation) | 解析相对于包含此脚本的目录的文件路径,并使用给定方案进行验证。有关可能验证的列表,请参阅 |
fileTree(baseDir) | 使用给定的基本目录创建新的 |
fileTree(baseDir, configureClosure) | 使用给定的基本目录创建一个新的 |
fileTree(args) | 使用提供的参数映射创建一个新的 |
files(paths, configureClosure) | 使用给定路径创建一个新的 |
files(paths) | 返回包含给定文件的 |
mkdir(path) | 创建一个目录并返回指向它的文件。 |
relativePath(path) | 返回从包含此脚本的目录到给定路径的相对路径。给定路径对象(逻辑上)按照 |
tarTree(tarPath) | 创建包含给定 TAR 文件内容的新 |
uri(path) | 将文件路径解析为 URI,相对于包含此脚本的目录。评估提供的路径对象,如 |
zipTree(zipPath) | 创建一个新的 |
块 | 描述 |
buildscript | 为此脚本配置类路径。 |
ScriptHandler
buildscript
(只读)
此脚本的脚本处理程序。您可以使用此处理程序来管理用于编译和执行此脚本的类路径。
Logger
logger
(只读)
此脚本的日志记录器。您可以在脚本中使用它来写入日志消息。
LoggingManager
logging
(只读)
LoggingManager
,可用于接收日志记录并控制此脚本的标准输出/错误捕获。默认情况下,System.out 会以 QUIET 日志级别重定向到 Gradle 日志系统,System.err 会以 ERROR 日志级别重定向。
ResourceHandler
resources
(只读)
提供对资源特定实用方法的访问,例如创建各种资源的工厂方法。
使用插件或脚本配置此脚本的委托对象。
可用的选项如下
from
:应用于委托对象的脚本。接受Script.uri(java.lang.Object)
支持的任何路径。plugin
:应用于委托对象的插件 ID 或实现类。to
:目标委托对象或对象。
有关更多详细信息,请参阅 ObjectConfigurationAction
。
WorkResult
copy
(Closure
closure)
复制指定的文件。给定的闭包用于配置一个 CopySpec
,然后使用它来复制文件。示例
copy {
from configurations.runtimeClasspath
into 'build/deploy/lib'
}
请注意,CopySpecs 可以嵌套
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
...删除文件和目录。
解析相对于包含此脚本的目录的文件路径。其工作方式如 Project.file(java.lang.Object)
中所述
File
file
(Object
path, PathValidation
validation)
解析相对于包含此脚本的目录的文件路径,并使用给定方案进行验证。有关可能验证的列表,请参阅 PathValidation
。
ConfigurableFileTree
fileTree
(Object
baseDir)
使用给定的基本目录创建新的 ConfigurableFileTree
。给定的 baseDir 路径按照 Script.file(java.lang.Object)
的方式进行评估。
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。
ConfigurableFileTree
fileTree
(Closure
configureClosure)
使用给定的基本目录创建一个新的 ConfigurableFileTree
。给定的 baseDir 路径按照 Script.file(java.lang.Object)
的方式进行评估。闭包将用于配置新的文件树。文件树作为其委托传递给闭包。示例
fileTree('src') { exclude '**/.svn/**' }.copy { into 'dest'}
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。
ConfigurableFileTree
fileTree
(Map
<String
, ?>
args)
Map
<String
, ?>使用提供的参数映射创建一个新的 ConfigurableFileTree
。该映射将作为属性应用于新的文件树。示例
fileTree(dir:'src', excludes:['**/ignore/**','**/.svn/**'])
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。
ConfigurableFileCollection
files
(Object
paths, Closure
configureClosure)
使用给定路径创建一个新的 ConfigurableFileCollection
。文件集合使用给定闭包进行配置。此方法的工作方式如 Project.files(java.lang.Object, groovy.lang.Closure)
中所述。相对路径相对于包含此脚本的目录进行解析。
ConfigurableFileCollection
files
(Object
...
paths)
Object
...返回包含给定文件的 ConfigurableFileCollection
。其工作方式如 Project.files(java.lang.Object[])
中所述。相对路径相对于包含此脚本的目录进行解析。
返回从包含此脚本的目录到给定路径的相对路径。给定路径对象(逻辑上)按照 Script.file(java.lang.Object)
中所述进行解析,从中计算出相对路径。
创建包含给定 TAR 文件内容的新 FileTree
。给定 tarPath 路径可以是
Resource
的一个实例- 任何其他对象均按照
Script.file(java.lang.Object)
的规定进行评估
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。
除非传递自定义的资源实现,否则 tar 树会尝试根据文件扩展名猜测压缩方式。
您可以将此方法与 Script.copy(groovy.lang.Closure)
方法结合使用以解压 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.file(java.lang.Object)
中所述,但支持任何 URI 方案,而不仅仅是“file:”URI。
创建一个新的 FileTree
,其中包含给定 ZIP 文件的内容。给定的 zipPath 路径按照 Script.file(java.lang.Object)
进行评估。您可以将此方法与 Script.copy(groovy.lang.Closure)
方法结合使用以解压缩 ZIP 文件。
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。