| 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 文件。
返回的文件树是惰性的,因此它只在查询文件树内容时才扫描文件。文件树也是活的,因此它在每次查询文件树内容时都扫描文件。