引言

目标受众:从初级到中级的 Gradle 开发者。

启动一个新的 Gradle 插件项目可能会让人感到望而生畏。幸运的是,Gradle 提供了一个强大的交互式助手,任务`init`, 它生成一个完整、干净且可直接使用的项目结构。本指南将向您展示如何使用此工具创建健康的插件基础,解释其结构,并演示如何启动初始的构建任务。

步骤 1 : 启动项目助手

命令`gradle init`是起点。它启动一个命令行助手,会向您提出一系列问题以配置项目。

在空文件夹中打开终端并执行:

gradle init

助手会为您指引。以下是为使用 Kotlin 编写的 Gradle 插件所需做出的选择:

  1. 选择要生成的项目类型:选择`Gradle plugin`.

  2. 选择实现语言:选择`Kotlin`.

  3. 选择构建脚本DSL:选择`Kotlin`.

  4. 项目名称:请输入您的项目名称 (例如:site-baker).

  5. 插件 ID:为您的插件提供一个唯一的标识符 (例如:com.cheroliv.site-baker)

  6. �插件类:请指定实现类的名称 (例如:com.cheroliv.SiteBakerPlugin).

完成后,Gradle 生成完整的文件树。

init gradle
Figure 1. 初始化过程的图表

步骤 2:理解生成的结构

助手创建了一个多模块项目结构,将根项目与插件本身的源代码分开。

.
├── gradle/
│   └── wrapper/
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── plugin/
│   ├── build.gradle.kts
│   └── src/
│       ├── main/
│       │   └── kotlin/
│       │       └── com/cheroliv/SiteBakerPlugin.kt
│       ├── test/
│       │   └── kotlin/
│       │       └── com/cheroliv/SiteBakerPluginTest.kt
│       └── functionalTest/
│           └── kotlin/
│               └── com/cheroliv/SiteBakerPluginFunctionalTest.kt
└── settings.gradle.kts

关键文件和文件夹

  • settings.gradle.kts: 此根目录文件定义了构建中包含的模块。在这里,它包含了子项目。plugin。

[source,kotlin] (empty) rootProject.name = "site-baker include("plugin") ----


相关文章