Browse Source

Configure the bootBuildInfo task lazily

Prior to this commit, the bootBuildInfo was configured eagerly.
Configuring it lazily prevent this task from being configured when not
explicitly needed. Also, the 'classes' and 'bootJar' tasks are now
lazily configured, as the bootBuildInfo task was causing them to be
configured eagerly.

See gh-23435
pull/23540/head
Lukas Cardot 5 years ago committed by Andy Wilkinson
parent
commit
e95bcfac34
  1. 10
      spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/dsl/SpringBootExtension.java

10
spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/dsl/SpringBootExtension.java

@ -96,16 +96,16 @@ public class SpringBootExtension { @@ -96,16 +96,16 @@ public class SpringBootExtension {
TaskProvider<BuildInfo> bootBuildInfo = tasks.register("bootBuildInfo", BuildInfo.class,
this::configureBuildInfoTask);
this.project.getPlugins().withType(JavaPlugin.class, (plugin) -> {
tasks.getByName(JavaPlugin.CLASSES_TASK_NAME).dependsOn(bootBuildInfo.get());
this.project.afterEvaluate((evaluated) -> {
BuildInfoProperties properties = bootBuildInfo.get().getProperties();
tasks.named(JavaPlugin.CLASSES_TASK_NAME).configure((task) -> task.dependsOn(bootBuildInfo));
this.project.afterEvaluate((evaluated) -> bootBuildInfo.configure((buildInfo) -> {
BuildInfoProperties properties = buildInfo.getProperties();
if (properties.getArtifact() == null) {
properties.setArtifact(determineArtifactBaseName());
}
});
}));
});
if (configurer != null) {
configurer.execute(bootBuildInfo.get());
bootBuildInfo.configure(configurer);
}
}

Loading…
Cancel
Save