fixed lombok plugin
This commit is contained in:
@@ -7,11 +7,12 @@ import org.gradle.api.artifacts.Configuration;
|
|||||||
import org.gradle.api.artifacts.dsl.DependencyHandler;
|
import org.gradle.api.artifacts.dsl.DependencyHandler;
|
||||||
import org.gradle.api.model.ObjectFactory;
|
import org.gradle.api.model.ObjectFactory;
|
||||||
import org.gradle.api.plugins.JavaPlugin;
|
import org.gradle.api.plugins.JavaPlugin;
|
||||||
import org.gradle.api.plugins.JavaPluginConvention;
|
import org.gradle.api.plugins.JavaPluginExtension;
|
||||||
import org.gradle.api.provider.Provider;
|
import org.gradle.api.provider.Provider;
|
||||||
import org.gradle.api.tasks.SourceSet;
|
import org.gradle.api.tasks.SourceSet;
|
||||||
import org.gradle.api.tasks.SourceSetContainer;
|
import org.gradle.api.tasks.SourceSetContainer;
|
||||||
import org.gradle.api.tasks.TaskContainer;
|
import org.gradle.api.tasks.TaskContainer;
|
||||||
|
import org.gradle.api.tasks.TaskProvider;
|
||||||
import org.gradle.api.tasks.javadoc.Javadoc;
|
import org.gradle.api.tasks.javadoc.Javadoc;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -25,11 +26,11 @@ public class LombokPlugin implements Plugin<Project> {
|
|||||||
LombokExtension ext = project.getExtensions()
|
LombokExtension ext = project.getExtensions()
|
||||||
.create("lombok", LombokExtension.class,
|
.create("lombok", LombokExtension.class,
|
||||||
objectFactory.property(String.class)
|
objectFactory.property(String.class)
|
||||||
.convention((String) project.getExtensions().getExtraProperties().get("version.lombok"))
|
.convention(project.provider(
|
||||||
|
() -> (String) project.getExtensions().getExtraProperties().get("version.lombok")))
|
||||||
);
|
);
|
||||||
JavaPluginConvention javaPluginConvention = project.getConvention().getPlugin(JavaPluginConvention.class);
|
|
||||||
SourceSetContainer sourceSetContainer = javaPluginConvention.getSourceSets();
|
|
||||||
project.afterEvaluate(p -> {
|
project.afterEvaluate(p -> {
|
||||||
|
SourceSetContainer sourceSetContainer = project.getExtensions().findByType(JavaPluginExtension.class).getSourceSets();
|
||||||
Provider<Map<String, String>> dependencyNotationProvider = project.provider(() ->
|
Provider<Map<String, String>> dependencyNotationProvider = project.provider(() ->
|
||||||
Map.of("group", "org.projectlombok",
|
Map.of("group", "org.projectlombok",
|
||||||
"name", "lombok",
|
"name", "lombok",
|
||||||
@@ -60,16 +61,19 @@ public class LombokPlugin implements Plugin<Project> {
|
|||||||
if(javadocTask != null) {
|
if(javadocTask != null) {
|
||||||
String delombokTaskName = "delombok" + ss.getName().substring(0, 1).toUpperCase() + ss.getName().substring(1);
|
String delombokTaskName = "delombok" + ss.getName().substring(0, 1).toUpperCase() + ss.getName().substring(1);
|
||||||
File outputDir = new File(new File(project.getBuildDir(), "delombok"), ss.getName());
|
File outputDir = new File(new File(project.getBuildDir(), "delombok"), ss.getName());
|
||||||
Provider<Delombok> delombokTask = tasks.register(delombokTaskName,
|
Javadoc javadoc = (Javadoc) javadocTask;
|
||||||
|
TaskProvider<Delombok> delombokTaskProvider = tasks.register(delombokTaskName,
|
||||||
Delombok.class,
|
Delombok.class,
|
||||||
lombokConfiguration.getSingleFile(),
|
lombokConfiguration.getSingleFile(),
|
||||||
outputDir,
|
outputDir,
|
||||||
ss.getJava().getSrcDirs(),
|
ss.getJava().getSrcDirs(),
|
||||||
ss.getCompileClasspath().getAsPath()
|
ss.getCompileClasspath().getAsPath()
|
||||||
);
|
);
|
||||||
Javadoc javadoc = (Javadoc) javadocTask;
|
delombokTaskProvider.configure(delombokTask -> {
|
||||||
|
delombokTask.getInputs().files(ss.getAllSource().getSourceDirectories());
|
||||||
|
});
|
||||||
javadoc.setSource(outputDir);
|
javadoc.setSource(outputDir);
|
||||||
javadoc.getInputs().files(delombokTask);
|
javadoc.getInputs().files(delombokTaskProvider);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user