脚本

API文档: Script

该接口由所有 Gradle Groovy DSL 脚本实现,以添加一些特定于 Gradle 的方法。由于您编译的脚本类将实现此接口,因此您可以直接在脚本中使用此接口声明的方法和属性。

通常,Script 对象将附加一个委托对象。例如,构建脚本将附加一个 Project 实例,初始化脚本将附加一个 Gradle 实例。在此 Script 对象上找不到的任何属性引用或方法调用都将转发给委托对象。

属性

Property 描述
buildscript

此脚本的脚本处理程序。您可以使用此处理程序来管理用于编译和执行此脚本的类路径。

logger

此脚本的记录器。您可以在脚本中使用它来编写日志消息。

logging

LoggingManager 可用于接收日志记录并控制此脚本的标准输出/错误捕获。默认情况下,System.out 在 QUIET 日志级别重定向到 Gradle 日志系统,而 System.err 在 ERROR 日志级别重定向。

resources

提供对特定于资源的实用方法的访问,例如创建各种资源的工厂方法。

方法

方法 描述
apply(closure)

使用插件或脚本为此脚本配置委托对象。

apply(options)

使用插件或脚本为此脚本配置委托对象。

copy(closure)

复制指定的文件。给定的闭包用于配置 CopySpec ,然后用于复制文件。例子:

copySpec(closure)

创建一个 CopySpec,稍后可用于复制文件或创建存档。给定的闭包用于在此方法返回之前配置 CopySpec

delete(paths)

删除文件和目录。

exec(closure)

执行外部命令。闭包配置一个 ExecSpec

exec(action)

执行外部命令。

file(path)

解析相对于包含此脚本的目录的文件路径。这按照 Project.file(java.lang.Object) 的描述工作

file(path, validation)

解析相对于包含此脚本的目录的文件路径,并使用给定的方案对其进行验证。有关可能的验证列表,请参阅 PathValidation

fileTree(baseDir)

使用给定的基本目录创建一个新的 ConfigurableFileTree。给定的 baseDir 路径根据 Script.file(java.lang.Object) 进行评估。

fileTree(baseDir, configureClosure)

使用给定的基本目录创建一个新的 ConfigurableFileTree。给定的 baseDir 路径根据 Script.file(java.lang.Object) 进行评估。闭包将用于配置新的文件树。文件树作为其委托传递给闭包。例子:

fileTree(args)

使用提供的参数映射创建一个新的 ConfigurableFileTree。该地图将作为新文件树的属性应用。例子:

files(paths, configureClosure)

使用给定的路径创建一个新的 ConfigurableFileCollection。文件集合是使用给定的闭包配置的。此方法的工作原理与 Project.files(java.lang.Object, groovy.lang.Closure) 所述相同。相对路径相对于包含此脚本的目录进行解析。

files(paths)

返回包含给定文件的 ConfigurableFileCollection。这按照 Project.files(java.lang.Object[]) 的描述工作。相对路径相对于包含此脚本的目录进行解析。

javaexec(closure)

执行 Java 主类。闭包配置了一个 JavaExecSpec

javaexec(action)

执行 Java 主类。

mkdir(path)

创建目录并返回指向它的文件。

relativePath(path)

返回从包含此脚本的目录到给定路径的相对路径。给定的路径对象(逻辑上)按照 Script.file(java.lang.Object) 的描述进行解析,从中计算出相对路径。

tarTree(tarPath)

创建一个新的 FileTree,其中包含给定 TAR 文件的内容。给定的 tarPath 路径可以是:

uri(path)

将文件路径解析为 URI,相对于包含此脚本的目录。如 Script.file(java.lang.Object) 所述评估提供的路径对象,除了支持任何 URI 方案,而不仅仅是“文件:”URI。

zipTree(zipPath)

创建一个新的 FileTree,其中包含给定 ZIP 文件的内容。给定的 zipPath 路径根据 Script.file(java.lang.Object) 进行评估。您可以将此方法与 Script.copy(groovy.lang.Closure) 方法结合使用来解压缩 ZIP 文件。

脚本块

堵塞 描述
buildscript

配置此脚本的类路径。

属性详情

ScriptHandler buildscript(只读)

此脚本的脚本处理程序。您可以使用此处理程序来管理用于编译和执行此脚本的类路径。

Logger logger(只读)

此脚本的记录器。您可以在脚本中使用它来编写日志消息。

LoggingManager logging(只读)

LoggingManager 可用于接收日志记录并控制此脚本的标准输出/错误捕获。默认情况下,System.out 在 QUIET 日志级别重定向到 Gradle 日志系统,而 System.err 在 ERROR 日志级别重定向。

ResourceHandler resources(只读)

提供对特定于资源的实用方法的访问,例如创建各种资源的工厂方法。

方法细节

void apply (Closure 闭包)

使用插件或脚本为此脚本配置委托对象。

