From a2cf2cd87fd8a85d5e7ba5abf09720845b83332f Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Wed, 12 Sep 2018 17:06:03 +0100 Subject: [PATCH] Raise the minimum supported version of Gradle to 4.4 Closes gh-14418 --- .../src/main/asciidoc/build-tool-plugins.adoc | 2 +- .../src/main/asciidoc/getting-started.adoc | 6 +++--- .../gradle/wrapper/gradle-wrapper.jar | Bin 54208 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 3 +-- .../spring-boot-gradle-plugin/gradlew | 6 +++--- .../src/main/asciidoc/index.adoc | 2 +- .../boot/gradle/plugin/SpringBootPlugin.java | 4 ++-- .../tasks/bundling/BootZipCopyAction.java | 2 +- .../junit/GradleCompatibilitySuite.java | 4 ++-- .../SpringBootPluginIntegrationTests.java | 10 +++++----- .../bundling/AbstractBootArchiveTests.java | 3 +-- 11 files changed, 20 insertions(+), 22 deletions(-) diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc index 4a29dbe0a8..0c45a612b7 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/build-tool-plugins.adoc @@ -168,7 +168,7 @@ Advanced configuration options and examples are available in the == Spring Boot Gradle Plugin The Spring Boot Gradle Plugin provides Spring Boot support in Gradle, letting you package executable jar or war archives, run Spring Boot applications, and use the dependency -management provided by `spring-boot-dependencies`. It requires Gradle 4.0 or later. Please +management provided by `spring-boot-dependencies`. It requires Gradle 4.4 or later. Please refer to the plugin's documentation to learn more: * Reference ({spring-boot-gradle-plugin}/reference/html[HTML] and diff --git a/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc b/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc index ff6b50b31b..2e2ad1ca70 100644 --- a/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc +++ b/spring-boot-project/spring-boot-docs/src/main/asciidoc/getting-started.adoc @@ -50,7 +50,7 @@ Explicit build support is provided for the following build tools: |3.2+ |Gradle -|4.x +|4.4+ |=== @@ -199,8 +199,8 @@ scope. [[getting-started-gradle-installation]] ==== Gradle Installation -Spring Boot is compatible with Gradle 4. If you do not already have Gradle installed, you -can follow the instructions at https://gradle.org. +Spring Boot is compatible with Gradle 4.4 and later. If you do not already have Gradle +installed, you can follow the instructions at https://gradle.org. Spring Boot dependencies can be declared by using the `org.springframework.boot` `group`. Typically, your project declares dependencies to one or more diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.jar b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.jar index 372a96843c88301252bbfac3291eda2ad0427492..01b8bf6b1f99cad9213fc495b33ad5bbab8efd20 100644 GIT binary patch delta 32243 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 yZor8DsEF4GB~awIlTzZrr4!a(0&m;Mh0Bgr)Y delta 32229 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ßzX{_~Q6>226;pynY1eNasQvICV&vVhgK z6o0+Ze>bWB_kpZ(L14PSzL7tQ^w-YyU);q@-$coXAOxOIAiX(({@E7Y5J diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.properties b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.properties index cbf13171d5..2c2bbe5f9a 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.properties +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Thu Jul 27 14:32:22 BST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.4.1-bin.zip diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradlew b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradlew index 4453ccea33..cccdd3d517 100755 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradlew +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/asciidoc/index.adoc b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/asciidoc/index.adoc index 82fb802dc5..d16ec8fb8c 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/asciidoc/index.adoc +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/asciidoc/index.adoc @@ -37,7 +37,7 @@ Andy Wilkinson The Spring Boot Gradle Plugin provides Spring Boot support in https://gradle.org[Gradle], allowing you to package executable jar or war archives, run Spring Boot applications, and use the dependency management provided by `spring-boot-dependencies`. Spring Boot's -Gradle plugin requires Gradle 4.0 or later. +Gradle plugin requires Gradle 4.4 or later. In addition to this user guide, {api-documentation}[API documentation] is also available. diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java index f278410a57..c9b2eca0be 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/SpringBootPlugin.java @@ -84,8 +84,8 @@ public class SpringBootPlugin implements Plugin { } private void verifyGradleVersion() { - if (GradleVersion.current().compareTo(GradleVersion.version("4.0")) < 0) { - throw new GradleException("Spring Boot plugin requires Gradle 4.0 or later." + if (GradleVersion.current().compareTo(GradleVersion.version("4.4")) < 0) { + throw new GradleException("Spring Boot plugin requires Gradle 4.4 or later." + " The current version is " + GradleVersion.current()); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java index 47dd1b3eac..b7b6e3a844 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/tasks/bundling/BootZipCopyAction.java @@ -53,7 +53,7 @@ import org.springframework.boot.loader.tools.FileUtils; */ class BootZipCopyAction implements CopyAction { - private static final long CONSTANT_TIME_FOR_ZIP_ENTRIES = new GregorianCalendar(1980, + static final long CONSTANT_TIME_FOR_ZIP_ENTRIES = new GregorianCalendar(1980, Calendar.FEBRUARY, 1, 0, 0, 0).getTimeInMillis(); private final File output; diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilitySuite.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilitySuite.java index c25211041d..5e8b05199f 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilitySuite.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/junit/GradleCompatibilitySuite.java @@ -38,8 +38,8 @@ import org.springframework.boot.gradle.testkit.GradleBuild; */ public final class GradleCompatibilitySuite extends Suite { - private static final List GRADLE_VERSIONS = Arrays.asList("default", "4.1", - "4.2", "4.3", "4.4.1", "4.5.1", "4.6", "4.7", "4.8.1", "4.9", "4.10"); + private static final List GRADLE_VERSIONS = Arrays.asList("default", "4.5.1", + "4.6", "4.7", "4.8.1", "4.9", "4.10"); public GradleCompatibilitySuite(Class clazz) throws InitializationError { super(clazz, createRunners(clazz)); diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginIntegrationTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginIntegrationTests.java index 0dd6d0ff16..33ae6092d8 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginIntegrationTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/plugin/SpringBootPluginIntegrationTests.java @@ -39,19 +39,19 @@ public class SpringBootPluginIntegrationTests { @Test public void failFastWithVersionOfGradleLowerThanRequired() { - BuildResult result = this.gradleBuild.gradleVersion("3.5.1").buildAndFail(); - assertThat(result.getOutput()).contains("Spring Boot plugin requires Gradle 4.0" - + " or later. The current version is Gradle 3.5.1"); + BuildResult result = this.gradleBuild.gradleVersion("4.3").buildAndFail(); + assertThat(result.getOutput()).contains("Spring Boot plugin requires Gradle 4.4" + + " or later. The current version is Gradle 4.3"); } @Test public void succeedWithVersionOfGradleHigherThanRequired() { - this.gradleBuild.gradleVersion("4.0.1").build(); + this.gradleBuild.gradleVersion("4.4.1").build(); } @Test public void succeedWithVersionOfGradleMatchingWhatIsRequired() { - this.gradleBuild.gradleVersion("4.0").build(); + this.gradleBuild.gradleVersion("4.4").build(); } @Test diff --git a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java index f3e6c7a6d8..7b4682a3e6 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/test/java/org/springframework/boot/gradle/tasks/bundling/AbstractBootArchiveTests.java @@ -37,7 +37,6 @@ import org.gradle.api.Project; import org.gradle.api.tasks.bundling.AbstractArchiveTask; import org.gradle.api.tasks.bundling.Jar; import org.gradle.testfixtures.ProjectBuilder; -import org.gradle.util.GUtil; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -281,7 +280,7 @@ public abstract class AbstractBootArchiveTests { while (entries.hasMoreElements()) { JarEntry entry = entries.nextElement(); assertThat(entry.getTime()) - .isEqualTo(GUtil.CONSTANT_TIME_FOR_ZIP_ENTRIES); + .isEqualTo(BootZipCopyAction.CONSTANT_TIME_FOR_ZIP_ENTRIES); } } }