From 33ca198cca95247b41dc5e0f0d489b87cde569c9 Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Mon, 3 Oct 2016 15:12:17 -0600 Subject: [PATCH] Add spring cloud --version option fixes gh-33 --- .../cloud/launcher/cli/LauncherCommand.java | 12 ++++++++++-- .../cloud/launcher/cli/LauncherCommandTests.java | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java b/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java index c0ea665..086d460 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java +++ b/spring-cloud-launcher/spring-cloud-launcher-cli/src/main/java/org/springframework/cloud/launcher/cli/LauncherCommand.java @@ -61,6 +61,7 @@ public class LauncherCommand extends OptionParsingCommand { EXAMPLES.add(new HelpExample("Launch Config Server and Eureka", "spring cloud configserver eureka")); EXAMPLES.add(new HelpExample("List deployable apps", "spring cloud --list")); + EXAMPLES.add(new HelpExample("Show version", "spring cloud --version")); } public LauncherCommand() { @@ -77,6 +78,7 @@ public class LauncherCommand extends OptionParsingCommand { private OptionSpec debugOption; private OptionSpec listOption; + private OptionSpec versionOption; @Override protected void options() { @@ -87,11 +89,16 @@ public class LauncherCommand extends OptionParsingCommand { "Debug logging for the deployer"); this.listOption = option(Arrays.asList("list", "l"), "List the deployables (don't launch anything)"); + this.versionOption = option(Arrays.asList("version", "v"), + "Show the version (don't launch anything)"); } @Override protected synchronized ExitStatus run(OptionSet options) throws Exception { - + if (options.has(this.versionOption)) { + System.out.println("Spring Cloud CLI v"+getVersion()); + return ExitStatus.OK; + } try { URLClassLoader classLoader = populateClassloader(options); @@ -106,7 +113,8 @@ public class LauncherCommand extends OptionParsingCommand { thread.join(); } catch (Exception e) { - e.printStackTrace(); + log.error("Error running spring cloud", e); + return ExitStatus.ERROR; } return ExitStatus.OK; diff --git a/spring-cloud-launcher/spring-cloud-launcher-cli/src/test/java/org/springframework/cloud/launcher/cli/LauncherCommandTests.java b/spring-cloud-launcher/spring-cloud-launcher-cli/src/test/java/org/springframework/cloud/launcher/cli/LauncherCommandTests.java index fae6676..db51b78 100644 --- a/spring-cloud-launcher/spring-cloud-launcher-cli/src/test/java/org/springframework/cloud/launcher/cli/LauncherCommandTests.java +++ b/spring-cloud-launcher/spring-cloud-launcher-cli/src/test/java/org/springframework/cloud/launcher/cli/LauncherCommandTests.java @@ -20,6 +20,7 @@ import org.junit.Rule; import org.junit.Test; import static org.hamcrest.CoreMatchers.containsString; +import static org.hamcrest.CoreMatchers.startsWith; import static org.junit.Assert.assertThat; /** @@ -41,4 +42,10 @@ public class LauncherCommandTests { new LauncherCommand().run("--list", "--", "--spring.profiles.active=test"); assertThat(output.toString(), containsString("foo")); } + + @Test + public void testVersion() throws Exception { + new LauncherCommand().run("--version"); + assertThat(output.toString(), startsWith("Spring Cloud CLI v")); + } }