From 01ebd6da0814d8a965a3d6903aea4d0d48cee5af Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Sun, 21 Jul 2013 08:11:08 +0100 Subject: [PATCH] Fix CLI script --- README.md | 8 ++++---- .../tomcat/TomcatEmbeddedServletContainer.java | 4 +++- .../springframework/bootstrap/SimpleMainTests.java | 11 ++++++----- .../LoggingApplicationContextInitializerTests.java | 1 + .../main/java/org/springframework/cli/SpringCli.java | 2 +- .../cli/runner/SpringApplicationRunner.java | 6 ++++++ spring-cli/src/main/scripts/spring | 4 ++-- .../java/org/springframework/cli/SpringCliTests.java | 3 ++- 8 files changed, 25 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 6ab9e67e638..e730dca76ec 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ instructions will look like this: 2) Get Spring - $ curl -s spring.cfapps.io/installer | bash + $ curl -s initializr.cfapps.io/installer | bash or use the [Windows installer](#installing) @@ -43,7 +43,7 @@ or above. An `alias` can be used for the Spring Zero command line tool: - $ alias spr="java -jar ~/.m2/repository/org/springframework/zero/spring-cli/0.5.0.BUILD-SNAPSHOT/spring-cli-0.5.0.BUILD-SNAPSHOT.jar" + $ alias spring="java -jar ~/.m2/repository/org/springframework/zero/spring-cli/0.5.0.BUILD-SNAPSHOT/spring-cli-0.5.0.BUILD-SNAPSHOT.jar" _Also see [docs/CONTRIBUTING](docs/CONTRIBUTING.md) if you want to submit pull requests._ @@ -62,7 +62,7 @@ snippets that can just run, for example: } } - $ spr run app.groovy + $ spring run app.groovy $ curl localhost:8080 Hello World! @@ -165,7 +165,7 @@ _See [spring-launcher/README](spring-launcher/README.md) & ## Samples Groovy samples for use with the command line application are available in [spring-cli/samples](spring-cli/samples/#). To run the CLI samples type -`spr run .groovy` from samples directory. +`spring run .groovy` from samples directory. Java samples are available in [spring-zero-sample](spring-zero-samples/#) and should be build with maven and run use `java -jar target/.jar`. The following java diff --git a/spring-bootstrap/src/main/java/org/springframework/bootstrap/context/embedded/tomcat/TomcatEmbeddedServletContainer.java b/spring-bootstrap/src/main/java/org/springframework/bootstrap/context/embedded/tomcat/TomcatEmbeddedServletContainer.java index c71631fd9e7..8c2bf56509b 100644 --- a/spring-bootstrap/src/main/java/org/springframework/bootstrap/context/embedded/tomcat/TomcatEmbeddedServletContainer.java +++ b/spring-bootstrap/src/main/java/org/springframework/bootstrap/context/embedded/tomcat/TomcatEmbeddedServletContainer.java @@ -38,6 +38,8 @@ public class TomcatEmbeddedServletContainer implements EmbeddedServletContainer private final Log logger = LogFactory.getLog(TomcatEmbeddedServletContainer.class); + private static int containerCounter = 0; + private final Tomcat tomcat; /** @@ -55,7 +57,7 @@ public class TomcatEmbeddedServletContainer implements EmbeddedServletContainer this.tomcat.start(); // Unlike Jetty, all Tomcat threads are daemon threads. We create a // blocking non-daemon to stop immediate shutdown - Thread awaitThread = new Thread() { + Thread awaitThread = new Thread("container-" + (containerCounter++)) { @Override public void run() { TomcatEmbeddedServletContainer.this.tomcat.getServer().await(); diff --git a/spring-bootstrap/src/test/java/org/springframework/bootstrap/SimpleMainTests.java b/spring-bootstrap/src/test/java/org/springframework/bootstrap/SimpleMainTests.java index e963fba402c..08e7b229b28 100644 --- a/spring-bootstrap/src/test/java/org/springframework/bootstrap/SimpleMainTests.java +++ b/spring-bootstrap/src/test/java/org/springframework/bootstrap/SimpleMainTests.java @@ -39,6 +39,7 @@ import static org.junit.Assert.assertTrue; @Configuration public class SimpleMainTests { + private static final String SPRING_STARTUP = "root of context hierarchy"; private PrintStream savedOutput; private ByteArrayOutputStream output; @@ -58,33 +59,33 @@ public class SimpleMainTests { @Test(expected = IllegalArgumentException.class) public void emptyApplicationContext() throws Exception { SpringApplication.main(getArgs()); - assertTrue(getOutput().contains("Pre-instantiating singletons")); + assertTrue(getOutput().contains(SPRING_STARTUP)); } @Test public void basePackageScan() throws Exception { SpringApplication.main(getArgs(ClassUtils.getPackageName(getClass()) + ".sampleconfig")); - assertTrue(getOutput().contains("Pre-instantiating singletons")); + assertTrue(getOutput().contains(SPRING_STARTUP)); } @Test public void configClassContext() throws Exception { SpringApplication.main(getArgs(getClass().getName())); - assertTrue(getOutput().contains("Pre-instantiating singletons")); + assertTrue(getOutput().contains(SPRING_STARTUP)); } @Test public void xmlContext() throws Exception { SpringApplication.main(getArgs("org/springframework/bootstrap/sample-beans.xml")); - assertTrue(getOutput().contains("Pre-instantiating singletons")); + assertTrue(getOutput().contains(SPRING_STARTUP)); } @Test public void mixedContext() throws Exception { SpringApplication.main(getArgs(getClass().getName(), "org/springframework/bootstrap/sample-beans.xml")); - assertTrue(getOutput().contains("Pre-instantiating singletons")); + assertTrue(getOutput().contains(SPRING_STARTUP)); } private String[] getArgs(String... args) { diff --git a/spring-bootstrap/src/test/java/org/springframework/bootstrap/context/initializer/LoggingApplicationContextInitializerTests.java b/spring-bootstrap/src/test/java/org/springframework/bootstrap/context/initializer/LoggingApplicationContextInitializerTests.java index 43de38cb9b7..d3ce0b8b014 100644 --- a/spring-bootstrap/src/test/java/org/springframework/bootstrap/context/initializer/LoggingApplicationContextInitializerTests.java +++ b/spring-bootstrap/src/test/java/org/springframework/bootstrap/context/initializer/LoggingApplicationContextInitializerTests.java @@ -71,6 +71,7 @@ public class LoggingApplicationContextInitializerTests { System.clearProperty("LOG_PATH"); System.clearProperty("PID"); System.setOut(this.savedOutput); + System.out.println(getOutput()); } private String getOutput() { diff --git a/spring-cli/src/main/java/org/springframework/cli/SpringCli.java b/spring-cli/src/main/java/org/springframework/cli/SpringCli.java index b4a818620ca..7f5df4a5b37 100644 --- a/spring-cli/src/main/java/org/springframework/cli/SpringCli.java +++ b/spring-cli/src/main/java/org/springframework/cli/SpringCli.java @@ -39,7 +39,7 @@ import java.util.Set; */ public class SpringCli { - public static final String CLI_APP = "spr"; + public static final String CLI_APP = "spring"; private static final Set NO_EXCEPTION_OPTIONS = EnumSet .noneOf(SpringCliException.Option.class); diff --git a/spring-cli/src/main/java/org/springframework/cli/runner/SpringApplicationRunner.java b/spring-cli/src/main/java/org/springframework/cli/runner/SpringApplicationRunner.java index ade7d11b96f..9d3752d3e55 100644 --- a/spring-cli/src/main/java/org/springframework/cli/runner/SpringApplicationRunner.java +++ b/spring-cli/src/main/java/org/springframework/cli/runner/SpringApplicationRunner.java @@ -33,6 +33,10 @@ import org.springframework.cli.compiler.GroovyCompiler; */ public class SpringApplicationRunner { + private static int watcherCounter = 0; + + private static int runnerCounter = 0; + // FIXME logging private SpringApplicationRunnerConfiguration configuration; @@ -118,6 +122,7 @@ public class SpringApplicationRunner { * @param sources the sources to launch */ public RunThread(Object... sources) { + super("runner-" + (runnerCounter++)); this.sources = sources; if (sources.length != 0 && sources[0] instanceof Class) { setContextClassLoader(((Class) sources[0]).getClassLoader()); @@ -171,6 +176,7 @@ public class SpringApplicationRunner { private long previous; public FileWatchThread() { + super("filewatcher-" + (watcherCounter++)); this.previous = 0; for (File file : SpringApplicationRunner.this.files) { long current = file.lastModified(); diff --git a/spring-cli/src/main/scripts/spring b/spring-cli/src/main/scripts/spring index d657a9eff43..35afc1581cf 100755 --- a/spring-cli/src/main/scripts/spring +++ b/spring-cli/src/main/scripts/spring @@ -63,7 +63,7 @@ if [ -f build.gradle ]; then TARGETDIR=build/classes/main fi -for f in "${TARGETDIR}" "${SPRING_HOME}"/classes "${SPRING_BIN}" "${SPRING_HOME}"/*.jar "${SPRING_HOME}"/lib/*.jar; do +for f in . "${TARGETDIR}" "${SPRING_HOME}"/classes "${SPRING_BIN}" "${SPRING_HOME}"/*.jar "${SPRING_HOME}"/lib/*.jar; do if [ -f $f -o -d $f ]; then if [ "${CLASSPATH}" == "" ]; then CLASSPATH="${f}" @@ -77,4 +77,4 @@ if $cygwin; then CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` fi -${JAVA_HOME}/bin/java ${JAVA_OPTS} -cp "$CLASSPATH" org.springframework.bootstrap.cli.SpringBootstrapCli $* \ No newline at end of file +${JAVA_HOME}/bin/java ${JAVA_OPTS} -cp "$CLASSPATH" org.springframework.cli.SpringCli $* \ No newline at end of file diff --git a/spring-cli/src/test/java/org/springframework/cli/SpringCliTests.java b/spring-cli/src/test/java/org/springframework/cli/SpringCliTests.java index 7ac32841a5e..9cc24218d2c 100644 --- a/spring-cli/src/test/java/org/springframework/cli/SpringCliTests.java +++ b/spring-cli/src/test/java/org/springframework/cli/SpringCliTests.java @@ -133,7 +133,8 @@ public class SpringCliTests { @Test public void exceptionMessages() throws Exception { assertThat(new NoSuchCommandException("name").getMessage(), - equalTo("spr: 'name' is not a valid command. See 'spr help'.")); + equalTo(SpringCli.CLI_APP + ": 'name' is not a valid command. See '" + + SpringCli.CLI_APP + " help'.")); } @Test