API 文档 | Project |
---|
此接口是您通过构建文件与 Gradle 交互的主要 API。Project
对象提供了对所有 Gradle 功能的编程访问。
一个 Project
与一个
文件一一对应。在构建初始化阶段,Gradle 会为参与构建的每个项目组装一个 build.gradle
Project
对象,过程如下
- 为构建创建一个
Settings
实例。 - 如果存在
脚本,则针对settings.gradle
Settings
对象评估此脚本以进行配置。 - 使用配置好的
Settings
对象创建Project
实例的层次结构。 - 最后,通过执行其
文件(如果存在),针对项目评估每个build.gradle
Project
。项目按照广度优先的顺序进行评估,以便父项目在其子项目之前进行评估。此顺序可以通过调用
或使用Project.evaluationDependsOnChildren()
添加显式评估依赖来覆盖。Project.evaluationDependsOn(java.lang.String)
项目本质上是 Task
对象的集合。每个任务执行一些基本工作,例如编译类、运行单元测试或压缩 WAR 文件。您可以通过 TaskContainer
的 create()
方法之一向项目添加任务,例如 TaskContainer.create(java.lang.String)
。您可以使用 TaskContainer
的查找方法之一来查找现有任务,例如 TaskCollection.getByName(java.lang.String)
。
项目通常需要一些依赖才能完成其工作。此外,项目通常会产生一些制品,其他项目可以使用这些制品。这些依赖被分组在配置中,可以从仓库中检索和上传。您可以使用 Project.getConfigurations()
方法返回的 ConfigurationContainer
来管理配置。使用 Project.getDependencies()
方法返回的 DependencyHandler
来管理依赖。使用 Project.getArtifacts()
方法返回的 ArtifactHandler
来管理制品。使用 Project.getRepositories()
方法返回的 RepositoryHandler
来管理仓库。
插件可用于模块化和重用项目配置。可以通过 PluginAware.apply(java.util.Map)
方法应用插件,或使用 PluginDependenciesSpec
插件脚本块。
Gradle 会针对 Project
实例执行项目的构建文件以配置项目。脚本使用的任何属性或方法都会委托给关联的 Project
对象。这意味着,您可以在脚本中直接使用 Project
接口上的任何方法和属性。
例如
defaultTasks('some-task') // Delegates to Project.defaultTasks() reportsDir = file('reports') // Delegates to Project.file() and the Java Plugin
您也可以使用 project
属性访问 Project
实例。在某些情况下,这可以使脚本更清晰。例如,您可以使用 project.name
而不是 name
来访问项目的名称。
项目有 5 个属性“作用域”,它会搜索这些作用域以查找属性。您可以在构建文件中按名称访问这些属性,或通过调用项目的 Project.property(java.lang.String)
方法。这些作用域如下
Project
对象本身。此作用域包括Project
实现类声明的任何属性 getter 和 setter。例如,Project.getRootProject()
可以作为rootProject
属性访问。此作用域的属性可读或可写,取决于是否存在相应的 getter 或 setter 方法。- 项目的 额外 属性。每个项目维护一个额外属性的映射,其中可以包含任意的 name -> value 对。一旦定义,此作用域的属性就可以读写。详情请参阅额外属性。
- 插件添加到项目的 扩展。每个扩展都作为具有与扩展相同名称的只读属性可用。
- 插件添加到项目的 约定 属性。插件可以通过项目的
Convention
对象向项目添加属性和方法。此作用域的属性可能可读或可写,取决于约定对象。 - 项目的任务。任务可以通过使用其名称作为属性名称来访问。此作用域的属性是只读的。例如,名为
compile
的任务可以作为compile
属性访问。 - 额外属性和约定属性从项目的父项目继承,递归向上到根项目。此作用域的属性是只读的。
读取属性时,项目按顺序搜索上述作用域,并返回在第一个找到属性的作用域中的值。如果未找到,则抛出异常。详情请参阅 Project.property(java.lang.String)
。
写入属性时,项目按顺序搜索上述作用域,并在第一个找到属性的作用域中设置属性。如果未找到,则抛出异常。详情请参阅 Project.setProperty(java.lang.String, java.lang.Object)
。
所有额外属性必须通过“ext”命名空间定义。一旦额外属性被定义,它就可以直接在拥有对象(在下面的情况下分别是 Project、Task 和子项目)上访问,并且可以读写。只有初始声明需要通过命名空间完成。
project.ext.prop1 = "foo" task doStuff { ext.prop2 = "bar" } subprojects { ext.${prop3} = false }
读取额外属性可以通过“ext”或通过拥有对象完成。
ext.isSnapshot = version.endsWith("-SNAPSHOT") if (isSnapshot) { // do snapshot stuff }
项目有 5 个方法“作用域”,它会搜索这些作用域以查找方法
Project
对象本身。- 构建文件。项目会搜索在构建文件中声明的匹配方法。
- 插件添加到项目的 扩展。每个扩展都作为一个方法可用,该方法接受一个闭包或
Action
作为参数。 - 插件添加到项目的 约定 方法。插件可以通过项目的
Convention
对象向项目添加属性和方法。 - 项目的任务。为每个任务添加一个方法,使用任务名称作为方法名称,并接受单个闭包或
Action
参数。此方法使用提供的闭包调用关联任务的Task.configure(groovy.lang.Closure)
方法。例如,如果项目有一个名为compile
的任务,则会添加一个具有以下签名的方 法:void compile(Closure configureClosure)
。 - 父项目的方法,递归向上到根项目。
- 项目的一个属性,其值是一个闭包。此闭包被视为一个方法,并使用提供的参数调用。属性的查找如上所述。
属性 | 描述 |
allprojects | 包含此项目及其子项目的集合。 |
ant | 此项目的 |
artifacts | 返回一个用于将项目生成的制品分配给配置的处理器。 |
buildDir | 已弃用 此项目的构建目录。构建目录是所有制品生成到的目录。构建目录的默认值为 |
buildFile | 此项目的构建脚本。 |
buildscript | 此项目的构建脚本处理器。您可以使用此处理器查询有关此项目构建脚本的详细信息,并管理用于编译和执行项目构建脚本的类路径。 |
childProjects | 此项目的直接子项目。 |
configurations | 此项目的配置。 |
convention | 已弃用 此项目的 |
defaultTasks | 此项目的默认任务名称。当启动构建时未提供任务名称时使用它们。 |
dependencies | 此项目的依赖处理器。返回的依赖处理器实例可用于添加新的依赖。要访问已声明的依赖,可以使用配置。 |
dependencyLocking | 提供对配置依赖锁定的访问权限 |
description | 此项目的描述,如果有的话。 |
extensions | 允许向项目添加 DSL 扩展。对插件作者很有用。 |
gradle | 此项目所属的 |
group | 此项目的组。Gradle 始终使用组的 |
layout | 提供对此项目各种重要目录的访问权限。 |
logger | 此项目的日志记录器。您可以在构建文件中使用它来写入日志消息。 |
logging |
|
name | 此项目的名称。项目名称在项目层次结构中不一定唯一。您应该使用 |
normalization | 提供对配置输入规范化的访问权限。 |
parent | 此项目的父项目,如果有的话。 |
path | 此项目的路径。路径是项目的完全限定名。 |
pluginManager | 此插件感知对象的插件管理器。 |
plugins | 已应用于此对象的插件容器。 |
project | 返回此项目。此方法在构建文件中很有用,可以显式访问项目属性和方法。例如,使用 |
projectDir | 包含项目构建文件的目录。 |
properties | 此项目的属性。有关项目可用的属性详情,请参阅此处。 |
repositories | 返回一个处理器,用于创建用于检索依赖和上传项目生成的制品的仓库。 |
resources | 提供对资源特定工具方法的访问权限,例如创建各种资源的工厂方法。 |
rootDir | 此项目的根目录。根目录是根项目的项目目录。 |
rootProject | 此项目所属层次结构的根项目。在单项目构建的情况下,此方法返回此项目。 |
state | 此项目的评估状态。您可以使用它来访问有关此项目评估的信息,例如它是否已失败。 |
status | 此项目的状态。Gradle 始终使用状态的 |
subprojects | 包含此项目子项目的集合。 |
tasks | 此项目的任务。 |
version | 此项目的版本。Gradle 始终使用版本的 |
属性 | 描述 |
application | 由 application 插件添加的 |
applicationDefaultJvmArgs | 运行应用程序时传递给 JVM 的字符串参数数组 |
applicationDistribution | 分发内容的规范。 |
applicationName | 应用程序的名称。 |
executableDir | 放置可执行文件的目录 |
mainClassName | 应用程序主类的完全限定名称。 |
属性 | 描述 |
checkstyle | 由 checkstyle 插件添加的 |
属性 | 描述 |
codenarc | 由 codenarc 插件添加的 |
属性 | 描述 |
distributions | 由 distribution 插件添加的 |
属性 | 描述 |
appDirName | 应用程序目录的名称,相对于项目目录。默认值为 "src/main/application"。 |
deploymentDescriptor | 自定义部署描述符配置。默认值为带有合理默认值的 "application.xml"。 |
generateDeploymentDescriptor | 指定如果部署描述符不存在是否应生成。默认为 true。 |
libDirName | EAR 文件中库目录的名称。默认值为 "lib"。 |
属性 | 描述 |
eclipse | 由 eclipse 插件添加的 |
属性 | 描述 |
jacoco | 由 jacoco 插件添加的 |
属性 | 描述 |
archivesBaseName | 用于存档文件的基本名称。 |
base | 由 java 插件添加的 |
distsDirName | 分发目录的名称。这被解释为相对于项目的构建目录。 |
distsDirectory | 生成 TAR 和 ZIP 存档的目录。 |
docsDir | 返回指向应用于所有文档的根目录的文件。 |
docsDirName | 文档目录的名称。可以是名称或相对于构建目录的路径。 |
java | 由 java 插件添加的 |
libsDirName | libs 目录的名称。这被解释为相对于项目的构建目录。 |
libsDirectory | 生成 JAR 和 WAR 存档的目录。 |
reporting | 由 java 插件添加的 |
sourceCompatibility | 用于编译 Java 源的源兼容性。 |
sourceSets | 源集容器。 |
targetCompatibility | 用于编译 Java 源的目标兼容性。 |
testReportDir | 返回指向用于报告的根目录的文件。 |
testReportDirName | 测试报告目录的名称。可以是名称或相对于 |
testResultsDir | 返回指向测试结果根目录的文件。 |
testResultsDirName | 测试结果目录的名称。可以是名称或相对于构建目录的路径。 |
属性 | 描述 |
pmd | 由 pmd 插件添加的 |
属性 | 描述 |
projectReportDir | 生成项目报告的目录。 |
projectReportDirName | 生成项目报告的目录名称,相对于项目的 reports 目录。 |
属性 | 描述 |
publishing | 由 publishing 插件添加的 |
属性 | 描述 |
signing | 由 signing 插件添加的 |
属性 | 描述 |
visualStudio | 由 visual-studio 插件添加的 |
属性 | 描述 |
webAppDir | Web 应用程序目录。 |
webAppDirName | Web 应用程序目录的名称,相对于项目目录。 |
属性 | 描述 |
xcode | 由 xcode 插件添加的 |
方法 | 描述 |
absoluteProjectPath(path) | 将名称转换为绝对项目路径,解析相对于此项目的名称。 |
afterEvaluate(closure) | 在此项目评估后立即添加要调用的闭包。 |
afterEvaluate(action) | 在此项目评估后立即添加要调用的操作。 |
allprojects(action) | 配置此项目及其每个子项目。 |
ant(configureAction) | 针对此项目的 |
apply(closure) | 应用零个或多个插件或脚本。 |
apply(options) | 使用作为 map 提供的给定选项,应用插件或脚本。如果插件已应用,则不执行任何操作。 |
apply(action) | 应用零个或多个插件或脚本。 |
artifacts(configureAction) | 配置此项目的已发布构件。 |
beforeEvaluate(closure) | 添加一个在此项目评估前立即调用的闭包。 |
beforeEvaluate(action) | 添加一个在此项目评估前立即调用的操作。 |
configure(objects, configureClosure) | 通过闭包配置对象集合。这等同于对给定集合中的每个对象调用 |
configure(objects, configureAction) | 通过操作配置对象集合。 |
configure(object, configureClosure) | 通过闭包配置对象,并将该闭包的委托(delegate)设置为提供的对象。这样您就不必多次指定配置语句的上下文。 |
container(type) | 创建一个容器,用于管理指定类型的命名对象。指定的类型必须具有一个公共构造函数,该构造函数接受名称作为 String 参数。 |
container(type, factoryClosure) | 创建一个容器,用于管理指定类型的命名对象。使用给定的闭包创建对象实例。要创建的实例的名称作为参数传递给该闭包。 |
container(type, factory) | 创建一个容器,用于管理指定类型的命名对象。使用给定的工厂(factory)创建对象实例。 |
copy(closure) | 复制指定的文件。使用给定的闭包配置 |
copy(action) | 复制指定的文件。使用给定的操作配置 |
copySpec() | 创建一个 |
copySpec(closure) | 创建一个 |
copySpec(action) | 创建一个 |
defaultTasks(defaultTasks) | 设置此项目的默认任务名称。在启动构建时未提供任务名称时使用这些名称。 |
delete(paths) | 删除文件和目录。 |
delete(action) | 删除指定的文件。使用给定的操作配置 |
dependencyLocking(configuration) | 配置依赖锁定 |
evaluationDependsOn(path) | 声明此项目依赖于给定路径的项目进行评估。 |
exec(closure) | 已弃用 执行外部命令。该闭包配置 |
exec(action) | 已弃用 执行外部命令。 |
file(path) | 解析相对于此项目项目目录的文件路径。此方法根据提供的路径类型进行转换 |
file(path, validation) | 解析相对于此项目项目目录的文件路径,并使用给定的方案验证它。有关可能的验证列表,请参见 |
fileTree(baseDir) | 使用给定的基本目录创建一个新的 |
fileTree(baseDir, configureClosure) | 使用给定的基本目录创建一个新的 |
fileTree(baseDir, configureAction) | 使用给定的基本目录创建一个新的 |
fileTree(args) | 使用提供的参数 map 创建一个新的 |
files(paths, configureClosure) | 使用给定的路径创建一个新的 |
files(paths, configureAction) | 使用给定的路径创建一个新的 |
files(paths) | 返回包含给定文件的 |
findProject(path) | 按路径查找项目。如果路径是相对路径,则相对于此项目进行解释。 |
findProperty(propertyName) | 返回给定属性的值,如果未找到则返回 null。此方法按以下方式查找属性 |
getAllTasks(recursive) | 返回此项目(可选地包括其子项目)中包含的任务的 map。 |
getTasksByName(name, recursive) | 返回此项目(可选地包括其子项目)中包含的具有给定名称的任务集。注意:这是一个耗时的操作,因为它需要配置所有项目。 |
hasProperty(propertyName) | 确定此项目是否具有给定属性。有关项目可用的属性的详细信息,请参见此处。 |
javaexec(closure) | 已弃用 执行 Java main 类。该闭包配置 |
javaexec(action) | 已弃用 执行外部 Java 进程。 |
mkdir(path) | 创建一个目录并返回指向该目录的文件。 |
normalization(configuration) | 配置输入规范化。 |
project(path) | 按路径查找项目。如果路径是相对路径,则相对于此项目进行解释。 |
project(path, configureClosure) | 按路径查找项目并使用给定的闭包配置它。如果路径是相对路径,则相对于此项目进行解释。目标项目作为该闭包的委托传递给闭包。 |
project(path, configureAction) | 按路径查找项目并使用给定的操作配置它。如果路径是相对路径,则相对于此项目进行解释。 |
property(propertyName) | 返回给定属性的值。此方法按以下方式查找属性 |
relativePath(path) | 返回从项目目录到给定路径的相对路径。给定路径对象(逻辑上)按照 |
relativeProjectPath(path) | 将名称转换为相对于此项目的项目路径。 |
setProperty(name, value) | 设置此项目的一个属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。 |
subprojects(action) | 配置此项目的子项目 |
sync(action) | 将目标目录的内容与某些源目录和文件同步。使用给定的操作配置 |
tarTree(tarPath) | 创建一个新的 |
task(name) | 已弃用 创建一个具有给定名称的任务并将其添加到此项目。调用此方法等同于使用空选项 map 调用 |
task(name, configureClosure) | 已弃用 创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的闭包来配置任务。 |
task(name, configureAction) | 已弃用 创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的操作来配置任务。 |
task(args, name) | 已弃用 创建一个具有给定名称的任务并将其添加到此项目。可以将创建选项的 map 传递给此方法来控制如何创建任务。以下选项可用 |
task(args, name, configureClosure) | 已弃用 创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的闭包来配置任务。可以将创建选项的 map 传递给此方法来控制如何创建任务。有关可用选项,请参见 |
uri(path) | 将文件路径解析为 URI,相对于此项目项目目录。评估提供的路径对象,如 |
zipTree(zipPath) | 创建一个新的 |
方法 | 描述 |
appDirName(appDirName) | 允许更改应用目录。默认为 "src/main/application"。 |
deploymentDescriptor(configureAction) | 配置此 EAR 归档的部署描述符。 |
libDirName(libDirName) | 允许更改 EAR 文件中的库目录。默认为 "lib"。 |
块 | 描述 |
allprojects | 配置此项目及其每个子项目。 |
ant | 针对此项目的 |
artifacts | 配置此项目的已发布构件。 |
buildscript | 配置此项目的构建脚本类路径。 |
configurations | 配置此项目的依赖配置。 |
dependencies | 配置此项目的依赖。 |
repositories | 配置此项目的仓库。 |
subprojects | 配置此项目的子项目。 |
块 | 描述 |
application | 配置由 application 插件添加的 |
块 | 描述 |
checkstyle | 配置由 checkstyle 插件添加的 |
块 | 描述 |
codenarc | 配置由 codenarc 插件添加的 |
块 | 描述 |
distributions | 配置由 distribution 插件添加的 |
块 | 描述 |
deploymentDescriptor | 配置此 EAR 归档的部署描述符。 |
块 | 描述 |
eclipse | 配置由 eclipse 插件添加的 |
块 | 描述 |
jacoco | 配置由 jacoco 插件添加的 |
块 | 描述 |
base | 配置由 java 插件添加的 |
java | 配置由 java 插件添加的 |
reporting | 配置由 java 插件添加的 |
sourceSets | 配置此项目的源集。 |
块 | 描述 |
pmd | 配置由 pmd 插件添加的 |
块 | 描述 |
publishing | 配置由 publishing 插件添加的 |
块 | 描述 |
signing | 配置由 signing 插件添加的 |
块 | 描述 |
visualStudio | 配置由 visual-studio 插件添加的 |
块 | 描述 |
xcode | 配置由 xcode 插件添加的 |
AntBuilder
ant
(只读)
此项目的 AntBuilder
。您可以在构建文件中使用它来执行 ant 任务。请参阅下面的示例。
task printChecksum { doLast { ant { //using ant checksum task to store the file checksum in the checksumOut ant property checksum(property: 'checksumOut', file: 'someFile.txt') //we can refer to the ant property created by checksum task: println "The checksum is: " + checksumOut } //we can refer to the ant property later as well: println "I just love to print checksums: " + ant.checksumOut } }
考虑以下 ant 目标示例
<target name='printChecksum'> <checksum property='checksumOut'> <fileset dir='.'> <include name='agile.txt'/> </fileset> </checksum> <echo>The checksum is: ${checksumOut}</echo> </target>
以下是它在 Gradle 中的样子。请注意 ant XML 如何通过 ant builder 在 Groovy 中表示
task printChecksum { doLast { ant { checksum(property: 'checksumOut') { fileset(dir: '.') { include name: 'agile1.txt' } } } logger.lifecycle("The checksum is $ant.checksumOut") } }
ScriptHandler
buildscript
(只读)
此项目的构建脚本处理器。您可以使用此处理器查询有关此项目构建脚本的详细信息,并管理用于编译和执行项目构建脚本的类路径。
Convention
convention
(只读)
注意:此属性已弃用,并将在 Gradle 的下一个主要版本中移除。
此项目的 Convention
。
您可以在构建文件中使用 convention
访问此属性。您也可以像访问此项目的属性和方法一样访问 convention 对象的属性和方法。更多详细信息请参见此处。
DependencyHandler
dependencies
(只读)
此项目的依赖处理器。返回的依赖处理器实例可用于添加新的依赖。要访问已声明的依赖,可以使用配置。
示例:参见 DependencyHandler
的文档
DependencyLockingHandler
dependencyLocking
(只读)
提供对配置依赖锁定的访问权限
String
description
此项目的描述,如果有的话。
ExtensionContainer
extensions
(只读)
允许向项目添加 DSL 扩展。对插件作者很有用。
Object
group
此项目的组。Gradle 始终使用组的 toString()
值。组默认值为使用点作为分隔符的路径。
ProjectLayout
layout
(只读)
提供对此项目各种重要目录的访问权限。
Logger
logger
(只读)
此项目的日志记录器。您可以在构建文件中使用它来写入日志消息。
LoggingManager
logging
(只读)
LoggingManager
可用于接收日志并控制此项目构建脚本的标准输出/错误捕获。默认情况下,System.out 被重定向到 QUIET 日志级别的 Gradle 日志系统,System.err 被重定向到 ERROR 日志级别。
String
name
(只读)
此项目的名称。项目名称在项目层次结构中不一定唯一。您应该使用 Project.getPath()
方法获取项目的唯一标识符。如果根项目未命名且位于文件系统根目录下,它将具有一个随机生成的名称。
InputNormalizationHandler
normalization
(只读)
提供对配置输入规范化的访问权限。
Project
parent
(只读)
此项目的父项目,如果有的话。
String
path
(只读)
此项目的路径。路径是项目的完全限定名。
PluginManager
pluginManager
(只读)
此插件感知对象的插件管理器。
PluginContainer
plugins
(只读)
已应用于此对象的插件容器。
虽然未弃用,但更推荐使用此接口的方法或 PluginAware.getPluginManager()
,而非直接使用插件容器。
使用此接口或 PluginAware.getPluginManager()
上的 'apply' 方法之一来应用插件,而不是通过插件容器应用。
使用 PluginManager.hasPlugin(java.lang.String)
或类似方法来查询插件的应用,而不是通过插件容器进行查询。
Project
project
(只读)
返回此项目。此方法在构建文件中很有用,可以显式访问项目属性和方法。例如,使用 project.name
可以比使用 name
更好地表达您的意图。此方法还允许您从属性可能被隐藏的作用域访问项目属性,例如,从方法或闭包中。
File
projectDir
(只读)
包含项目构建文件的目录。
RepositoryHandler
repositories
(只读)
返回一个处理器,用于创建用于检索依赖和上传项目生成的制品的仓库。
ResourceHandler
resources
(只读)
提供对资源特定工具方法的访问权限,例如创建各种资源的工厂方法。
File
rootDir
(只读)
此项目的根目录。根目录是根项目的项目目录。
Project
rootProject
(只读)
此项目所属层次结构的根项目。在单项目构建的情况下,此方法返回此项目。
ProjectState
state
(只读)
此项目的评估状态。您可以使用它来访问有关此项目评估的信息,例如它是否已失败。
Object
status
此项目的状态。Gradle 始终使用状态的 toString()
值。状态默认为 release
。
项目状态只有在您将库与模块描述符一起上传时才相关。此处指定的状态将成为此模块描述符的一部分。
TaskContainer
tasks
(只读)
此项目的任务。
Object
version
此项目的版本。Gradle 始终使用版本的 toString()
值。版本默认为 unspecified
。
JavaApplication
application
(只读)
由 application 插件添加的 JavaApplication
。
CopySpec
applicationDistribution
分发内容的规范。
使用此 CopySpec
将额外文件/资源包含在应用程序分发包中。
plugins { id 'application' } application { applicationDistribution.from("some/dir") { include "*.txt" } }
请注意,应用程序插件预先配置此规格为;包含以下内容:"src/dist
",将应用程序启动脚本复制到 "bin
" 目录中,并将构建好的 jar 及其依赖项复制到 "lib
" 目录中。
String
applicationName
应用程序的名称。
String
executableDir
放置可执行文件的目录
String
mainClassName
应用程序主类的完全限定名称。
CheckstyleExtension
checkstyle
(只读)
由 checkstyle 插件添加的 CheckstyleExtension
。
CodeNarcExtension
codenarc
(只读)
由 codenarc 插件添加的 CodeNarcExtension
。
DistributionContainer
distributions
(只读)
由 distribution 插件添加的 DistributionContainer
。
String
appDirName
应用程序目录的名称,相对于项目目录。默认值为 "src/main/application"。
DeploymentDescriptor
deploymentDescriptor
自定义部署描述符配置。默认值为带有合理默认值的 "application.xml"。
String
libDirName
EAR 文件中库目录的名称。默认值为 "lib"。
EclipseModel
eclipse
(只读)
由 eclipse 插件添加的 EclipseModel
。
JacocoPluginExtension
jacoco
(只读)
由 jacoco 插件添加的 JacocoPluginExtension
。
String
archivesBaseName
用于存档文件的基本名称。
BasePluginExtension
base
(只读)
由 java 插件添加的 BasePluginExtension
。
String
distsDirName
分发目录的名称。这被解释为相对于项目的构建目录。
DirectoryProperty
distsDirectory
生成 TAR 和 ZIP 存档的目录。
File
docsDir
(只读)
返回指向应用于所有文档的根目录的文件。
String
docsDirName
文档目录的名称。可以是名称或相对于构建目录的路径。
JavaPluginExtension
java
(只读)
由 java 插件添加的 JavaPluginExtension
。
String
libsDirName
libs 目录的名称。这被解释为相对于项目的构建目录。
DirectoryProperty
libsDirectory
生成 JAR 和 WAR 存档的目录。
ReportingExtension
reporting
(只读)
由 java 插件添加的 ReportingExtension
。
JavaVersion
sourceCompatibility
用于编译 Java 源的源兼容性。
SourceSetContainer
sourceSets
(只读)
源集容器。
JavaVersion
targetCompatibility
用于编译 Java 源的目标兼容性。
File
testReportDir
(只读)
返回指向用于报告的根目录的文件。
String
testReportDirName
测试报告目录的名称。可以是名称或相对于 ReportingExtension.getBaseDir()
的路径。
File
testResultsDir
(只读)
返回指向测试结果根目录的文件。
String
testResultsDirName
测试结果目录的名称。可以是名称或相对于构建目录的路径。
PmdExtension
pmd
(只读)
由 pmd 插件添加的 PmdExtension
。
File
projectReportDir
(只读)
生成项目报告的目录。
String
projectReportDirName
生成项目报告的目录名称,相对于项目的 reports 目录。
PublishingExtension
publishing
(只读)
由 publishing 插件添加的 PublishingExtension
。
SigningExtension
signing
(只读)
由 signing 插件添加的 SigningExtension
。
VisualStudioRootExtension
visualStudio
(只读)
由 visual-studio 插件添加的 VisualStudioRootExtension
。
File
webAppDir
(只读)
Web 应用程序目录。
String
webAppDirName
Web 应用程序目录的名称,相对于项目目录。
XcodeRootExtension
xcode
(只读)
由 xcode 插件添加的 XcodeRootExtension
。
void
afterEvaluate
(Closure
closure)
在此项目评估后立即添加要调用的闭包。
在此项目评估后立即添加要调用的操作。
将项目作为参数传递给操作。传递给此方法的操作将按照传递的顺序执行。父项目可以为其子项目添加操作,以便在子项目的构建文件运行后根据其状态进一步配置这些项目。
如果项目已被评估,此方法将失败。
如果您在 afterEvaluate
操作中调用此方法,则传递的操作将在所有先前添加的 afterEvaluate
操作完成执行后执行。
AntBuilder
ant
(Action
<? super AntBuilder
>
configureAction)
Action
<? super AntBuilder
>针对此项目的 AntBuilder
执行给定操作。您可以在构建文件中使用此方法来执行 ant 任务。请参阅 javadoc 中 Project.getAnt()
的示例。
void
apply
(Closure
closure)
应用零个或多个插件或脚本。
给定的闭包用于配置一个 ObjectConfigurationAction
,它“构建”插件应用。
此方法与 PluginAware.apply(java.util.Map)
不同之处在于,它允许多次调用配置操作的方法。
使用作为 map 提供的给定选项,应用插件或脚本。如果插件已应用,则不执行任何操作。
给定的映射会作为一系列方法调用应用于新创建的 ObjectConfigurationAction
。也就是说,映射中的每个键预计是 ObjectConfigurationAction
方法的名称,而值是与该方法兼容的参数。
可用选项如下
from
: 要应用的脚本。接受Project.uri(java.lang.Object)
支持的任何路径。plugin
: 要应用的插件的 ID 或实现类。to
: 目标委托对象或对象集合。默认是此插件感知对象。使用此选项可配置除此对象之外的其他对象。
void
apply
(Action
<? super ObjectConfigurationAction
>
action)
Action
<? super ObjectConfigurationAction
>应用零个或多个插件或脚本。
给定的闭包用于配置一个 ObjectConfigurationAction
,它“构建”插件应用。
此方法与 PluginAware.apply(java.util.Map)
不同之处在于,它允许多次调用配置操作的方法。
void
artifacts
(Action
<? super ArtifactHandler
>
configureAction)
Action
<? super ArtifactHandler
>配置此项目的已发布构件。
此方法会对此项目的 ArtifactHandler
执行给定的操作。
示例
configurations { //declaring new configuration that will be used to associate with artifacts schema } task schemaJar(type: Jar) { //some imaginary task that creates a jar artifact with the schema } //associating the task that produces the artifact with the configuration artifacts { //configuration name and the task: schema schemaJar }
void
beforeEvaluate
(Closure
closure)
添加一个在此项目评估前立即调用的闭包。
添加一个在此项目评估前立即调用的操作。
将项目作为参数传递给操作。传递给此方法的操作将按照传递的顺序执行。
如果项目已被评估,则此操作永远不会执行。
如果您在 beforeEvaluate
操作中调用此方法,则传递的操作永远不会执行。
通过闭包配置对象集合。这等同于对给定集合中的每个对象调用 Project.configure(java.lang.Object, groovy.lang.Closure)
。
通过闭包配置对象,并将该闭包的委托(delegate)设置为提供的对象。这样您就不必多次指定配置语句的上下文。
原本是
MyType myType = new MyType()
myType.doThis()
myType.doThat()
您可以这样做
MyType myType = configure(new MyType()) {
doThis()
doThat()
}
被配置的对象也会作为参数传递给闭包,因此如果需要,您可以显式地访问它。
configure(someObj) { obj -> obj.doThis() }
NamedDomainObjectContainer
<T
>
container
(Class
<T
>
type)
NamedDomainObjectContainer
<T
>Class
<T
>创建一个容器,用于管理指定类型的命名对象。指定的类型必须具有一个公共构造函数,该构造函数接受名称作为 String 参数。
所有对象 必须 将其名称作为名为 "name" 的 bean 属性公开。名称在对象的生命周期内必须保持不变。
NamedDomainObjectContainer
<T
>
container
(Class
<T
>
type, Closure
factoryClosure)
NamedDomainObjectContainer
<T
>Class
<T
>创建一个容器,用于管理指定类型的命名对象。使用给定的闭包创建对象实例。要创建的实例的名称作为参数传递给该闭包。
所有对象 必须 将其名称作为名为 "name" 的 bean 属性公开。名称在对象的生命周期内必须保持不变。
NamedDomainObjectContainer
<T
>
container
(Class
<T
>
type, NamedDomainObjectFactory
<T
>
factory)
NamedDomainObjectContainer
<T
>Class
<T
>NamedDomainObjectFactory
<T
>创建一个容器,用于管理指定类型的命名对象。使用给定的工厂(factory)创建对象实例。
所有对象 必须 将其名称作为名为 "name" 的 bean 属性公开。名称在对象的生命周期内必须保持不变。
WorkResult
copy
(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' } }
WorkResult
copy
(Action
<? super CopySpec
>
action)
Action
<? super CopySpec
>复制指定的文件。使用给定的操作配置 CopySpec
,然后使用它来复制文件。
创建一个 CopySpec
,该对象稍后可用于复制文件或创建归档文件。在方法返回之前,使用给定的闭包配置该 CopySpec
。
def baseSpec = copySpec { from "source" include "**/*.java" } task copy(type: Copy) { into "target" with baseSpec }
void
defaultTasks
(String
...
defaultTasks)
String
...设置此项目的默认任务名称。在启动构建时未提供任务名称时使用这些名称。
boolean
delete
(Object
...
paths)
Object
...删除文件和目录。
这不会跟随符号链接。如果您也需要跟随符号链接,请使用 Project.delete(org.gradle.api.Action)
。
WorkResult
delete
(Action
<? super DeleteSpec
>
action)
Action
<? super DeleteSpec
>删除指定的文件。使用给定的操作配置 DeleteSpec
,然后使用它来删除文件。
示例
project.delete {
delete 'somefile'
followSymlinks = true
}
void
dependencyLocking
(Action
<? super DependencyLockingHandler
>
configuration)
Action
<? super DependencyLockingHandler
>配置依赖锁定
ExecResult
exec
(Action
<? super ExecSpec
>
action)
Action
<? super ExecSpec
>注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
执行外部命令。
给定的操作配置了一个 ExecSpec
,该对象用于启动进程。此方法将阻塞,直到进程终止,并返回其结果。
解析相对于此项目项目目录的文件路径。此方法根据提供的路径类型进行转换
- 一个
CharSequence
,包括String
或GString
。相对于项目目录解释。以file:
开头的字符串被视为文件 URL。 - 一个
File
。如果文件是绝对路径,则按原样返回。否则,文件的路径将相对于项目目录进行解释。 - 一个
Path
。路径必须与默认提供程序关联,并且处理方式与File
实例相同。 - 一个
URI
或URL
。URL 的路径被解释为文件路径。仅支持file:
URL。 - 一个
Directory
或RegularFile
。 - 一个
Provider
,可以是任何受支持的类型。提供程序的值会递归解析。 - 一个
TextResource
。 - 一个 Groovy
Closure
或 Kotlin 函数,返回任何受支持的类型。闭包的返回值会递归解析。 - 一个
Callable
,返回任何受支持的类型。可调用对象的返回值会递归解析。
File
file
(Object
path, PathValidation
validation)
解析相对于此项目项目目录的文件路径,并使用给定的方案验证它。有关可能的验证列表,请参见 PathValidation
。
ConfigurableFileTree
fileTree
(Object
baseDir)
使用给定的基本目录创建一个新的 ConfigurableFileTree
。给定的 baseDir 路径按照 Project.file(java.lang.Object)
进行评估。
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
def myTree = fileTree("src") myTree.include "**/*.java" myTree.builtBy "someTask" task copy(type: Copy) { from myTree }
在 FileTree
中文件的顺序不稳定,即使在同一台计算机上也是如此。
ConfigurableFileTree
fileTree
(Object
baseDir, Closure
configureClosure)
使用给定的基本目录创建一个新的 ConfigurableFileTree
。给定的 baseDir 路径按照 Project.file(java.lang.Object)
进行评估。该闭包将用于配置新的文件树。该文件树作为其委托传递给闭包。示例
def myTree = fileTree('src') { exclude '**/.data/**' builtBy 'someTask' } task copy(type: Copy) { from myTree }
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
在 FileTree
中文件的顺序不稳定,即使在同一台计算机上也是如此。
ConfigurableFileTree
fileTree
(Object
baseDir, Action
<? super ConfigurableFileTree
>
configureAction)
Action
<? super ConfigurableFileTree
>使用给定的基本目录创建一个新的 ConfigurableFileTree
。给定的 baseDir 路径按照 Project.file(java.lang.Object)
进行评估。该操作将用于配置新的文件树。示例
def myTree = fileTree('src') { exclude '**/.data/**' builtBy 'someTask' } task copy(type: Copy) { from myTree }
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
在 FileTree
中文件的顺序不稳定,即使在同一台计算机上也是如此。
ConfigurableFileTree
fileTree
(Map
<String
, ?>
args)
Map
<String
, ?>使用提供的参数 map 创建一个新的 ConfigurableFileTree
。该 map 将作为属性应用于新的文件树。示例
def myTree = fileTree(dir:'src', excludes:['**/ignore/**', '**/.data/**']) task copy(type: Copy) { from myTree }
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
在 FileTree
中文件的顺序不稳定,即使在同一台计算机上也是如此。
ConfigurableFileCollection
files
(Object
paths, Closure
configureClosure)
使用给定的路径创建一个新的 ConfigurableFileCollection
。路径按照 Project.files(java.lang.Object[])
进行评估。文件集合使用给定的闭包进行配置。文件集合作为其委托传递给闭包。示例
files "$buildDir/classes" { builtBy 'compile' }
返回的文件集合是惰性的,只有在查询其内容时才会评估路径。此文件集合也是“活的”(live),每次查询其内容时都会重新评估上述内容。
ConfigurableFileCollection
files
(Object
paths, Action
<? super ConfigurableFileCollection
>
configureAction)
ConfigurableFileCollection
files
(Object
paths, Action
<? super ConfigurableFileCollection
>
configureAction)使用给定的路径创建一个新的 ConfigurableFileCollection
。路径按照 Project.files(java.lang.Object[])
进行评估。文件集合使用给定的操作进行配置。示例
files "$buildDir/classes" { builtBy 'compile' }
返回的文件集合是惰性的,只有在查询其内容时才会评估路径。此文件集合也是“活的”(live),每次查询其内容时都会重新评估上述内容。
ConfigurableFileCollection
files
(Object
...
paths)
Object
...返回包含给定文件的 ConfigurableFileCollection
。您可以向此方法传递以下任何类型
- 一个
CharSequence
,包括String
或GString
。相对于项目目录解释,如Project.file(java.lang.Object)
所示。以file:
开头的字符串将被视为文件 URL。 - 一个
File
。相对于项目目录解释,如Project.file(java.lang.Object)
所示。 - 一个
Path
,如Project.file(java.lang.Object)
所示。 - 一个
URI
或URL
。URL 的路径将被解释为文件路径。仅支持file:
URL。 - 一个
Directory
或RegularFile
。 - 一个
Collection
、Iterable
或包含任何支持类型的对象的数组。集合中的元素会被递归转换为文件。 - 一个
FileCollection
。该集合的内容会被包含在返回的集合中。 - 一个
FileTree
或DirectoryTree
。该树的内容会被包含在返回的集合中。 - 一个
Provider
,可以是任何支持的类型。Provider 的值会被递归转换为文件。如果 Provider 表示一个任务的输出,并且此文件集合被用作另一个任务的输入,则该任务会被执行。 - 一个
Callable
,返回任何支持的类型。call()
方法的返回值会被递归转换为文件。返回值为null
则被视为一个空集合。 - 一个 Groovy
Closure
或 Kotlin 函数,返回此处列出的任何类型。闭包的返回值会被递归转换为文件。返回值为null
则被视为一个空集合。 - 一个
Task
。会被转换为该任务的输出文件。如果此文件集合被用作另一个任务的输入,则该任务会被执行。 - 一个
TaskOutputs
。会被转换为相关任务的输出文件。如果此文件集合被用作另一个任务的输入,则该任务会被执行。 - 任何其他类型都会被视为错误。
返回的文件集合是惰性的,只有在查询其内容时才会评估路径。此文件集合也是“活的”(live),每次查询其内容时都会重新评估上述内容。
返回的文件集合会保留提供的路径的迭代顺序。
返回的文件集合会保留生成这些文件的任务的详细信息,以便在将此文件集合用作某个任务的输入时,这些任务会被执行。
此方法也可以用于创建一个空集合,该集合之后可以通过变异来添加元素。
返回给定属性的值,如果未找到则返回 null。此方法按以下方式查找属性
- 如果此项目对象具有给定名称的属性,则返回该属性的值。
- 如果此项目具有给定名称的扩展,则返回该扩展。
- 如果此项目的约定对象(convention object)具有给定名称的属性,则返回该属性的值。
- 如果此项目具有给定名称的额外属性(extra property),则返回该属性的值。
- 如果此项目具有给定名称的任务,则返回该任务。
- 在此项目的祖先项目中向上搜索具有给定名称的约定属性或额外属性。
- 如果未找到,则返回 null 值。
返回此项目(可选地包括其子项目)中包含的具有给定名称的任务集。注意:这是一个耗时的操作,因为它需要配置所有项目。
ExecResult
javaexec
(Closure
closure)
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
执行 Java main 类。该闭包配置 JavaExecSpec
。
ExecResult
javaexec
(Action
<? super JavaExecSpec
>
action)
Action
<? super JavaExecSpec
>注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
执行外部 Java 进程。
给定的 action 配置一个 JavaExecSpec
,用于启动进程。此方法会阻塞直到进程终止,并返回其结果。
void
normalization
(Action
<? super InputNormalizationHandler
>
configuration)
Action
<? super InputNormalizationHandler
>配置输入规范化。
按路径查找项目并使用给定的闭包配置它。如果路径是相对路径,则相对于此项目进行解释。目标项目作为该闭包的委托传递给闭包。
按路径查找项目并使用给定的操作配置它。如果路径是相对路径,则相对于此项目进行解释。
返回给定属性的值。此方法按以下方式查找属性
- 如果此项目对象具有给定名称的属性,则返回该属性的值。
- 如果此项目具有给定名称的扩展,则返回该扩展。
- 如果此项目的约定对象(convention object)具有给定名称的属性,则返回该属性的值。
- 如果此项目具有给定名称的额外属性(extra property),则返回该属性的值。
- 如果此项目具有给定名称的任务,则返回该任务。
- 在此项目的祖先项目中向上搜索具有给定名称的约定属性或额外属性。
- 如果未找到,则抛出
MissingPropertyException
异常。
返回从项目目录到给定路径的相对路径。给定路径对象(逻辑上)按照 Project.file(java.lang.Object)
所述进行解析,并从中计算出相对路径。
设置此项目的一个属性。此方法在以下位置搜索具有给定名称的属性,并在找到该属性的第一个位置设置该属性。
- 项目对象本身。例如,
rootDir
项目属性。 - 项目的
Convention
对象。例如,srcRootName
Java 插件属性。 - 项目的额外属性。
如果未找到该属性,则抛出 MissingPropertyException
异常。
WorkResult
sync
(Action
<? super SyncSpec
>
action)
Action
<? super SyncSpec
>将目标目录的内容与某些源目录和文件同步。使用给定的操作配置 SyncSpec
,然后使用它来同步文件。
此方法类似于 Project.copy(org.gradle.api.Action)
任务,不同之处在于目标目录将只包含复制的文件。除非指定了保留选项,否则在复制文件之前将删除目标目录中存在的所有文件。
示例
project.sync { from 'my/shared/dependencyDir' into 'build/deps/compile' }
请注意,您可以保留目标目录中已存在的输出
project.sync { from 'source' into 'dest' preserve { include 'extraDir/**' include 'dir1/**' exclude 'dir1/extra.txt' } }
创建一个新的 FileTree
,其中包含给定 TAR 文件的内容。给定的 tarPath 路径可以是
- 一个
Resource
的实例 - 任何其他对象都会按
Project.file(java.lang.Object)
进行评估
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
除非传递了自定义的资源实现,否则 tar tree 会尝试根据文件扩展名猜测压缩格式。
您可以将此方法与 Project.copy(org.gradle.api.Action)
方法结合使用来解压 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' }
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
创建一个具有给定名称的任务并将其添加到此项目。调用此方法等同于使用空选项 map 调用 Project.task(java.util.Map, java.lang.String)
。
任务添加到项目后,它会作为项目的一个属性可用,以便您可以在构建文件中按名称引用该任务。更多详情请参阅 属性
如果此项目已存在同名任务,则抛出异常。
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的闭包来配置任务。
任务添加到项目后,它会作为项目的一个属性可用,以便您可以在构建文件中按名称引用该任务。更多详情请参阅 此处
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的操作来配置任务。
任务添加到项目后,它会作为项目的一个属性可用,以便您可以在构建文件中按名称引用该任务。更多详情请参阅 此处
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
创建一个具有给定名称的任务并将其添加到此项目。可以将创建选项的 map 传递给此方法来控制如何创建任务。以下选项可用
选项 | 描述 | 默认值 |
| 要创建的任务的类。 | DefaultTask |
| 替换现有任务? | false |
| 此任务依赖的任务名称或任务名称集合 | [] |
| 要添加到任务的闭包或 Action 。 | null |
| 任务的描述。 | null |
| 此任务所属的任务组。 | null |
任务添加到项目后,它会作为项目的一个属性可用,以便您可以在构建文件中按名称引用该任务。更多详情请参阅 此处
如果此项目已存在同名任务且 override
选项未设置为 true,则抛出异常。
注意:此方法已弃用,并将在 Gradle 的下一个主要版本中移除。
创建一个具有给定名称的任务并将其添加到此项目。在返回任务之前,执行给定的闭包来配置任务。可以将创建选项的 map 传递给此方法来控制如何创建任务。有关可用选项,请参见 Project.task(java.util.Map, java.lang.String)
。
任务添加到项目后,它会作为项目的一个属性可用,以便您可以在构建文件中按名称引用该任务。更多详情请参阅 此处
如果此项目已存在同名任务且 override
选项未设置为 true,则抛出异常。
将文件路径解析为 URI,相对于此项目项目目录。评估提供的路径对象,如 Project.file(java.lang.Object)
所述,但例外是支持任何 URI 方案,而不仅仅是 'file:' URI。
创建一个新的 FileTree
,其中包含给定 ZIP 文件的内容。给定的 zipPath 路径按照 Project.file(java.lang.Object)
进行评估。您可以将此方法与 Project.copy(org.gradle.api.Action)
方法结合使用来解压 ZIP 文件。
返回的文件树是惰性的,只有在查询其内容时才会扫描文件。此文件树也是“活的”(live),每次查询其内容时都会重新扫描文件。
void
appDirName
(String
appDirName)
允许更改应用目录。默认为 "src/main/application"。
EarPluginConvention
deploymentDescriptor
(Action
<? super DeploymentDescriptor
>
configureAction)
Action
<? super DeploymentDescriptor
>配置此 EAR 归档的部署描述符。
执行给定的 action 来配置部署描述符。
void
libDirName
(String
libDirName)
允许更改 EAR 文件中的库目录。默认为 "lib"。
针对此项目的 AntBuilder
执行给定的闭包。您可以在构建文件中使用此方法执行 ant 任务。AntBuild
作为闭包的委托传递给闭包。请参阅 javadoc 中 Project.getAnt()
的示例。
- 委派给
- 来自
ant
的AntBuilder
配置此项目的已发布构件。
此方法对此项目的 ArtifactHandler
执行给定的闭包。ArtifactHandler
作为闭包的 delegate 传递给闭包。
示例
configurations { //declaring new configuration that will be used to associate with artifacts schema } task schemaJar(type: Jar) { //some imaginary task that creates a jar artifact with the schema } //associating the task that produces the artifact with the configuration artifacts { //configuration name and the task: schema schemaJar }
- 委派给
- 来自
artifacts
的ArtifactHandler
配置此项目的构建脚本类路径。
执行给定的闭包来配置此项目的 ScriptHandler
。ScriptHandler
作为闭包的 delegate 传递给闭包。
- 委派给
- 来自
buildscript
的ScriptHandler
配置此项目的依赖配置。
此方法对此项目的 ConfigurationContainer
执行给定的闭包。ConfigurationContainer
作为闭包的 delegate 传递给闭包。
示例:参见 ConfigurationContainer
的文档
- 委派给
- 来自
configurations
的ConfigurationContainer
配置此项目的依赖。
此方法对此项目的 DependencyHandler
执行给定的闭包。DependencyHandler
作为闭包的 delegate 传递给闭包。
示例:参见 DependencyHandler
的文档
- 委派给
- 来自
dependencies
的DependencyHandler
配置此项目的仓库。
此方法对此项目的 RepositoryHandler
执行给定的闭包。RepositoryHandler
作为闭包的 delegate 传递给闭包。
- 委派给
- 来自
repositories
的RepositoryHandler
配置由 distribution 插件添加的 DistributionContainer
。
- 委派给
- 来自
distributions
的DistributionContainer
配置此 EAR 归档的部署描述符。
执行给定的闭包来配置部署描述符。DeploymentDescriptor
作为其 delegate 传递给闭包。
配置此项目的源集。
执行给定的闭包来配置 SourceSetContainer
。SourceSetContainer
作为其 delegate 传递给闭包。
请参阅下面的示例,了解如何访问 SourceSet
'main' 以及如何配置 SourceDirectorySet
'java' 以从编译中排除某些包。
plugins { id 'java' } sourceSets { main { java { exclude 'some/unwanted/package/**' } } }
- 委派给
- 来自
sourceSets
的SourceSetContainer
配置由 visual-studio 插件添加的 VisualStudioRootExtension
。