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
This commit is contained in:
parent
ad6de10f14
commit
e95bcfac34
|
|
@ -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…
Reference in New Issue