diff --git a/pom.xml b/pom.xml
index 30384c0a..5cfe84b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,7 +33,12 @@
spring-cloud-consul-bus
spring-cloud-consul-ui
spring-cloud-consul-sample
- spring-cloud-consul-tests
+ spring-cloud-starter-consul
+ spring-cloud-starter-consul-bus
+ spring-cloud-starter-consul-config
+ spring-cloud-starter-consul-discovery
+ spring-cloud-starter-consul-ui
+ spring-cloud-starter-consul-all
docs
@@ -70,27 +75,57 @@
org.springframework.cloud
spring-cloud-consul-core
- 1.0.0.BUILD-SNAPSHOT
+ ${project.version}
org.springframework.cloud
spring-cloud-consul-bus
- 1.0.0.BUILD-SNAPSHOT
+ ${project.version}
org.springframework.cloud
spring-cloud-consul-config
- 1.0.0.BUILD-SNAPSHOT
+ ${project.version}
org.springframework.cloud
spring-cloud-consul-discovery
- 1.0.0.BUILD-SNAPSHOT
+ ${project.version}
org.springframework.cloud
spring-cloud-consul-ui
- 1.0.0.BUILD-SNAPSHOT
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-bus
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-config
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-discovery
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-ui
+ ${project.version}
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-all
+ ${project.version}
org.springframework.cloud
diff --git a/spring-cloud-consul-bus/pom.xml b/spring-cloud-consul-bus/pom.xml
index dde261d6..9e9c833a 100644
--- a/spring-cloud-consul-bus/pom.xml
+++ b/spring-cloud-consul-bus/pom.xml
@@ -17,13 +17,25 @@
+
+ org.springframework.boot
+ spring-boot-starter-web
+ true
+
org.springframework.cloud
spring-cloud-consul-core
+ true
org.springframework.cloud
spring-cloud-bus
+ true
+
+
+ com.ecwid.consul
+ consul-api
+ true
org.projectlombok
diff --git a/spring-cloud-consul-config/pom.xml b/spring-cloud-consul-config/pom.xml
index 6d7791db..a66beee2 100644
--- a/spring-cloud-consul-config/pom.xml
+++ b/spring-cloud-consul-config/pom.xml
@@ -17,13 +17,25 @@
+
+ org.springframework.boot
+ spring-boot-starter-web
+ true
+
+
+ com.ecwid.consul
+ consul-api
+ true
+
org.springframework.cloud
spring-cloud-consul-core
+ true
org.springframework.cloud
spring-cloud-context
+ true
org.projectlombok
diff --git a/spring-cloud-consul-core/pom.xml b/spring-cloud-consul-core/pom.xml
index c3b1325d..69232ed1 100644
--- a/spring-cloud-consul-core/pom.xml
+++ b/spring-cloud-consul-core/pom.xml
@@ -20,23 +20,38 @@
org.springframework.boot
spring-boot-starter-web
+ true
org.springframework.boot
spring-boot-starter-actuator
+ true
org.springframework.cloud
spring-cloud-commons
+ true
com.ecwid.consul
consul-api
+ true
com.google.code.gson
gson
+ true
+
+
+ org.apache.httpcomponents
+ httpclient
+ true
+
+
+ org.apache.httpcomponents
+ httpcore
+ true
org.apache.httpcomponents
diff --git a/spring-cloud-consul-discovery/pom.xml b/spring-cloud-consul-discovery/pom.xml
index 6373c8be..1b545d09 100644
--- a/spring-cloud-consul-discovery/pom.xml
+++ b/spring-cloud-consul-discovery/pom.xml
@@ -21,33 +21,66 @@
org.springframework.cloud
spring-cloud-consul-core
+
+ org.springframework.cloud
+ spring-cloud-commons
+ true
+
+
+ com.ecwid.consul
+ consul-api
+ true
+
+
+
+ com.google.code.gson
+ gson
+ true
+
+
+ org.apache.httpcomponents
+ httpclient
+ true
+
+
+ org.apache.httpcomponents
+ httpcore
+ true
+
org.springframework.cloud
spring-cloud-netflix-core
+ true
com.netflix.archaius
archaius-core
+ true
commons-configuration
commons-configuration
+ true
com.netflix.ribbon
ribbon
+ true
com.netflix.ribbon
ribbon-core
+ true
com.netflix.ribbon
ribbon-httpclient
+ true
com.netflix.ribbon
ribbon-loadbalancer
+ true
org.projectlombok
@@ -63,10 +96,17 @@
joda-time
joda-time
+ true
org.springframework.boot
spring-boot-starter-web
+ true
+
+
+ org.springframework.boot
+ spring-boot-starter-actuator
+ true
diff --git a/spring-cloud-consul-sample/pom.xml b/spring-cloud-consul-sample/pom.xml
index faeb4fdb..048c28b4 100644
--- a/spring-cloud-consul-sample/pom.xml
+++ b/spring-cloud-consul-sample/pom.xml
@@ -21,7 +21,7 @@
org.springframework.boot
spring-boot-maven-plugin
- 1.2.1.RELEASE
+ 1.2.3.RELEASE
@@ -41,33 +41,35 @@
-
- org.springframework.boot
- spring-boot-starter-web
-
org.springframework.boot
spring-boot-starter-actuator
org.springframework.cloud
- spring-cloud-consul-config
+ spring-cloud-starter-consul-all
+
+
org.projectlombok
lombok
+
+ provided
diff --git a/spring-cloud-consul-tests/pom.xml b/spring-cloud-consul-tests/pom.xml
deleted file mode 100644
index 13f9e267..00000000
--- a/spring-cloud-consul-tests/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-
-
- 4.0.0
-
- spring-cloud-consul-tests
- jar
- Spring Cloud Consul Tests
- Spring Cloud Consul Tests
-
-
- org.springframework.cloud
- spring-cloud-consul
- 1.0.0.BUILD-SNAPSHOT
- ..
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
- org.springframework.cloud
- spring-cloud-consul-config
-
-
- org.springframework.cloud
- spring-cloud-consul-discovery
-
-
- org.projectlombok
- lombok
-
- provided
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
-
diff --git a/spring-cloud-consul-tests/run-server.sh b/spring-cloud-consul-tests/run-server.sh
deleted file mode 100755
index 8bacc042..00000000
--- a/spring-cloud-consul-tests/run-server.sh
+++ /dev/null
@@ -1 +0,0 @@
-python -m SimpleHTTPServer
diff --git a/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java b/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java
deleted file mode 100644
index 9662404d..00000000
--- a/spring-cloud-consul-tests/src/test/java/org/springframework/cloud/consul/sidecar/ZuulApplicationTests.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright 2013-2015 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
- *
- * http://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.consul.sidecar;
-
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.test.IntegrationTest;
-import org.springframework.boot.test.SpringApplicationConfiguration;
-import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
-import org.springframework.context.annotation.Bean;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.web.WebAppConfiguration;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@SpringApplicationConfiguration(classes = ZuulApplicationTests.ZuulApplication.class)
-@IntegrationTest("server.port=0")
-@WebAppConfiguration
-public class ZuulApplicationTests {
-
- @Test
- @Ignore
- public void contextLoads() {
- }
-
- @SpringBootApplication
- @EnableCircuitBreaker
- @EnableDiscoveryClient
- @EnableZuulProxy
- public static class ZuulApplication {
-
- @Bean
- public InMemoryMetricRepository inMemoryMetricRepository() {
- return new InMemoryMetricRepository();
- }
-
- public static void main(String[] args) {
- SpringApplication.run(ZuulApplication.class, args);
- }
-
- }
-}
diff --git a/spring-cloud-consul-tests/src/test/resources/application.yml b/spring-cloud-consul-tests/src/test/resources/application.yml
deleted file mode 100644
index ce295c8c..00000000
--- a/spring-cloud-consul-tests/src/test/resources/application.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-server:
- port: 5678
-spring:
- application:
- name: sidecarTest
-
-sidecar:
- port: 8000
- health-uri: http://localhost:8000/src/test/resources/health.json
-
-ribbon:
- ServerListRefreshInterval: 5000
-
-endpoints:
- refresh:
- enabled: true
- shutdown:
- enabled: true
- health:
- sensitive: false
-
diff --git a/spring-cloud-consul-tests/src/test/resources/bootstrap.yml b/spring-cloud-consul-tests/src/test/resources/bootstrap.yml
deleted file mode 100644
index bbd58928..00000000
--- a/spring-cloud-consul-tests/src/test/resources/bootstrap.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-spring:
- #application:
- # name: sideCarTest
- cloud:
- config:
- username: user
- password: password
diff --git a/spring-cloud-consul-tests/src/test/resources/health.json b/spring-cloud-consul-tests/src/test/resources/health.json
deleted file mode 100644
index 41f3615e..00000000
--- a/spring-cloud-consul-tests/src/test/resources/health.json
+++ /dev/null
@@ -1 +0,0 @@
-{"status":"UP"}
\ No newline at end of file
diff --git a/spring-cloud-starter-consul-all/pom.xml b/spring-cloud-starter-consul-all/pom.xml
new file mode 100644
index 00000000..2f2aa9cf
--- /dev/null
+++ b/spring-cloud-starter-consul-all/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul-all
+ Spring Cloud Starter Consul All
+ Spring Cloud Starter Consul All
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-bus
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-config
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-discovery
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul-ui
+
+
+
diff --git a/spring-cloud-starter-consul-all/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul-all/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..18c222fc
--- /dev/null
+++ b/spring-cloud-starter-consul-all/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-bus, spring-cloud-consul-config, spring-cloud-consul-discovery, spring-cloud-consul-ui
\ No newline at end of file
diff --git a/spring-cloud-starter-consul-bus/pom.xml b/spring-cloud-starter-consul-bus/pom.xml
new file mode 100644
index 00000000..b19b6bb2
--- /dev/null
+++ b/spring-cloud-starter-consul-bus/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul-bus
+ Spring Cloud Starter Consul Bus
+ Spring Cloud Starter Consul Bus
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul
+
+
+ org.springframework.cloud
+ spring-cloud-consul-bus
+
+
+ org.springframework.cloud
+ spring-cloud-bus
+
+
+
diff --git a/spring-cloud-starter-consul-bus/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul-bus/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..7e37bc1f
--- /dev/null
+++ b/spring-cloud-starter-consul-bus/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-bus
\ No newline at end of file
diff --git a/spring-cloud-starter-consul-config/pom.xml b/spring-cloud-starter-consul-config/pom.xml
new file mode 100644
index 00000000..543068dd
--- /dev/null
+++ b/spring-cloud-starter-consul-config/pom.xml
@@ -0,0 +1,36 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul-config
+ Spring Cloud Starter Consul Config
+ Spring Cloud Starter Consul Config
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul
+
+
+ org.springframework.cloud
+ spring-cloud-consul-config
+
+
+ org.springframework.cloud
+ spring-cloud-context
+
+
+
diff --git a/spring-cloud-starter-consul-config/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul-config/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..76b15afb
--- /dev/null
+++ b/spring-cloud-starter-consul-config/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-config
\ No newline at end of file
diff --git a/spring-cloud-starter-consul-discovery/pom.xml b/spring-cloud-starter-consul-discovery/pom.xml
new file mode 100644
index 00000000..675c9e88
--- /dev/null
+++ b/spring-cloud-starter-consul-discovery/pom.xml
@@ -0,0 +1,75 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul-discovery
+ spring-cloud-starter-consul-discovery
+ Spring Cloud Starter Consul Discovery
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-consul
+
+
+ org.springframework.cloud
+ spring-cloud-consul-discovery
+
+
+ org.springframework.cloud
+ spring-cloud-netflix-core
+
+
+ com.netflix.archaius
+ archaius-core
+
+
+ commons-configuration
+ commons-configuration
+
+
+ com.netflix.ribbon
+ ribbon
+
+
+ com.netflix.ribbon
+ ribbon-core
+
+
+ com.netflix.ribbon
+ ribbon-httpclient
+
+
+ com.netflix.ribbon
+ ribbon-loadbalancer
+
+
+ org.projectlombok
+ lombok
+
+ provided
+
+
+ joda-time
+ joda-time
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
diff --git a/spring-cloud-starter-consul-discovery/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul-discovery/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..85fed12c
--- /dev/null
+++ b/spring-cloud-starter-consul-discovery/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-discovery
\ No newline at end of file
diff --git a/spring-cloud-starter-consul-ui/pom.xml b/spring-cloud-starter-consul-ui/pom.xml
new file mode 100644
index 00000000..485b7415
--- /dev/null
+++ b/spring-cloud-starter-consul-ui/pom.xml
@@ -0,0 +1,40 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul-ui
+ Spring Cloud Starter Consul UI
+ Spring Cloud Starter Consul UI
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.cloud
+ spring-cloud-consul-ui
+
+
+ org.springframework.cloud
+ spring-cloud-consul-core
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.cloud
+ spring-cloud-starter-zuul
+
+
+
diff --git a/spring-cloud-starter-consul-ui/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul-ui/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..e5fe9b5e
--- /dev/null
+++ b/spring-cloud-starter-consul-ui/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-ui
\ No newline at end of file
diff --git a/spring-cloud-starter-consul/pom.xml b/spring-cloud-starter-consul/pom.xml
new file mode 100644
index 00000000..e4b497b9
--- /dev/null
+++ b/spring-cloud-starter-consul/pom.xml
@@ -0,0 +1,53 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-consul
+ 1.0.0.BUILD-SNAPSHOT
+ ..
+
+ spring-cloud-starter-consul
+ Spring Cloud Starter Consul
+ Spring Cloud Starter Consul
+ http://projects.spring.io/spring-cloud
+
+ Pivotal Software, Inc.
+ http://www.spring.io
+
+
+ ${basedir}/../..
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.cloud
+ spring-cloud-commons
+
+
+ org.springframework.cloud
+ spring-cloud-consul-core
+
+
+ com.ecwid.consul
+ consul-api
+
+
+
+ com.google.code.gson
+ gson
+
+
+ org.apache.httpcomponents
+ httpclient
+
+
+ org.apache.httpcomponents
+ httpcore
+
+
+
diff --git a/spring-cloud-starter-consul/src/main/resources/META-INF/spring.provides b/spring-cloud-starter-consul/src/main/resources/META-INF/spring.provides
new file mode 100644
index 00000000..174eee93
--- /dev/null
+++ b/spring-cloud-starter-consul/src/main/resources/META-INF/spring.provides
@@ -0,0 +1 @@
+provides: spring-cloud-consul-core, consul-api
\ No newline at end of file