Skip to content

Commit

Permalink
Use configuration avoidance api when defining tasks (#58)
Browse files Browse the repository at this point in the history
  • Loading branch information
Robert Kruszewski authored Jun 9, 2022
1 parent 50a1470 commit e38e31f
Showing 1 changed file with 39 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
import java.util.Map;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.Task;
import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.Dependency;
import org.gradle.api.tasks.TaskProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand All @@ -23,21 +23,19 @@ public void apply(Project project) {
}

Configuration reportConfiguration = createReportConfiguration(project);
project.getAllprojects()
.forEach(
subProject -> {
subProject.getPluginManager().apply(UpdateVersionsPlugin.class);
Dependency dependency =
project.getDependencies()
.project(
Map.of(
"path",
subProject.getPath(),
"configuration",
UpdateVersionsPlugin.NEW_VERSIONS));
project.allprojects(
subProject -> {
subProject.getPluginManager().apply(UpdateVersionsPlugin.class);
Dependency dependency =
project.getDependencies()
.add(reportConfiguration.getName(), dependency);
});
.project(
Map.of(
"path",
subProject.getPath(),
"configuration",
UpdateVersionsPlugin.NEW_VERSIONS));
project.getDependencies().add(reportConfiguration.getName(), dependency);
});

project.getTasks()
.register(
Expand All @@ -62,19 +60,34 @@ public void apply(Project project) {
});

project.getTasks()
.create("updateGradleWrapper", UpdateGradleWrapperTask.class)
.setDescription("Uses result of checkNewGradleVersion to update Gradle wrapper");
.register(
"updateGradleWrapper",
UpdateGradleWrapperTask.class,
task -> {
task.setDescription(
"Uses result of checkNewGradleVersion to update Gradle wrapper");
});

Task gradleTask =
project.getTasks().create("checkNewGradleVersion", CheckNewGradleVersionTask.class);
gradleTask.setDescription("Checks for and reports on existence of a new Gradle version");
project.getTasks().getByName("checkNewVersions").dependsOn(gradleTask);
TaskProvider<CheckNewGradleVersionTask> gradleTask =
project.getTasks()
.register(
"checkNewGradleVersion",
CheckNewGradleVersionTask.class,
task -> {
task.setDescription(
"Checks for and reports on existence of a new Gradle version");
});
project.getTasks().named("checkNewVersions").configure(task -> task.dependsOn(gradleTask));

Task doAllUpdates = project.getTasks().create("updateAll", task -> {});
doAllUpdates.dependsOn(
project.getTasks().getByName("updateGradleWrapper"),
project.getTasks().getByName("updatePlugins"),
project.getTasks().getByName("updateVersionsProps"));
project.getTasks()
.register(
"updateAll",
task -> {
task.dependsOn(
project.getTasks().getByName("updateGradleWrapper"),
project.getTasks().getByName("updatePlugins"),
project.getTasks().getByName("updateVersionsProps"));
});
}

private static Configuration createReportConfiguration(Project project) {
Expand Down

0 comments on commit e38e31f

Please sign in to comment.