From 050969fa8aea1283c2636eee4c16bad4b8658a57 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Wed, 10 Aug 2016 13:56:43 +0200 Subject: [PATCH] Use milestone of reactive starter This commit makes sure that if a fixed release of Spring Boot is used, the milestone version of the reactive starter is used as well. --- ...ReactiveProjectRequestPostProcessor.groovy | 10 ++++-- .../src/main/resources/application.yml | 8 ++++- ...iveProjectRequestPostProcessorTests.groovy | 32 +++++++++++++++++-- 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/initializr-service/src/main/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessor.groovy b/initializr-service/src/main/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessor.groovy index 51001362..a9077d0a 100644 --- a/initializr-service/src/main/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessor.groovy +++ b/initializr-service/src/main/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessor.groovy @@ -23,8 +23,14 @@ class ReactiveProjectRequestPostProcessor extends ProjectRequestPostProcessorAda // No need to override those versions with Gradle if ('maven'.equals(request.build)) { - request.buildProperties.versions['spring.version'] = { '5.0.0.BUILD-SNAPSHOT' } - request.buildProperties.versions['reactor.version'] = { '3.0.0.BUILD-SNAPSHOT' } + if (request.bootVersion.contains('SNAPSHOT')) { + request.buildProperties.versions['spring.version'] = { '5.0.0.BUILD-SNAPSHOT' } + request.buildProperties.versions['reactor.version'] = { '3.0.0.BUILD-SNAPSHOT' } + } + else { + request.buildProperties.versions['spring.version'] = { '5.0.0.M1' } + request.buildProperties.versions['reactor.version'] = { '3.0.0.RC1' } + } } } } diff --git a/initializr-service/src/main/resources/application.yml b/initializr-service/src/main/resources/application.yml index 9b27f7a0..1f8e1756 100644 --- a/initializr-service/src/main/resources/application.yml +++ b/initializr-service/src/main/resources/application.yml @@ -46,8 +46,14 @@ initializr: experimental-reactive-bom: groupId: org.springframework.boot.experimental artifactId: spring-boot-dependencies-web-reactive - version: 0.1.0.BUILD-SNAPSHOT repositories: spring-snapshots,spring-milestones + mappings: + - versionRange: "[1.4.0.M1, 1.4.1.M1)" + version: 0.1.0.M1 + repositories: spring-milestones + - versionRange: "1.4.1.BUILD-SNAPSHOT" + version: 0.1.0.BUILD-SNAPSHOT + repositories: spring-snapshots,spring-milestones scs-bom: groupId: io.pivotal.spring.cloud artifactId: spring-cloud-services-dependencies diff --git a/initializr-service/src/test/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessorTests.groovy b/initializr-service/src/test/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessorTests.groovy index dd7b0b4e..0cd781ea 100644 --- a/initializr-service/src/test/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessorTests.groovy +++ b/initializr-service/src/test/groovy/io/spring/initializr/service/extension/ReactiveProjectRequestPostProcessorTests.groovy @@ -53,7 +53,16 @@ class ReactiveProjectRequestPostProcessorTests { @Test void versionsAreOverriddenMaven() { ProjectRequest request = createProjectRequest('experimental-web-reactive') - request.bootVersion = '1.4.0.BUILD-SNAPSHOT' + request.bootVersion = '1.4.0.RELEASE' + generateMavenPom(request) + .hasProperty('spring.version', '5.0.0.M1') + .hasProperty('reactor.version', '3.0.0.RC1') + } + + @Test + void versionsAreOverriddenWithSnapshotMaven() { + ProjectRequest request = createProjectRequest('experimental-web-reactive') + request.bootVersion = '1.4.1.BUILD-SNAPSHOT' generateMavenPom(request) .hasProperty('spring.version', '5.0.0.BUILD-SNAPSHOT') .hasProperty('reactor.version', '3.0.0.BUILD-SNAPSHOT') @@ -71,7 +80,15 @@ class ReactiveProjectRequestPostProcessorTests { @Test void bomIsAddedMaven() { ProjectRequest request = createProjectRequest('experimental-web-reactive') - request.bootVersion = '1.4.0.BUILD-SNAPSHOT' + request.bootVersion = '1.4.0.RELEASE' + generateMavenPom(request).hasBom('org.springframework.boot.experimental', + 'spring-boot-dependencies-web-reactive', '0.1.0.M1') + } + + @Test + void bomIsAddedWithSnapshotMaven() { + ProjectRequest request = createProjectRequest('experimental-web-reactive') + request.bootVersion = '1.4.1.BUILD-SNAPSHOT' generateMavenPom(request).hasBom('org.springframework.boot.experimental', 'spring-boot-dependencies-web-reactive', '0.1.0.BUILD-SNAPSHOT') } @@ -79,7 +96,16 @@ class ReactiveProjectRequestPostProcessorTests { @Test void bomIsAddedGradle() { ProjectRequest request = createProjectRequest('experimental-web-reactive') - request.bootVersion = '1.4.0.BUILD-SNAPSHOT' + request.bootVersion = '1.4.0.RELEASE' + generateGradleBuild(request).contains("dependencyManagement {") + .contains("imports {") + .contains("mavenBom \"org.springframework.boot.experimental:spring-boot-dependencies-web-reactive:0.1.0.M1\"") + } + + @Test + void bomIsAddedWithSnapshotGradle() { + ProjectRequest request = createProjectRequest('experimental-web-reactive') + request.bootVersion = '1.4.1.BUILD-SNAPSHOT' generateGradleBuild(request).contains("dependencyManagement {") .contains("imports {") .contains("mavenBom \"org.springframework.boot.experimental:spring-boot-dependencies-web-reactive:0.1.0.BUILD-SNAPSHOT\"")