Skip to content

Commit f134358

Browse files
committed
Merge branch '2.5.x' into 2.6.x
Closes gh-29817
2 parents 64e24a0 + 7f196d3 commit f134358

File tree

3 files changed

+31
-22
lines changed

3 files changed

+31
-22
lines changed

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/ApplicationPluginAction.java

+19-11
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.gradle.api.file.FileCollection;
3232
import org.gradle.api.plugins.ApplicationPlugin;
3333
import org.gradle.api.plugins.ApplicationPluginConvention;
34+
import org.gradle.api.tasks.TaskProvider;
3435
import org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator;
3536
import org.gradle.jvm.application.tasks.CreateStartScripts;
3637

@@ -49,29 +50,36 @@ public void execute(Project project) {
4950
Distribution distribution = distributions.create("boot");
5051
distribution.getDistributionBaseName()
5152
.convention((project.provider(() -> applicationConvention.getApplicationName() + "-boot")));
52-
CreateStartScripts bootStartScripts = project.getTasks().create("bootStartScripts", CreateStartScripts.class);
53-
bootStartScripts
53+
TaskProvider<CreateStartScripts> bootStartScripts = project.getTasks().register("bootStartScripts",
54+
CreateStartScripts.class,
55+
(task) -> configureCreateStartScripts(project, applicationConvention, distribution, task));
56+
CopySpec binCopySpec = project.copySpec().into("bin").from(bootStartScripts);
57+
binCopySpec.setFileMode(0755);
58+
distribution.getContents().with(binCopySpec);
59+
}
60+
61+
private void configureCreateStartScripts(Project project, ApplicationPluginConvention applicationConvention,
62+
Distribution distribution, CreateStartScripts createStartScripts) {
63+
createStartScripts
5464
.setDescription("Generates OS-specific start scripts to run the project as a Spring Boot application.");
55-
((TemplateBasedScriptGenerator) bootStartScripts.getUnixStartScriptGenerator())
65+
((TemplateBasedScriptGenerator) createStartScripts.getUnixStartScriptGenerator())
5666
.setTemplate(project.getResources().getText().fromString(loadResource("/unixStartScript.txt")));
57-
((TemplateBasedScriptGenerator) bootStartScripts.getWindowsStartScriptGenerator())
67+
((TemplateBasedScriptGenerator) createStartScripts.getWindowsStartScriptGenerator())
5868
.setTemplate(project.getResources().getText().fromString(loadResource("/windowsStartScript.txt")));
5969
project.getConfigurations().all((configuration) -> {
6070
if ("bootArchives".equals(configuration.getName())) {
6171
CopySpec libCopySpec = project.copySpec().into("lib")
6272
.from((Callable<FileCollection>) () -> configuration.getArtifacts().getFiles());
6373
libCopySpec.setFileMode(0644);
6474
distribution.getContents().with(libCopySpec);
65-
bootStartScripts.setClasspath(configuration.getArtifacts().getFiles());
75+
createStartScripts.setClasspath(configuration.getArtifacts().getFiles());
6676
}
6777
});
68-
bootStartScripts.getConventionMapping().map("outputDir", () -> new File(project.getBuildDir(), "bootScripts"));
69-
bootStartScripts.getConventionMapping().map("applicationName", applicationConvention::getApplicationName);
70-
bootStartScripts.getConventionMapping().map("defaultJvmOpts",
78+
createStartScripts.getConventionMapping().map("outputDir",
79+
() -> new File(project.getBuildDir(), "bootScripts"));
80+
createStartScripts.getConventionMapping().map("applicationName", applicationConvention::getApplicationName);
81+
createStartScripts.getConventionMapping().map("defaultJvmOpts",
7182
applicationConvention::getApplicationDefaultJvmArgs);
72-
CopySpec binCopySpec = project.copySpec().into("bin").from(bootStartScripts);
73-
binCopySpec.setFileMode(0755);
74-
distribution.getContents().with(binCopySpec);
7583
}
7684

7785
@Override

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/JavaPluginAction.java

+9-8
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,16 @@ private JavaPluginConvention javaPluginConvention(Project project) {
167167
}
168168

169169
private void configureUtf8Encoding(Project project) {
170-
project.afterEvaluate((evaluated) -> evaluated.getTasks().withType(JavaCompile.class, (compile) -> {
171-
if (compile.getOptions().getEncoding() == null) {
172-
compile.getOptions().setEncoding("UTF-8");
173-
}
174-
}));
170+
project.afterEvaluate(
171+
(evaluated) -> evaluated.getTasks().withType(JavaCompile.class).configureEach((compile) -> {
172+
if (compile.getOptions().getEncoding() == null) {
173+
compile.getOptions().setEncoding("UTF-8");
174+
}
175+
}));
175176
}
176177

177178
private void configureParametersCompilerArg(Project project) {
178-
project.getTasks().withType(JavaCompile.class, (compile) -> {
179+
project.getTasks().withType(JavaCompile.class).configureEach((compile) -> {
179180
List<String> compilerArgs = compile.getOptions().getCompilerArgs();
180181
if (!compilerArgs.contains(PARAMETERS_COMPILER_ARG)) {
181182
compilerArgs.add(PARAMETERS_COMPILER_ARG);
@@ -184,8 +185,8 @@ private void configureParametersCompilerArg(Project project) {
184185
}
185186

186187
private void configureAdditionalMetadataLocations(Project project) {
187-
project.afterEvaluate((evaluated) -> evaluated.getTasks().withType(JavaCompile.class,
188-
this::configureAdditionalMetadataLocations));
188+
project.afterEvaluate((evaluated) -> evaluated.getTasks().withType(JavaCompile.class)
189+
.configureEach(this::configureAdditionalMetadataLocations));
189190
}
190191

191192
private void configureAdditionalMetadataLocations(JavaCompile compile) {

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/KotlinPluginAction.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2021 the original author or authors.
2+
* Copyright 2012-2022 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -47,8 +47,8 @@ private String getKotlinVersion(Project project) {
4747
}
4848

4949
private void enableJavaParametersOption(Project project) {
50-
project.getTasks().withType(KotlinCompile.class,
51-
(compile) -> compile.getKotlinOptions().setJavaParameters(true));
50+
project.getTasks().withType(KotlinCompile.class)
51+
.configureEach((compile) -> compile.getKotlinOptions().setJavaParameters(true));
5252
}
5353

5454
@Override

0 commit comments

Comments
 (0)