From c6f502cb9c98e3588ff35711c4c07be02ac800fb Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Thu, 30 Mar 2017 17:16:33 +0100 Subject: [PATCH] Apply the dependency management plugin in Boot 2.0 Gradle projects Closes gh-398 --- .../initializr/generator/ProjectGenerator.java | 6 ++++++ .../main/resources/templates/starter-build.gradle | 3 +++ .../initializr/generator/ProjectGeneratorTests.java | 12 ++++++++++++ 3 files changed, 21 insertions(+) diff --git a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java index da041c85..49011485 100644 --- a/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java +++ b/initializr-generator/src/main/java/io/spring/initializr/generator/ProjectGenerator.java @@ -56,6 +56,7 @@ import org.springframework.util.StreamUtils; * @author Dave Syer * @author Stephane Nicoll * @author Sebastien Deleuze + * @author Andy Wilkinson */ public class ProjectGenerator { @@ -73,6 +74,8 @@ public class ProjectGenerator { private static final Version VERSION_1_5_0_M1 = Version.parse("1.5.0.M1"); + private static final Version VERSION_2_0_0_BUILD_SNAPSHOT = Version.parse("2.0.0.BUILD-SNAPSHOT"); + @Autowired private ApplicationEventPublisher eventPublisher; @@ -417,6 +420,9 @@ public class ProjectGenerator { model.put("bootOneThreeAvailable", VERSION_1_3_0_M1 .compareTo(Version.safeParse(request.getBootVersion())) <= 0); + model.put("bootTwoZeroAvailable", VERSION_2_0_0_BUILD_SNAPSHOT + .compareTo(Version.safeParse(request.getBootVersion())) <= 0); + // Gradle plugin has changed again as from 1.4.2 model.put("springBootPluginName", (VERSION_1_4_2_M1 diff --git a/initializr-generator/src/main/resources/templates/starter-build.gradle b/initializr-generator/src/main/resources/templates/starter-build.gradle index 175416b1..6b913a0f 100644 --- a/initializr-generator/src/main/resources/templates/starter-build.gradle +++ b/initializr-generator/src/main/resources/templates/starter-build.gradle @@ -37,6 +37,9 @@ apply plugin: '{{springBootPluginName}}' {{^bootOneThreeAvailable}} apply plugin: 'io.spring.dependency-management' {{/bootOneThreeAvailable}} +{{#bootTwoZeroAvailable}} +apply plugin: 'io.spring.dependency-management' +{{/bootTwoZeroAvailable}} {{#war}} apply plugin: 'war' {{/war}} diff --git a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java index d1e9c07d..cd96bfed 100644 --- a/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java +++ b/initializr-generator/src/test/java/io/spring/initializr/generator/ProjectGeneratorTests.java @@ -41,6 +41,7 @@ import static org.junit.Assert.fail; * Tests for {@link ProjectGenerator} * * @author Stephane Nicoll + * @author Andy Wilkinson */ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests { @@ -510,6 +511,17 @@ public class ProjectGeneratorTests extends AbstractProjectGeneratorTests { .doesNotContain("apply plugin: 'spring-boot'"); } + @Test + public void gradleBuildAsFromSpringBoot20() { + ProjectRequest request = createProjectRequest("web"); + request.setBootVersion("2.0.0.BUILD-SNAPSHOT"); + generateGradleBuild(request) + .contains("springBootVersion = '2.0.0.BUILD-SNAPSHOT'") + .contains("apply plugin: 'org.springframework.boot'") + .doesNotContain("apply plugin: 'spring-boot'") + .contains("apply plugin: 'io.spring.dependency-management'"); + } + @Test public void mavenBom() { Dependency foo = Dependency.withId("foo", "org.acme", "foo");