diff --git a/README.adoc b/README.adoc
index 0ac8e97..9801ece 100644
--- a/README.adoc
+++ b/README.adoc
@@ -13,23 +13,23 @@ Config clients with secret configuration values.
To install, make
sure you have
https://github.com/spring-projects/spring-boot[Spring Boot CLI]
-(1.2.0 or better):
+(1.3.0 or better):
$ spring version
- Spring CLI v1.2.3.RELEASE
+ Spring CLI v1.3.2.RELEASE
-E.g. for GVM users
+E.g. for SDKMan users
```
-$ gvm install springboot 1.3.0.M5
-$ gvm use springboot 1.3.0.M5
+$ sdk install springboot 1.3.2.RELEASE
+$ sdk use springboot 1.3.2.RELEASE
```
and install the Spring Cloud plugin:
```
$ mvn install
-$ spring install org.springframework.cloud:spring-cloud-cli:1.1.0.BUILD-SNAPSHOT
+$ spring install org.springframework.cloud:spring-cloud-cli:1.1.0.M5
```
IMPORTANT: **Prerequisites:** to use the encryption and decryption features
diff --git a/docs/README.adoc b/docs/README.adoc
index 8ef6354..471d96a 100644
--- a/docs/README.adoc
+++ b/docs/README.adoc
@@ -37,5 +37,5 @@ and finally install the Spring Cloud plugin:
```
$ mvn install
-$ spring install org.springframework.cloud:spring-cloud-cli:1.0.0.BUILD-SNAPSHOT
+$ spring install org.springframework.cloud:spring-cloud-cli:1.0.0.M5
```
diff --git a/docs/pom.xml b/docs/pom.xml
index 7ccf5ad..e5d8121 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -3,11 +3,11 @@
4.0.0
org.springframework.cloud
spring-cloud-cli-docs
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
org.springframework.cloud
spring-cloud-build
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
pom
diff --git a/docs/src/main/asciidoc/install.adoc b/docs/src/main/asciidoc/install.adoc
index e73bda9..1fb67c5 100644
--- a/docs/src/main/asciidoc/install.adoc
+++ b/docs/src/main/asciidoc/install.adoc
@@ -1,23 +1,23 @@
To install, make
sure you have
https://github.com/spring-projects/spring-boot[Spring Boot CLI]
-(1.2.0 or better):
+(1.3.0 or better):
$ spring version
- Spring CLI v1.2.3.RELEASE
+ Spring CLI v1.3.2.RELEASE
-E.g. for GVM users
+E.g. for SDKMan users
```
-$ gvm install springboot 1.3.0.M5
-$ gvm use springboot 1.3.0.M5
+$ sdk install springboot 1.3.2.RELEASE
+$ sdk use springboot 1.3.2.RELEASE
```
and install the Spring Cloud plugin:
```
$ mvn install
-$ spring install org.springframework.cloud:spring-cloud-cli:1.1.0.BUILD-SNAPSHOT
+$ spring install org.springframework.cloud:spring-cloud-cli:1.1.0.M5
```
IMPORTANT: **Prerequisites:** to use the encryption and decryption features
diff --git a/pom.xml b/pom.xml
index 4ace128..6d45743 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,11 +3,11 @@
4.0.0
org.springframework.cloud
spring-cloud-cli-parent
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
org.springframework.cloud
spring-cloud-build
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
pom
@@ -27,6 +27,7 @@
spring-cloud-cli
+ spring-cloud-cli-integration-tests
docs
@@ -83,14 +84,14 @@
org.springframework.cloud
spring-cloud-config
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
pom
import
org.springframework.cloud
spring-cloud-netflix
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
pom
import
diff --git a/spring-cloud-cli-integration-tests/.gitignore b/spring-cloud-cli-integration-tests/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/spring-cloud-cli-integration-tests/README.md b/spring-cloud-cli-integration-tests/README.md
new file mode 100644
index 0000000..5e4c10c
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/README.md
@@ -0,0 +1,9 @@
+Spring Boot command line features for
+[Spring Cloud](https://github.com/spring-cloud). To install, make
+sure you have
+[Spring Boot CLI](https://github.com/spring-projects/spring-boot)
+(1.1.x with x>=5):
+
+ $ spring version
+ Spring CLI v1.1.5.RELEASE
+
diff --git a/spring-cloud-cli-integration-tests/pom.xml b/spring-cloud-cli-integration-tests/pom.xml
new file mode 100644
index 0000000..6de4a83
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/pom.xml
@@ -0,0 +1,61 @@
+
+
+ 4.0.0
+
+ org.springframework.cloud
+ spring-cloud-cli-integration-tests
+ 1.1.0.M5
+ jar
+
+ spring-cloud-cli-integration-tests
+ Spring Patform Cli integration project
+
+
+ org.springframework.cloud
+ spring-cloud-cli-parent
+ 1.1.0.M5
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-cli
+ ${project.version}
+ provided
+
+
+ org.springframework.boot
+ spring-boot-cli
+ ${spring-boot.version}
+ provided
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+ test
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ UTF-8
+ 1.7
+ ${project.version}
+
+
+
+
+
+ maven-deploy-plugin
+
+ true
+
+
+
+
+
diff --git a/spring-cloud-cli-integration-tests/samples/app.groovy b/spring-cloud-cli-integration-tests/samples/app.groovy
new file mode 100644
index 0000000..38a9d36
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/app.groovy
@@ -0,0 +1,22 @@
+package org.test
+
+@Component
+class Example implements CommandLineRunner {
+
+ @Autowired
+ private MyService myService
+
+ void run(String... args) {
+ println "Hello ${this.myService.sayWorld()} From ${getClass().getClassLoader().getResource('samples/app.groovy')}"
+ }
+}
+
+
+@Service
+class MyService {
+
+ String sayWorld() {
+ return "World!"
+ }
+}
+
diff --git a/spring-cloud-cli-integration-tests/samples/configserver.groovy b/spring-cloud-cli-integration-tests/samples/configserver.groovy
new file mode 100644
index 0000000..3605efd
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/configserver.groovy
@@ -0,0 +1,6 @@
+package org.test
+
+@EnableConfigServer
+class Example {
+}
+
diff --git a/spring-cloud-cli-integration-tests/samples/eureka.groovy b/spring-cloud-cli-integration-tests/samples/eureka.groovy
new file mode 100644
index 0000000..ae2d2b4
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/eureka.groovy
@@ -0,0 +1,6 @@
+package org.test
+
+@EnableDiscoveryClient
+class Example {
+}
+
diff --git a/spring-cloud-cli-integration-tests/samples/eurekaserver.groovy b/spring-cloud-cli-integration-tests/samples/eurekaserver.groovy
new file mode 100644
index 0000000..c2daa83
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/eurekaserver.groovy
@@ -0,0 +1,6 @@
+package org.test
+
+@EnableEurekaServer
+class Example {
+}
+
diff --git a/spring-cloud-cli-integration-tests/samples/rabbit.groovy b/spring-cloud-cli-integration-tests/samples/rabbit.groovy
new file mode 100644
index 0000000..d9ecc17
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/rabbit.groovy
@@ -0,0 +1,6 @@
+package org.test
+
+@EnableBinding(transport="rabbit")
+class Example {
+}
+
diff --git a/spring-cloud-cli-integration-tests/samples/zuulproxy.groovy b/spring-cloud-cli-integration-tests/samples/zuulproxy.groovy
new file mode 100644
index 0000000..5696e23
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/samples/zuulproxy.groovy
@@ -0,0 +1,6 @@
+package org.test
+
+@EnableZuulProxy
+class Example {
+}
+
diff --git a/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.command.CommandFactory b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.command.CommandFactory
new file mode 100644
index 0000000..d7b5678
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.command.CommandFactory
@@ -0,0 +1 @@
+org.springframework.cloud.cli.command.CloudCommandFactory
diff --git a/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.CompilerAutoConfiguration b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.CompilerAutoConfiguration
new file mode 100644
index 0000000..1c2eb57
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.CompilerAutoConfiguration
@@ -0,0 +1,12 @@
+org.springframework.cloud.cli.compiler.SpringCloudCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.ConfigServerCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.EurekaClientCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.EurekaServerCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.HystrixCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.HystrixDashboardCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.OAuth2LoadBalancedCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.RibbonClientCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.StreamKafkaCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.StreamRabbitCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.StreamRedisCompilerAutoConfiguration
+org.springframework.cloud.cli.compiler.ZuulCompilerAutoConfiguration
diff --git a/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.SpringBootAstTransformation b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.SpringBootAstTransformation
new file mode 100644
index 0000000..accdfba
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.SpringBootAstTransformation
@@ -0,0 +1 @@
+org.springframework.cloud.cli.compiler.SpringCloudBomAstTransformation
\ No newline at end of file
diff --git a/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java
new file mode 100644
index 0000000..9fae672
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/CliTester.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright 2012-2014 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.cli;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.lang.reflect.Field;
+import java.net.URI;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Assume;
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+import org.springframework.boot.cli.command.AbstractCommand;
+import org.springframework.boot.cli.command.OptionParsingCommand;
+import org.springframework.boot.cli.command.archive.JarCommand;
+import org.springframework.boot.cli.command.grab.GrabCommand;
+import org.springframework.boot.cli.command.run.RunCommand;
+import org.springframework.boot.cli.command.test.TestCommand;
+import org.springframework.util.SocketUtils;
+
+/**
+ * {@link TestRule} that can be used to invoke CLI commands.
+ *
+ * @author Phillip Webb
+ * @author Dave Syer
+ * @author Andy Wilkinson
+ */
+public class CliTester implements TestRule {
+
+ private final OutputCapture outputCapture = new OutputCapture();
+
+ private long timeout = TimeUnit.MINUTES.toMillis(6);
+
+ private final List commands = new ArrayList();
+
+ private final String prefix;
+
+ private final int port = SocketUtils.findAvailableTcpPort();
+
+ public CliTester(String prefix) {
+ this.prefix = prefix;
+ }
+
+ public void setTimeout(long timeout) {
+ this.timeout = timeout;
+ }
+
+ public String run(String... args) throws Exception {
+ Future future = submitCommand(new RunCommand(), args);
+ this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
+ return getOutput();
+ }
+
+ public String test(String... args) throws Exception {
+ Future future = submitCommand(new TestCommand(), args);
+ try {
+ this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
+ return getOutput();
+ }
+ catch (Exception ex) {
+ return getOutput();
+ }
+ }
+
+ public String grab(String... args) throws Exception {
+ Future future = submitCommand(new GrabCommand(), args);
+ this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
+ return getOutput();
+ }
+
+ public String jar(String... args) throws Exception {
+ Future future = submitCommand(new JarCommand(), args);
+ this.commands.add(future.get(this.timeout, TimeUnit.MILLISECONDS));
+ return getOutput();
+ }
+
+ private Future submitCommand(final T command,
+ String... args) {
+ clearUrlHandler();
+ final String[] sources = getSources(args);
+ return Executors.newSingleThreadExecutor().submit(new Callable() {
+ @Override
+ public T call() throws Exception {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ System.setProperty("server.port", String.valueOf(CliTester.this.port));
+ try {
+ command.run(sources);
+ return command;
+ }
+ finally {
+ System.clearProperty("server.port");
+ Thread.currentThread().setContextClassLoader(loader);
+ }
+ }
+ });
+ }
+
+ /**
+ * The TomcatURLStreamHandlerFactory fails if the factory is already set, use
+ * reflection to reset it.
+ */
+ private void clearUrlHandler() {
+ try {
+ Field field = URL.class.getDeclaredField("factory");
+ field.setAccessible(true);
+ field.set(null, null);
+ }
+ catch (Exception ex) {
+ throw new IllegalStateException(ex);
+ }
+ }
+
+ protected String[] getSources(String... args) {
+ final String[] sources = new String[args.length];
+ for (int i = 0; i < args.length; i++) {
+ String arg = args[i];
+ if (!arg.endsWith(".groovy") && !arg.endsWith(".xml")) {
+ if (new File(this.prefix + arg).isDirectory()) {
+ sources[i] = this.prefix + arg;
+ }
+ else {
+ sources[i] = arg;
+ }
+ }
+ else {
+ sources[i] = this.prefix + arg;
+ }
+ }
+ return sources;
+ }
+
+ public String getOutput() {
+ return this.outputCapture.toString();
+ }
+
+ @Override
+ public Statement apply(final Statement base, final Description description) {
+ final Statement statement = CliTester.this.outputCapture
+ .apply(new RunLauncherStatement(base), description);
+ return new Statement() {
+
+ @Override
+ public void evaluate() throws Throwable {
+ Assume.assumeTrue(
+ "Not running sample integration tests because integration profile not active",
+ System.getProperty("spring.profiles.active", "integration")
+ .contains("integration"));
+ statement.evaluate();
+ }
+ };
+ }
+
+ public String getHttpOutput() {
+ return getHttpOutput("/");
+ }
+
+ public String getHttpOutput(String uri) {
+ try {
+ InputStream stream = URI.create("http://localhost:" + this.port + uri).toURL()
+ .openStream();
+ BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
+ String line;
+ StringBuilder result = new StringBuilder();
+ while ((line = reader.readLine()) != null) {
+ result.append(line);
+ }
+ return result.toString();
+ }
+ catch (Exception ex) {
+ throw new IllegalStateException(ex);
+ }
+ }
+
+ private final class RunLauncherStatement extends Statement {
+
+ private final Statement base;
+
+ private RunLauncherStatement(Statement base) {
+ this.base = base;
+ }
+
+ @Override
+ public void evaluate() throws Throwable {
+ System.setProperty("disableSpringSnapshotRepos", "false");
+ try {
+ try {
+ this.base.evaluate();
+ }
+ finally {
+ for (AbstractCommand command : CliTester.this.commands) {
+ if (command != null && command instanceof RunCommand) {
+ ((RunCommand) command).stop();
+ }
+ }
+ System.clearProperty("disableSpringSnapshotRepos");
+ }
+ }
+ catch (Exception ex) {
+ throw new IllegalStateException(ex);
+ }
+ }
+ }
+
+}
diff --git a/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/OutputCapture.java b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/OutputCapture.java
new file mode 100644
index 0000000..5f7b809
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/OutputCapture.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2012-2014 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.cli;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintStream;
+
+import org.junit.rules.TestRule;
+import org.junit.runner.Description;
+import org.junit.runners.model.Statement;
+
+/**
+ * Capture output from System.out and System.err.
+ *
+ * @author Phillip Webb
+ */
+public class OutputCapture implements TestRule {
+
+ private CaptureOutputStream captureOut;
+
+ private CaptureOutputStream captureErr;
+
+ private ByteArrayOutputStream copy;
+
+ @Override
+ public Statement apply(final Statement base, Description description) {
+ return new Statement() {
+ @Override
+ public void evaluate() throws Throwable {
+ captureOutput();
+ try {
+ base.evaluate();
+ }
+ finally {
+ releaseOutput();
+ }
+ }
+ };
+ }
+
+ protected void captureOutput() {
+ this.copy = new ByteArrayOutputStream();
+ this.captureOut = new CaptureOutputStream(System.out, this.copy);
+ this.captureErr = new CaptureOutputStream(System.err, this.copy);
+ System.setOut(new PrintStream(this.captureOut));
+ System.setErr(new PrintStream(this.captureErr));
+ }
+
+ protected void releaseOutput() {
+ System.setOut(this.captureOut.getOriginal());
+ System.setErr(this.captureErr.getOriginal());
+ this.copy = null;
+ }
+
+ public void flush() {
+ try {
+ this.captureOut.flush();
+ this.captureErr.flush();
+ }
+ catch (IOException ex) {
+ // ignore
+ }
+ }
+
+ @Override
+ public String toString() {
+ flush();
+ return this.copy.toString();
+ }
+
+ private static class CaptureOutputStream extends OutputStream {
+
+ private final PrintStream original;
+
+ private final OutputStream copy;
+
+ CaptureOutputStream(PrintStream original, OutputStream copy) {
+ this.original = original;
+ this.copy = copy;
+ }
+
+ @Override
+ public void write(int b) throws IOException {
+ this.copy.write(b);
+ this.original.write(b);
+ this.original.flush();
+ }
+
+ @Override
+ public void write(byte[] b) throws IOException {
+ write(b, 0, b.length);
+ }
+
+ @Override
+ public void write(byte[] b, int off, int len) throws IOException {
+ this.copy.write(b, off, len);
+ this.original.write(b, off, len);
+ }
+
+ public PrintStream getOriginal() {
+ return this.original;
+ }
+
+ @Override
+ public void flush() throws IOException {
+ this.copy.flush();
+ this.original.flush();
+ }
+ }
+
+}
diff --git a/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/SampleIntegrationTests.java b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/SampleIntegrationTests.java
new file mode 100644
index 0000000..6536c28
--- /dev/null
+++ b/spring-cloud-cli-integration-tests/src/test/java/org/springframework/cloud/cli/SampleIntegrationTests.java
@@ -0,0 +1,79 @@
+/*
+ * 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.cli;
+
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.net.URI;
+
+import org.junit.Rule;
+import org.junit.Test;
+
+/**
+ * @author Dave Syer
+ *
+ */
+public class SampleIntegrationTests {
+
+ @Rule
+ public CliTester cli = new CliTester("samples/");
+
+ @Test
+ public void appSample() throws Exception {
+ String output = this.cli.run("app.groovy");
+ URI scriptUri = new File("samples/app.groovy").toURI();
+ assertTrue("Wrong output: " + output,
+ output.contains("Hello World! From " + scriptUri));
+ }
+
+ @Test
+ public void eurekaSample() throws Exception {
+ String output = this.cli.run("eureka.groovy");
+ assertTrue("Wrong output: " + output,
+ output.contains("Setting initial instance status as: STARTING"));
+ }
+
+ @Test
+ public void eurekaServerSample() throws Exception {
+ String output = this.cli.run("eurekaserver.groovy");
+ assertTrue("Wrong output: " + output,
+ output.contains("Setting the eureka configuration.."));
+ }
+
+ @Test
+ public void rabbitSample() throws Exception {
+ String output = this.cli.run("rabbit.groovy");
+ assertTrue("Wrong output: " + output,
+ output.contains("Registering MessageChannel errorChannel"));
+ }
+
+ @Test
+ public void configServerSample() throws Exception {
+ String output = this.cli.run("configserver.groovy", "--",
+ "--spring.config.name=configserver");
+ assertTrue("Wrong output: " + output,
+ output.contains("[/{name}/{profiles}/{label:.*}],methods=[GET]"));
+ }
+
+ @Test
+ public void zuulProxySample() throws Exception {
+ String output = this.cli.run("zuulproxy.groovy");
+ assertTrue("Wrong output: " + output,
+ output.contains("[/routes || /routes.json],methods=[GET]"));
+ }
+
+}
diff --git a/spring-cloud-cli/pom.xml b/spring-cloud-cli/pom.xml
index 1004dc6..d635e51 100644
--- a/spring-cloud-cli/pom.xml
+++ b/spring-cloud-cli/pom.xml
@@ -5,7 +5,7 @@
org.springframework.cloud
spring-cloud-cli
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
jar
spring-cloud-cli
@@ -14,7 +14,7 @@
org.springframework.cloud
spring-cloud-cli-parent
- 1.1.0.BUILD-SNAPSHOT
+ 1.1.0.M5
@@ -40,119 +40,4 @@
-
- UTF-8
- 1.7
- ${project.version}
-
-
-
-
- milestone
-
-
- repo.spring.io
- Spring Milestone Repository
- https://repo.spring.io/libs-milestone-local
-
-
-
-
- central
-
-
- sonatype-nexus-snapshots
- Sonatype Nexus Snapshots
- https://oss.sonatype.org/content/repositories/snapshots/
-
-
- sonatype-nexus-staging
- Nexus Release Repository
- https://oss.sonatype.org/service/local/staging/deploy/maven2/
-
-
-
-
-
- org.apache.maven.plugins
- maven-gpg-plugin
-
-
- sign-artifacts
- verify
-
- sign
-
-
-
-
-
-
-
-
-
-
- http://www.springsource.com/download/community
-
-
- spring-docs
- scp://static.springframework.org/var/www/domains/springframework.org/static/htdocs/spring-cloud-cli/docs/${project.version}
-
-
-
- repo.spring.io
- Spring Release Repository
- https://repo.spring.io/libs-release-local
-
-
- repo.spring.io
- Spring Snapshot Repository
- https://repo.spring.io/libs-snapshot-local
-
-
-
-
-
- spring-snapshots
- Spring Snapshots
- http://repo.spring.io/snapshot
-
- true
-
-
-
- spring-milestones
- Spring Milestones
- http://repo.spring.io/milestone
-
- false
-
-
-
- spring-releases
- Spring Releases
- http://repo.spring.io/release
-
- false
-
-
-
-
-
- spring-snapshots
- Spring Snapshots
- http://repo.spring.io/snapshot
-
- true
-
-
-
- spring-milestones
- Spring Milestones
- http://repo.spring.io/milestone
-
- false
-
-
-
diff --git a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudBomAstTransformation.java b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudBomAstTransformation.java
index 50c9f12..d3f3044 100644
--- a/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudBomAstTransformation.java
+++ b/spring-cloud-cli/src/main/java/org/springframework/cloud/cli/compiler/SpringCloudBomAstTransformation.java
@@ -28,7 +28,7 @@ import org.springframework.boot.cli.compiler.GenericBomAstTransformation;
@GroovyASTTransformation(phase = CompilePhase.CONVERSION)
public class SpringCloudBomAstTransformation extends GenericBomAstTransformation {
- private static final String SPRING_CLOUD_VERSION = "Brixton.BUILD-SNAPSHOT";
+ private static final String SPRING_CLOUD_VERSION = "Brixton.M5";
@Override
protected String getBomModule() {