Skip to content

Commit 70c4bae

Browse files
committed
Merge branch '2.2.x'
Closes gh-21341
2 parents 1560c66 + 386d678 commit 70c4bae

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import org.gradle.api.provider.Property;
3737
import org.gradle.api.provider.Provider;
3838
import org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator;
39+
import org.gradle.jvm.application.tasks.CreateStartScripts;
40+
import org.gradle.util.GradleVersion;
3941

4042
import org.springframework.boot.gradle.tasks.application.CreateBootStartScripts;
4143

@@ -53,8 +55,8 @@ public void execute(Project project) {
5355
DistributionContainer distributions = project.getExtensions().getByType(DistributionContainer.class);
5456
Distribution distribution = distributions.create("boot");
5557
configureBaseNameConvention(project, applicationConvention, distribution);
56-
CreateBootStartScripts bootStartScripts = project.getTasks().create("bootStartScripts",
57-
CreateBootStartScripts.class);
58+
CreateStartScripts bootStartScripts = project.getTasks().create("bootStartScripts",
59+
determineCreateStartScriptsClass());
5860
bootStartScripts
5961
.setDescription("Generates OS-specific start scripts to run the project as a Spring Boot application.");
6062
((TemplateBasedScriptGenerator) bootStartScripts.getUnixStartScriptGenerator())
@@ -79,6 +81,14 @@ public void execute(Project project) {
7981
distribution.getContents().with(binCopySpec);
8082
}
8183

84+
private Class<? extends CreateStartScripts> determineCreateStartScriptsClass() {
85+
return isGradle64OrLater() ? CreateStartScripts.class : CreateBootStartScripts.class;
86+
}
87+
88+
private boolean isGradle64OrLater() {
89+
return GradleVersion.current().getBaseVersion().compareTo(GradleVersion.version("6.4")) >= 0;
90+
}
91+
8292
@SuppressWarnings("unchecked")
8393
private void configureBaseNameConvention(Project project, ApplicationPluginConvention applicationConvention,
8494
Distribution distribution) {

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/ApplicationPluginActionIntegrationTests.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ void createsBootStartScriptsTaskUsesApplicationPluginsDefaultJvmOpts() {
7979

8080
@TestTemplate
8181
void zipDistributionForJarCanBeBuilt() throws IOException {
82-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistZip")
83-
.task(":bootDistZip").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
82+
assertThat(this.gradleBuild.build("bootDistZip").task(":bootDistZip").getOutcome())
83+
.isEqualTo(TaskOutcome.SUCCESS);
8484
String name = this.gradleBuild.getProjectDir().getName();
8585
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/" + name + "-boot.zip");
8686
assertThat(distribution).isFile();
@@ -91,8 +91,8 @@ void zipDistributionForJarCanBeBuilt() throws IOException {
9191

9292
@TestTemplate
9393
void tarDistributionForJarCanBeBuilt() throws IOException {
94-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistTar")
95-
.task(":bootDistTar").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
94+
assertThat(this.gradleBuild.build("bootDistTar").task(":bootDistTar").getOutcome())
95+
.isEqualTo(TaskOutcome.SUCCESS);
9696
String name = this.gradleBuild.getProjectDir().getName();
9797
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/" + name + "-boot.tar");
9898
assertThat(distribution).isFile();
@@ -103,8 +103,8 @@ void tarDistributionForJarCanBeBuilt() throws IOException {
103103

104104
@TestTemplate
105105
void zipDistributionForWarCanBeBuilt() throws IOException {
106-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistZip")
107-
.task(":bootDistZip").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
106+
assertThat(this.gradleBuild.build("bootDistZip").task(":bootDistZip").getOutcome())
107+
.isEqualTo(TaskOutcome.SUCCESS);
108108
String name = this.gradleBuild.getProjectDir().getName();
109109
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/" + name + "-boot.zip");
110110
assertThat(distribution).isFile();
@@ -115,8 +115,8 @@ void zipDistributionForWarCanBeBuilt() throws IOException {
115115

116116
@TestTemplate
117117
void tarDistributionForWarCanBeBuilt() throws IOException {
118-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistTar")
119-
.task(":bootDistTar").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
118+
assertThat(this.gradleBuild.build("bootDistTar").task(":bootDistTar").getOutcome())
119+
.isEqualTo(TaskOutcome.SUCCESS);
120120
String name = this.gradleBuild.getProjectDir().getName();
121121
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/" + name + "-boot.tar");
122122
assertThat(distribution).isFile();
@@ -127,8 +127,8 @@ void tarDistributionForWarCanBeBuilt() throws IOException {
127127

128128
@TestTemplate
129129
void applicationNameCanBeUsedToCustomizeDistributionName() throws IOException {
130-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistTar")
131-
.task(":bootDistTar").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
130+
assertThat(this.gradleBuild.build("bootDistTar").task(":bootDistTar").getOutcome())
131+
.isEqualTo(TaskOutcome.SUCCESS);
132132
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/custom-boot.tar");
133133
assertThat(distribution).isFile();
134134
String name = this.gradleBuild.getProjectDir().getName();
@@ -139,8 +139,8 @@ void applicationNameCanBeUsedToCustomizeDistributionName() throws IOException {
139139

140140
@TestTemplate
141141
void scriptsHaveCorrectPermissions() throws IOException {
142-
assertThat(this.gradleBuild.expectDeprecationWarningsWithAtLeastVersion("6.4").build("bootDistTar")
143-
.task(":bootDistTar").getOutcome()).isEqualTo(TaskOutcome.SUCCESS);
142+
assertThat(this.gradleBuild.build("bootDistTar").task(":bootDistTar").getOutcome())
143+
.isEqualTo(TaskOutcome.SUCCESS);
144144
String name = this.gradleBuild.getProjectDir().getName();
145145
File distribution = new File(this.gradleBuild.getProjectDir(), "build/distributions/" + name + "-boot.tar");
146146
assertThat(distribution).isFile();

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/resources/org/springframework/boot/gradle/plugin/ApplicationPluginActionIntegrationTests.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ task('javaCompileEncoding') {
3131

3232
task('startScriptsDefaultJvmOpts') {
3333
doFirst {
34-
tasks.withType(org.springframework.boot.gradle.tasks.application.CreateBootStartScripts) {
35-
println "${name} defaultJvmOpts = ${defaultJvmOpts}"
34+
tasks.getByName("bootStartScripts") {
35+
println "$name defaultJvmOpts = $defaultJvmOpts"
3636
}
3737
}
3838
}

0 commit comments

Comments
 (0)