给定的闭包用于配置 ObjectConfigurationAction,然后用于配置委托对象。

void applyMap<String, ?> 选项)

使用插件或脚本为此脚本配置委托对象。

以下选项可用:

  • from :应用于委托对象的脚本。接受 Script.uri(java.lang.Object) 支持的任何路径。
  • plugin :应用于委托对象的插件的 ID 或实现类。
  • to :目标委托对象或对象。

有关详细信息,请参阅 ObjectConfigurationAction

WorkResult copy (Closure 关闭)

复制指定的文件。给定的闭包用于配置 CopySpec ,然后用于复制文件。例子:

public DirectoryBuildCache()

请注意 CopySpecs 可以嵌套:

public void setResources​(java.util.List<WbResource> resources)

CopySpec copySpec (Closure 关闭)

创建一个 CopySpec,稍后可用于复制文件或创建存档。给定的闭包用于在此方法返回之前配置 CopySpec

boolean delete (Object... 路径)

删除文件和目录。

ExecResult exec (Closure 关闭)

执行外部命令。闭包配置一个 ExecSpec

ExecResult execAction<? super ExecSpec> 动作)

执行外部命令。

File file (Object 路径)

解析相对于包含此脚本的目录的文件路径。这按照 Project.file(java.lang.Object) 的描述工作

File fileObject路径,PathValidation验证)

解析相对于包含此脚本的目录的文件路径,并使用给定的方案对其进行验证。有关可能的验证列表,请参阅 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) 进行评估。闭包将用于配置新的文件树。文件树作为其委托传递给闭包。例子:

void testFixtures()

返回的文件树是延迟的,因此它只在查询文件树的内容时才扫描文件。文件树也是实时的,因此每次查询文件树的内容时它都会扫描文件。

ConfigurableFileTree fileTree (Map<String, ?> 参数)

使用提供的参数映射创建一个新的 ConfigurableFileTree。该地图将作为新文件树的属性应用。例子:

DomainObjectSet<? extends TaskSelector> getTaskSelectors()

返回的文件树是延迟的,因此它只在查询文件树的内容时才扫描文件。文件树也是实时的,因此每次查询文件树的内容时它都会扫描文件。

ConfigurableFileCollection filesObject 路径,Closure configureClosure)

使用给定的路径创建一个新的 ConfigurableFileCollection。文件集合是使用给定的闭包配置的。此方法的工作原理与 Project.files(java.lang.Object, groovy.lang.Closure) 所述相同。相对路径相对于包含此脚本的目录进行解析。

ConfigurableFileCollection filesObject... 路径)

返回包含给定文件的 ConfigurableFileCollection。这按照 Project.files(java.lang.Object[]) 的描述工作。相对路径相对于包含此脚本的目录进行解析。

ExecResult javaexec (Closure 关闭)

执行 Java 主类。闭包配置了一个 JavaExecSpec

ExecResult javaexecAction<? super JavaExecSpec> 动作)

执行 Java 主类。

File mkdir (Object 路径)

创建目录并返回指向它的文件。

String relativePath (Object 路径)

返回从包含此脚本的目录到给定路径的相对路径。给定的路径对象(逻辑上)按照 Script.file(java.lang.Object) 的描述进行解析,从中计算出相对路径。

FileTree tarTree (Object tarPath)

创建一个新的 FileTree,其中包含给定 TAR 文件的内容。给定的 tarPath 路径可以是:

返回的文件树是延迟的,因此它只在查询文件树的内容时才扫描文件。文件树也是实时的,因此每次查询文件树的内容时它都会扫描文件。

除非传递资源的自定义实现,否则 tar 树会尝试根据文件扩展名猜测压缩。

您可以将此方法与 Script.copy(groovy.lang.Closure) 方法结合使用来解压缩 TAR 文件:

public Module​(org.gradle.internal.xml.XmlTransformer withXmlActions,
              PathFactory pathFactory)

URI uri (Object 路径)

将文件路径解析为 URI,相对于包含此脚本的目录。如 Script.file(java.lang.Object) 所述评估提供的路径对象,除了支持任何 URI 方案,而不仅仅是“文件:”URI。

FileTree zipTree (Object zipPath)

创建一个新的 FileTree,其中包含给定 ZIP 文件的内容。给定的 zipPath 路径根据 Script.file(java.lang.Object) 进行评估。您可以将此方法与 Script.copy(groovy.lang.Closure) 方法结合使用来解压缩 ZIP 文件。

返回的文件树是延迟的,因此它只在查询文件树的内容时才扫描文件。文件树也是实时的,因此每次查询文件树的内容时它都会扫描文件。

脚本块详细信息

buildscript { }

配置此脚本的类路径。

针对此脚本的 ScriptHandler 执行给定的闭包。 ScriptHandler 作为闭包的委托传递给闭包。

代表:
ScriptHandler 来自 buildscript