Skip to content

Commit

Permalink
Leverage constructor injection in Gradle extension plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
glefloch committed May 17, 2022
1 parent 9e4e596 commit 39ec8d0
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,18 @@ private void registerTasks(Project project, QuarkusExtensionConfiguration quarku
.getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME);

TaskProvider<ExtensionDescriptorTask> extensionDescriptorTask = tasks.register(EXTENSION_DESCRIPTOR_TASK_NAME,
ExtensionDescriptorTask.class, task -> {
JavaPluginConvention convention = project.getConvention().getPlugin(JavaPluginConvention.class);
SourceSet mainSourceSet = convention.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME);
task.setOutputResourcesDir(mainSourceSet.getOutput().getResourcesDir());
task.setInputResourcesDir(mainSourceSet.getResources().getSourceDirectories().getAsPath());
task.setQuarkusExtensionConfiguration(quarkusExt);
task.setClasspath(runtimeModuleClasspath);
});
ExtensionDescriptorTask.class, quarkusExt);
extensionDescriptorTask.configure(task -> {
JavaPluginConvention convention = project.getConvention().getPlugin(JavaPluginConvention.class);
SourceSet mainSourceSet = convention.getSourceSets().getByName(SourceSet.MAIN_SOURCE_SET_NAME);
task.setOutputResourcesDir(mainSourceSet.getOutput().getResourcesDir());
task.setInputResourcesDir(mainSourceSet.getResources().getSourceDirectories().getAsPath());
task.setClasspath(runtimeModuleClasspath);
});

TaskProvider<ValidateExtensionTask> validateExtensionTask = tasks.register(VALIDATE_EXTENSION_TASK_NAME,
ValidateExtensionTask.class, task -> {
task.setRuntimeModuleClasspath(runtimeModuleClasspath);
task.setQuarkusExtensionConfiguration(quarkusExt);
task.onlyIf(t -> !quarkusExt.isValidationDisabled().get());
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,14 @@
import io.quarkus.fs.util.ZipUtils;
import io.quarkus.maven.dependency.GACT;

import javax.inject.Inject;

/**
* Task that generates extension descriptor files.
*/
public class ExtensionDescriptorTask extends DefaultTask {

private QuarkusExtensionConfiguration quarkusExtensionConfiguration;
private final QuarkusExtensionConfiguration quarkusExtensionConfiguration;
private Configuration classpath;
private File outputResourcesDir;
private String inputResourcesDir;
Expand All @@ -53,7 +55,10 @@ public class ExtensionDescriptorTask extends DefaultTask {
private static final String ARTIFACT_ID = "artifact-id";
private static final String METADATA = "metadata";

public ExtensionDescriptorTask() {
@Inject
public ExtensionDescriptorTask(QuarkusExtensionConfiguration quarkusExtensionConfiguration) {
this.quarkusExtensionConfiguration = quarkusExtensionConfiguration;

setDescription("Generate extension descriptor file");
setGroup("quarkus");
}
Expand All @@ -66,10 +71,6 @@ public void setInputResourcesDir(String inputResourcesDir) {
this.inputResourcesDir = inputResourcesDir;
}

public void setQuarkusExtensionConfiguration(QuarkusExtensionConfiguration quarkusExtensionConfiguration) {
this.quarkusExtensionConfiguration = quarkusExtensionConfiguration;
}

public void setClasspath(Configuration classpath) {
this.classpath = classpath;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

public class ValidateExtensionTask extends DefaultTask {

private QuarkusExtensionConfiguration extensionConfiguration;
private Configuration runtimeModuleClasspath;
private Configuration deploymentModuleClasspath;

Expand All @@ -29,10 +28,6 @@ public ValidateExtensionTask() {
setGroup("quarkus");
}

public void setQuarkusExtensionConfiguration(QuarkusExtensionConfiguration extensionConfiguration) {
this.extensionConfiguration = extensionConfiguration;
}

@Internal
public Configuration getRuntimeModuleClasspath() {
return this.runtimeModuleClasspath;
Expand Down

0 comments on commit 39ec8d0

Please sign in to comment.