Gradle Lombok 插件使用教程
gradle-lombokGradle plugin for Lombok support项目地址:https://gitcode.com/gh_mirrors/gr/gradle-lombok
1. 项目的目录结构及介绍
Gradle Lombok 插件的 GitHub 仓库目录结构如下:
gradle-lombok/
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── org/
│ │ │ └── franzbecker/
│ │ │ └── gradle/
│ │ │ └── lombok/
│ │ │ ├── LombokPlugin.java
│ │ │ └── tasks/
│ │ │ └── Delombok.java
│ │ └── resources/
│ │ └── META-INF/
│ │ └── gradle-plugins/
│ │ └── org.franzbecker.gradle-lombok.properties
│ └── test/
│ ├── java/
│ │ └── org/
│ │ └── franzbecker/
│ │ └── gradle/
│ │ └── lombok/
│ │ ├── LombokPluginTest.java
│ │ └── tasks/
│ │ └── DelombokTest.java
│ └── resources/
├── build.gradle
├── gradle.properties
├── settings.gradle
├── LICENSE
├── README.md
└── .gitignore
目录结构介绍
gradle/
:包含 Gradle Wrapper 文件,用于确保项目使用特定版本的 Gradle。src/
:源代码目录,包含主代码和测试代码。main/
:主代码目录,包含插件的主要实现。java/
:Java 源代码目录。resources/
:资源文件目录,包含插件的配置文件。
test/
:测试代码目录,包含插件的测试用例。
build.gradle
:Gradle 构建脚本,定义项目的依赖和任务。gradle.properties
:Gradle 属性文件,包含项目的配置属性。settings.gradle
:Gradle 设置文件,定义项目的模块和仓库。LICENSE
:项目许可证文件。README.md
:项目说明文档。.gitignore
:Git 忽略文件配置。
2. 项目的启动文件介绍
项目的启动文件主要是 LombokPlugin.java
,位于 src/main/java/org/franzbecker/gradle/lombok/LombokPlugin.java
。
LombokPlugin.java 介绍
LombokPlugin.java
是 Gradle Lombok 插件的主要实现类。它实现了 Plugin<Project>
接口,并在 apply
方法中定义了插件的主要逻辑,包括添加 Lombok 依赖和配置 Delombok 任务。
package org.franzbecker.gradle.lombok;
import org.franzbecker.gradle.lombok.task.Delombok;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.tasks.compile.JavaCompile;
public class LombokPlugin implements Plugin<Project> {
@Override
public void apply(Project project) {
// 添加 Lombok 依赖
project.getDependencies().add("compileOnly", "org.projectlombok:lombok:1.18.16");
project.getDependencies().add("annotationProcessor", "org.projectlombok:lombok:1.18.16");
// 配置 Delombok 任务
project.getTasks().create("delombok", Delombok.class, delombok -> {
delombok.setGroup("lombok");
delombok.setDescription("Delomboks your code");
delombok.setSource(project.getProjectDir());
delombok.setDestinationDir(project.getBuildDir());
});
// 配置 JavaCompile 任务
project.getTasks().withType(JavaCompile.class, compile -> {
compile.getOptions().setAnnotationProcessorPath(project.getConfigurations().getByName("annotationProcessor"));
});
}
}
gradle-lombokGradle plugin for Lombok support项目地址:https://gitcode.com/gh_mirrors/gr/gradle-lombok