通过开发设置文件了解创作 Gradle 的基础知识。

在本节中,您将:

  • 了解设置对象

  • 了解设置文件

  • 了解 Gradle 脚本

步骤 0. 开始之前

  1. 您在第 1 部分中初始化了 Java 应用程序。

  2. 您从第 2 部分了解了 Gradle 构建生命周期。

  3. 您在第 3 部分中添加了一个子项目和一个单独的构建。

步骤 1.Gradle 脚本

构建脚本和设置文件是代码。它们是用 Kotlin 或 Groovy 编写的。

您可以使用Kotlin DSLGroovy DSLGradle API来编写脚本。

Gradle 脚本中可以使用的方法主要包括:

  • Gradle API - 例如getRootProject()来自设置 API

  • DSL 中定义的块 - 例如KotlinSettingsScriptplugins{}中的块

  • 由插件定义的扩展 - 例如应用时由插件提供的implementation()扩展api()java

步骤 2.Settings对象

设置文件是每个 Gradle 构建的入口点。

在初始化阶段,Gradle 在项目根目录中查找设置文件。

settings.gradle(.kts)当找到设置文件 时,Gradle 会实例化一个Settings对象。

设置对象的目的之一是允许您声明要包含在构建中的所有项目。

您可以直接在设置文件中使用“设置”界面上的任何方法和属性。

例如:

includeBuild("some-build")                         // Delegates to Settings.includeBuild()
reportsDir = findProject("/myInternalProject")     // Delegates to Settings.findProject()
includeBuild('some-build')                         // Delegates to Settings.includeBuild()
reportsDir = findProject('/myInternalProject')     // Delegates to Settings.findProject()

步骤 3. 设置文件

让我们分解一下项目根目录中的设置文件:

settings.gradle.kts
plugins {                                                                   (1)
    id("org.gradle.toolchains.foojay-resolver-convention") version "0.7.0"  (2)
}

rootProject.name = "authoring-tutorial"                                     (3)

include("app")                                                              (4)
include("lib")

includeBuild("gradle/license-plugin")                                       (5)
1 plugins({}) from the PluginDependenciesSpec API
2 id() method from the PluginDependenciesSpec API
3 getRootProject() method from the Settings API
4 include() method from the Settings API
5 includeBuild() method from the Settings API
settings.gradle
plugins {                                                                   (1)
    id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'   (2)
}

rootProject.name = 'running-tutorial-groovy'                                (3)

include('app')                                                              (4)
include('lib')

includeBuild('gradle/license-plugin')                                       (5)
1 plugins({}) method from KotlinSettingsScript in the Kotlin DSL
2 id() method from the PluginDependenciesSpec API
3 getRootProject() method from the Settings API
4 include() method from the Settings API
5 includeBuild() method from the Settings API

下一步: 编写构建脚本>>