From 8bb5ce72975fb0ff36b22007ddcc41dabecdc8b8 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 19 Sep 2016 19:41:44 +0200 Subject: [PATCH] Added AutoConfiguration available for Cloud profile that stubs out service discovery will work only if the library is available at runtime (which shouldn't take place apart from testing environments) --- ...ubRunnerCloudFoundryAutoConfiguration.java | 22 +++++++++++++++++++ .../main/resources/META-INF/spring.factories | 3 +++ 2 files changed, 25 insertions(+) create mode 100644 spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerCloudFoundryAutoConfiguration.java diff --git a/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerCloudFoundryAutoConfiguration.java b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerCloudFoundryAutoConfiguration.java new file mode 100644 index 0000000000..6daf07472b --- /dev/null +++ b/spring-cloud-contract-stub-runner/src/main/java/org/springframework/cloud/contract/stubrunner/spring/cloud/StubRunnerCloudFoundryAutoConfiguration.java @@ -0,0 +1,22 @@ +package org.springframework.cloud.contract.stubrunner.spring.cloud; + +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.cloud.contract.stubrunner.spring.StubRunnerConfiguration; +import org.springframework.cloud.contract.stubrunner.spring.cloud.ribbon.StubRunnerRibbonAutoConfiguration; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.Profile; + +/** + * Autoconfiguration available in Cloud profile. Stubs out the discovery client communication. + * Imports only HTTP related classes. + * + * @author Marcin Grzejszczak + * @since 1.0.0 + */ +@Configuration +@Profile("cloud") +@ConditionalOnProperty(value = "stubrunner.cloudfoundry.enabled", matchIfMissing = true) +@Import({ StubRunnerConfiguration.class, StubRunnerSpringCloudAutoConfiguration.class, StubRunnerRibbonAutoConfiguration.class }) +public class StubRunnerCloudFoundryAutoConfiguration { +} diff --git a/spring-cloud-contract-stub-runner/src/main/resources/META-INF/spring.factories b/spring-cloud-contract-stub-runner/src/main/resources/META-INF/spring.factories index dfd9b8215b..b9191652fe 100644 --- a/spring-cloud-contract-stub-runner/src/main/resources/META-INF/spring.factories +++ b/spring-cloud-contract-stub-runner/src/main/resources/META-INF/spring.factories @@ -9,3 +9,6 @@ org.springframework.cloud.contract.stubrunner.messaging.camel.StubRunnerCamelCon org.springframework.cloud.contract.stubrunner.spring.cloud.zookeeper.StubRunnerSpringCloudZookeeperAutoConfiguration,\ org.springframework.cloud.contract.stubrunner.spring.cloud.eureka.StubRunnerSpringCloudEurekaAutoConfiguration,\ org.springframework.cloud.contract.stubrunner.spring.cloud.consul.StubRunnerSpringCloudConsulAutoConfiguration + +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +org.springframework.cloud.contract.stubrunner.spring.cloud.StubRunnerCloudFoundryAutoConfiguration