From 21978af96c8d07b64e3b71e81bfa0a95e7960afb Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Tue, 28 Jan 2020 19:59:08 +0100 Subject: [PATCH] Added support for the Spring Cloud Load Balancer module fixes gh-1312 --- .../complete/contract-rest-client/pom.xml | 2 +- .../complete/contract-rest-service/pom.xml | 2 +- .../initial/contract-rest-client/pom.xml | 2 +- .../initial/contract-rest-service/pom.xml | 2 +- .../contracts/com/example/server/pom.xml | 2 +- .../dsl/http-client/gradle.properties | 2 +- samples/standalone/dsl/http-client/pom.xml | 2 +- .../dsl/http-server/gradle.properties | 2 +- samples/standalone/dsl/http-server/pom.xml | 2 +- .../restdocs/http-client/gradle.properties | 2 +- .../standalone/restdocs/http-client/pom.xml | 2 +- .../restdocs/http-server/gradle.properties | 2 +- .../standalone/restdocs/http-server/pom.xml | 2 +- .../webclient/http-client/gradle.properties | 2 +- .../standalone/webclient/http-client/pom.xml | 2 +- .../webclient/http-server/gradle.properties | 2 +- .../standalone/webclient/http-server/pom.xml | 2 +- samples/wiremock-jetty/pom.xml | 2 +- samples/wiremock-native/pom.xml | 2 +- samples/wiremock-tomcat/pom.xml | 2 +- samples/wiremock-undertow-ssl/pom.xml | 2 +- samples/wiremock-undertow/pom.xml | 2 +- samples/wiremock/pom.xml | 2 +- ...ingCloudLoadBalancerAutoConfiguration.java | 168 ++++++++++++++++++ ...itional-spring-configuration-metadata.json | 4 +- ...nerSpringCloudAutoConfigurationSpec.groovy | 6 +- .../test/resources/application-cloudtest.yml | 1 + .../scenarioProject/gradle.properties | 2 +- .../scenarioProjectKotlin/gradle.properties | 2 +- .../projects/complex-configuration/pom.xml | 2 +- .../module/pom.xml | 2 +- .../test/projects/plugin-extension/pom.xml | 2 +- .../test/projects/spring-boot-groovy/pom.xml | 2 +- .../test/projects/spring-boot-java/pom.xml | 2 +- 34 files changed, 203 insertions(+), 36 deletions(-) create mode 100644 spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/loadbalancer/SpringCloudLoadBalancerAutoConfiguration.java diff --git a/guides/gs-contract-rest/complete/contract-rest-client/pom.xml b/guides/gs-contract-rest/complete/contract-rest-client/pom.xml index e71c3a9091..24bcd9dcfe 100644 --- a/guides/gs-contract-rest/complete/contract-rest-client/pom.xml +++ b/guides/gs-contract-rest/complete/contract-rest-client/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/guides/gs-contract-rest/complete/contract-rest-service/pom.xml b/guides/gs-contract-rest/complete/contract-rest-service/pom.xml index 155d5cf32d..af115e4320 100644 --- a/guides/gs-contract-rest/complete/contract-rest-service/pom.xml +++ b/guides/gs-contract-rest/complete/contract-rest-service/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/guides/gs-contract-rest/initial/contract-rest-client/pom.xml b/guides/gs-contract-rest/initial/contract-rest-client/pom.xml index 5e06f097ab..b3b26349dc 100644 --- a/guides/gs-contract-rest/initial/contract-rest-client/pom.xml +++ b/guides/gs-contract-rest/initial/contract-rest-client/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/guides/gs-contract-rest/initial/contract-rest-service/pom.xml b/guides/gs-contract-rest/initial/contract-rest-service/pom.xml index 618a67673d..2388b47f3a 100644 --- a/guides/gs-contract-rest/initial/contract-rest-service/pom.xml +++ b/guides/gs-contract-rest/initial/contract-rest-service/pom.xml @@ -11,7 +11,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/contracts/com/example/server/pom.xml b/samples/standalone/contracts/com/example/server/pom.xml index a76a3c20b0..4a0e9a909e 100644 --- a/samples/standalone/contracts/com/example/server/pom.xml +++ b/samples/standalone/contracts/com/example/server/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/dsl/http-client/gradle.properties b/samples/standalone/dsl/http-client/gradle.properties index 81b66c98d3..5dffcdae73 100644 --- a/samples/standalone/dsl/http-client/gradle.properties +++ b/samples/standalone/dsl/http-client/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=false BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/dsl/http-client/pom.xml b/samples/standalone/dsl/http-client/pom.xml index 8edda643d1..368582cf10 100644 --- a/samples/standalone/dsl/http-client/pom.xml +++ b/samples/standalone/dsl/http-client/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/dsl/http-server/gradle.properties b/samples/standalone/dsl/http-server/gradle.properties index 5fbc7d5fad..717eaf0260 100644 --- a/samples/standalone/dsl/http-server/gradle.properties +++ b/samples/standalone/dsl/http-server/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false verifierVersion=2.2.2.BUILD-SNAPSHOT BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/dsl/http-server/pom.xml b/samples/standalone/dsl/http-server/pom.xml index ca7aab29ec..af1fb5e7f8 100644 --- a/samples/standalone/dsl/http-server/pom.xml +++ b/samples/standalone/dsl/http-server/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/restdocs/http-client/gradle.properties b/samples/standalone/restdocs/http-client/gradle.properties index 5fbc7d5fad..717eaf0260 100644 --- a/samples/standalone/restdocs/http-client/gradle.properties +++ b/samples/standalone/restdocs/http-client/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false verifierVersion=2.2.2.BUILD-SNAPSHOT BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/restdocs/http-client/pom.xml b/samples/standalone/restdocs/http-client/pom.xml index f1d63ca995..c8129b7ce7 100644 --- a/samples/standalone/restdocs/http-client/pom.xml +++ b/samples/standalone/restdocs/http-client/pom.xml @@ -31,7 +31,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/restdocs/http-server/gradle.properties b/samples/standalone/restdocs/http-server/gradle.properties index 5fbc7d5fad..717eaf0260 100644 --- a/samples/standalone/restdocs/http-server/gradle.properties +++ b/samples/standalone/restdocs/http-server/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false verifierVersion=2.2.2.BUILD-SNAPSHOT BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/restdocs/http-server/pom.xml b/samples/standalone/restdocs/http-server/pom.xml index f97b7aa308..b087dae66b 100644 --- a/samples/standalone/restdocs/http-server/pom.xml +++ b/samples/standalone/restdocs/http-server/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/webclient/http-client/gradle.properties b/samples/standalone/webclient/http-client/gradle.properties index 5fbc7d5fad..717eaf0260 100644 --- a/samples/standalone/webclient/http-client/gradle.properties +++ b/samples/standalone/webclient/http-client/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false verifierVersion=2.2.2.BUILD-SNAPSHOT BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/webclient/http-client/pom.xml b/samples/standalone/webclient/http-client/pom.xml index 38ce4a1a89..9c839ad3ad 100644 --- a/samples/standalone/webclient/http-client/pom.xml +++ b/samples/standalone/webclient/http-client/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/standalone/webclient/http-server/gradle.properties b/samples/standalone/webclient/http-server/gradle.properties index 5fbc7d5fad..717eaf0260 100644 --- a/samples/standalone/webclient/http-server/gradle.properties +++ b/samples/standalone/webclient/http-server/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon=false verifierVersion=2.2.2.BUILD-SNAPSHOT BOM_VERSION=Hoxton.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE \ No newline at end of file +bootVersion=2.2.4.RELEASE \ No newline at end of file diff --git a/samples/standalone/webclient/http-server/pom.xml b/samples/standalone/webclient/http-server/pom.xml index 1d0edaa9c6..1dd251d003 100644 --- a/samples/standalone/webclient/http-server/pom.xml +++ b/samples/standalone/webclient/http-server/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock-jetty/pom.xml b/samples/wiremock-jetty/pom.xml index 4be2c13cbd..979591834c 100644 --- a/samples/wiremock-jetty/pom.xml +++ b/samples/wiremock-jetty/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock-native/pom.xml b/samples/wiremock-native/pom.xml index 13b79af9f3..fb6c6f7388 100644 --- a/samples/wiremock-native/pom.xml +++ b/samples/wiremock-native/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock-tomcat/pom.xml b/samples/wiremock-tomcat/pom.xml index c550d4a581..d56e449ba1 100644 --- a/samples/wiremock-tomcat/pom.xml +++ b/samples/wiremock-tomcat/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock-undertow-ssl/pom.xml b/samples/wiremock-undertow-ssl/pom.xml index cee2bc05a1..accb3dd402 100644 --- a/samples/wiremock-undertow-ssl/pom.xml +++ b/samples/wiremock-undertow-ssl/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock-undertow/pom.xml b/samples/wiremock-undertow/pom.xml index aca64b5efc..af66218997 100644 --- a/samples/wiremock-undertow/pom.xml +++ b/samples/wiremock-undertow/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/samples/wiremock/pom.xml b/samples/wiremock/pom.xml index 38536cc3c5..f60db4d89f 100644 --- a/samples/wiremock/pom.xml +++ b/samples/wiremock/pom.xml @@ -14,7 +14,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/loadbalancer/SpringCloudLoadBalancerAutoConfiguration.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/loadbalancer/SpringCloudLoadBalancerAutoConfiguration.java new file mode 100644 index 0000000000..4ef717d7e6 --- /dev/null +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/loadbalancer/SpringCloudLoadBalancerAutoConfiguration.java @@ -0,0 +1,168 @@ +/* + * Copyright 2012-2020 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.cloud.contract.stubrunner.spring.cloud.loadbalancer; + +import java.io.Closeable; +import java.net.URI; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import reactor.core.publisher.Mono; + +import org.springframework.boot.autoconfigure.AutoConfigureAfter; +import org.springframework.boot.autoconfigure.AutoConfigureBefore; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; +import org.springframework.cloud.client.loadbalancer.reactive.DefaultResponse; +import org.springframework.cloud.client.loadbalancer.reactive.ReactiveLoadBalancer; +import org.springframework.cloud.contract.stubrunner.RunningStubs; +import org.springframework.cloud.contract.stubrunner.StubConfiguration; +import org.springframework.cloud.contract.stubrunner.StubFinder; +import org.springframework.cloud.contract.stubrunner.spring.cloud.ConditionalOnStubbedDiscoveryEnabled; +import org.springframework.cloud.contract.stubrunner.spring.cloud.StubMapperProperties; +import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClientConfiguration; +import org.springframework.cloud.loadbalancer.config.LoadBalancerAutoConfiguration; +import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.util.StringUtils; + +/** + * Provides autoconfiguraion for the Spring Cloud Load Balancer module. + * + * @since 3.0.0 + * @author Marcin Grzejszczak + */ +@Configuration(proxyBeanMethods = false) +@ConditionalOnClass(LoadBalancerClient.class) +@ConditionalOnProperty(value = "stubrunner.cloud.loadbalancer.enabled", + matchIfMissing = true) +@ConditionalOnBean(StubMapperProperties.class) +@AutoConfigureBefore(LoadBalancerAutoConfiguration.class) +@AutoConfigureAfter(LoadBalancerClientConfiguration.class) +@ConditionalOnStubbedDiscoveryEnabled +public class SpringCloudLoadBalancerAutoConfiguration { + + @Bean + @Primary + LoadBalancerClientFactory stubRunnerLoadBalancerClientFactory(StubFinder stubFinder, + StubMapperProperties stubMapperProperties) { + return new StubRunnerLoadBalancerClientFactory(stubFinder, stubMapperProperties); + } + +} + +class StubRunnerLoadBalancerClientFactory extends LoadBalancerClientFactory + implements Closeable { + + private final StubFinder stubFinder; + + private final StubMapperProperties stubMapperProperties; + + StubRunnerLoadBalancerClientFactory(StubFinder stubFinder, + StubMapperProperties stubMapperProperties) { + this.stubFinder = stubFinder; + this.stubMapperProperties = stubMapperProperties; + } + + @Override + public ReactiveLoadBalancer getInstance(String serviceId) { + return request -> Mono.just(new DefaultResponse( + new StubbedServiceInstance(stubFinder, stubMapperProperties, serviceId))); + } + + @Override + public void close() { + StubbedServiceInstance.CACHE.clear(); + } + +} + +class StubbedServiceInstance implements ServiceInstance { + + private final StubFinder stubFinder; + + private final StubMapperProperties stubMapperProperties; + + private final String serviceId; + + static final Map> CACHE = new ConcurrentHashMap<>(); + + StubbedServiceInstance(StubFinder stubFinder, + StubMapperProperties stubMapperProperties, String serviceId) { + this.stubFinder = stubFinder; + this.stubMapperProperties = stubMapperProperties; + this.serviceId = serviceId; + } + + private Map.Entry stubEntry() { + Map.Entry entry = CACHE.get(this.serviceId); + if (entry != null) { + return entry; + } + RunningStubs runningStubs = this.stubFinder.findAllRunningStubs(); + String mappedServiceName = StringUtils.hasText( + this.stubMapperProperties.fromServiceIdToIvyNotation(this.serviceId)) + ? this.stubMapperProperties.fromServiceIdToIvyNotation( + this.serviceId) + : this.serviceId; + entry = runningStubs.getEntry(mappedServiceName); + CACHE.put(this.serviceId, entry); + return entry; + } + + @Override + public String getServiceId() { + return this.serviceId; + } + + @Override + public String getHost() { + return "localhost"; + } + + @Override + public int getPort() { + Map.Entry entry = stubEntry(); + if (entry == null) { + return 0; + } + return entry.getValue(); + } + + @Override + public boolean isSecure() { + // TODO: What if the user marks a stub as secure? + return false; + } + + @Override + public URI getUri() { + return URI.create( + (isSecure() ? "https://" : "http://") + getHost() + ":" + getPort()); + } + + @Override + public Map getMetadata() { + return null; + } + +} diff --git a/spring-cloud-contract-stub-runner/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/spring-cloud-contract-stub-runner/src/main/resources/META-INF/additional-spring-configuration-metadata.json index f7cda2fca5..9130066f3f 100644 --- a/spring-cloud-contract-stub-runner/src/main/resources/META-INF/additional-spring-configuration-metadata.json +++ b/spring-cloud-contract-stub-runner/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -37,9 +37,9 @@ "defaultValue": true }, { - "name": "stubrunner.cloud.ribbon.enabled", + "name": "stubrunner.cloud.loadbalancer.enabled", "type": "java.lang.Boolean", - "description": "Whether to enable Stub Runner's Ribbon integration.", + "description": "Whether to enable Stub Runner's Spring Cloud Load Balancer integration.", "defaultValue": true }, { diff --git a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerSpringCloudAutoConfigurationSpec.groovy b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerSpringCloudAutoConfigurationSpec.groovy index bc5964fc20..a92e5e738a 100644 --- a/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerSpringCloudAutoConfigurationSpec.groovy +++ b/spring-cloud-contract-stub-runner/src/test/groovy/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerSpringCloudAutoConfigurationSpec.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2013-2019 the original author or authors. + * Copyright 2013-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,13 +30,11 @@ import org.springframework.cloud.contract.stubrunner.spring.AutoConfigureStubRun import org.springframework.cloud.contract.stubrunner.spring.StubRunnerProperties import org.springframework.cloud.netflix.eureka.EurekaClientAutoConfiguration import org.springframework.cloud.zookeeper.ZookeeperAutoConfiguration -import org.springframework.cloud.zookeeper.discovery.RibbonZookeeperAutoConfiguration import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.test.context.ActiveProfiles import org.springframework.test.context.ContextConfiguration import org.springframework.web.client.RestTemplate - /** * @author Marcin Grzejszczak */ @@ -78,7 +76,7 @@ class StubRunnerSpringCloudAutoConfigurationSpec extends Specification { // end::test[] @Configuration - @EnableAutoConfiguration(exclude = [RibbonZookeeperAutoConfiguration, EurekaClientAutoConfiguration, + @EnableAutoConfiguration(exclude = [EurekaClientAutoConfiguration, ConsulAutoConfiguration, ZookeeperAutoConfiguration]) static class Config { diff --git a/spring-cloud-contract-stub-runner/src/test/resources/application-cloudtest.yml b/spring-cloud-contract-stub-runner/src/test/resources/application-cloudtest.yml index ffdf85bd4a..72b4677623 100644 --- a/spring-cloud-contract-stub-runner/src/test/resources/application-cloudtest.yml +++ b/spring-cloud-contract-stub-runner/src/test/resources/application-cloudtest.yml @@ -9,3 +9,4 @@ spring.cloud: discovery.enabled: false service-registry.enabled: false eureka.client.enabled: false +ribbon.eureka.enabled: false diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties index 3fef02e4fe..108b3f8dfb 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProject/gradle.properties @@ -16,5 +16,5 @@ wiremockVersion=2.25.1 jsonAssertVersion=0.4.13 verifierVersion=2.2.2.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE +bootVersion=2.2.4.RELEASE groovyVersion=2.4.17 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties index 3fef02e4fe..108b3f8dfb 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties +++ b/spring-cloud-contract-tools/spring-cloud-contract-gradle-plugin/src/test/resources/functionalTest/scenarioProjectKotlin/gradle.properties @@ -16,5 +16,5 @@ wiremockVersion=2.25.1 jsonAssertVersion=0.4.13 verifierVersion=2.2.2.BUILD-SNAPSHOT -bootVersion=2.2.2.RELEASE +bootVersion=2.2.4.RELEASE groovyVersion=2.4.17 diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml index 06679665d2..ee60eaa22e 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/complex-configuration/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml index 5d04da6435..6ddf022be8 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/different-module-configuration/module/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/pom.xml index 78bc0233f7..fd3ccbbe1a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/plugin-extension/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml index abc3120f1a..1986539e7c 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-groovy/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE diff --git a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/pom.xml b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/pom.xml index 78bc0233f7..fd3ccbbe1a 100644 --- a/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/pom.xml +++ b/spring-cloud-contract-tools/spring-cloud-contract-maven-plugin/src/test/projects/spring-boot-java/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-starter-parent - 2.2.2.RELEASE + 2.2.4.RELEASE