From ec83869c9f283299a83e52566e687caf8fa7da44 Mon Sep 17 00:00:00 2001 From: Eric Bottard Date: Sat, 27 May 2017 14:48:54 +0200 Subject: [PATCH] Introduce -standard and -standard-commands artifacts Fixes #43 --- .gitignore | 1 + pom.xml | 12 ++++++++++ .../org/springframework/shell2/Bootstrap.java | 3 --- spring-shell2-samples/pom.xml | 9 ++++++++ spring-shell2-standard-commands/pom.xml | 22 +++++++++++++++++++ .../shell2/standard}/commands/Console.java | 4 ++-- .../shell2/standard}/commands/Help.java | 4 ++-- .../shell2/standard}/commands/Quit.java | 4 ++-- .../standard}/commands/package-info.java | 2 +- .../shell2/standard}/commands/HelpTest.java | 4 ++-- .../commands/HelpTest-testCommandHelp.txt | 0 .../commands/HelpTest-testCommandList.txt | 0 spring-shell2-standard/pom.xml | 21 ++++++++++++++++++ .../shell2/standard/CommandValueProvider.java | 0 .../shell2/standard/EnumValueProvider.java | 0 .../shell2/standard/ShellComponent.java | 0 .../shell2/standard/ShellMethod.java | 0 .../shell2/standard/ShellOption.java | 0 .../StandardMethodTargetResolver.java | 0 .../standard/StandardParameterResolver.java | 0 .../shell2/standard/ValueProvider.java | 0 .../shell2/standard/ValueProviderSupport.java | 0 .../shell2/standard/package-info.java | 0 .../standard/CommandValueProviderTest.java | 0 .../shell2/standard/Remote.java | 0 .../StandardParameterResolverTest.java | 0 26 files changed, 74 insertions(+), 12 deletions(-) create mode 100644 spring-shell2-standard-commands/pom.xml rename {spring-shell2-core/src/main/java/org/springframework/shell2 => spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard}/commands/Console.java (91%) rename {spring-shell2-core/src/main/java/org/springframework/shell2 => spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard}/commands/Help.java (98%) rename {spring-shell2-core/src/main/java/org/springframework/shell2 => spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard}/commands/Quit.java (90%) rename {spring-shell2-core/src/main/java/org/springframework/shell2 => spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard}/commands/package-info.java (93%) rename {spring-shell2-core/src/test/java/org/springframework/shell2 => spring-shell2-standard-commands/src/test/java/org/springframework/shell2/standard}/commands/HelpTest.java (97%) rename {spring-shell2-core/src/test/resources/org/springframework/shell2 => spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard}/commands/HelpTest-testCommandHelp.txt (100%) rename {spring-shell2-core/src/test/resources/org/springframework/shell2 => spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard}/commands/HelpTest-testCommandList.txt (100%) create mode 100644 spring-shell2-standard/pom.xml rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/CommandValueProvider.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/EnumValueProvider.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/ShellComponent.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/ShellMethod.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/ShellOption.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/StandardMethodTargetResolver.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/StandardParameterResolver.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/ValueProvider.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/ValueProviderSupport.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/main/java/org/springframework/shell2/standard/package-info.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/test/java/org/springframework/shell2/standard/CommandValueProviderTest.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/test/java/org/springframework/shell2/standard/Remote.java (100%) rename {spring-shell2-core => spring-shell2-standard}/src/test/java/org/springframework/shell2/standard/StandardParameterResolverTest.java (100%) diff --git a/.gitignore b/.gitignore index 6c514c61..ab2541df 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ target/ *.iml *.ipr *.iws +.DS_Store diff --git a/pom.xml b/pom.xml index 31ef4b40..f67fef34 100644 --- a/pom.xml +++ b/pom.xml @@ -21,6 +21,8 @@ spring-shell2-core + spring-shell2-standard + spring-shell2-standard-commands spring-shell2-jcommander-adapter spring-shell2-samples spring-shell2-shell1-adapter @@ -33,6 +35,16 @@ spring-shell2-core ${project.version} + + org.springframework.shell + spring-shell2-standard + ${project.version} + + + org.springframework.shell + spring-shell2-standard-commands + ${project.version} + org.springframework.shell spring-shell2-shell1-adapter diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/Bootstrap.java b/spring-shell2-core/src/main/java/org/springframework/shell2/Bootstrap.java index 50109b16..d82c4a92 100644 --- a/spring-shell2-core/src/main/java/org/springframework/shell2/Bootstrap.java +++ b/spring-shell2-core/src/main/java/org/springframework/shell2/Bootstrap.java @@ -25,11 +25,8 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; import org.springframework.core.convert.ConversionService; import org.springframework.core.convert.support.DefaultConversionService; -import org.springframework.shell2.standard.EnumValueProvider; -import org.springframework.shell2.standard.StandardParameterResolver; /** * Main entry point for the application. diff --git a/spring-shell2-samples/pom.xml b/spring-shell2-samples/pom.xml index 73b2329f..31f5abc9 100644 --- a/spring-shell2-samples/pom.xml +++ b/spring-shell2-samples/pom.xml @@ -30,6 +30,15 @@ org.springframework.shell spring-shell2-core + + org.springframework.shell + spring-shell2-standard + + + org.springframework.shell + spring-shell2-standard-commands + runtime + org.springframework.shell spring-shell2-shell1-adapter diff --git a/spring-shell2-standard-commands/pom.xml b/spring-shell2-standard-commands/pom.xml new file mode 100644 index 00000000..cf2fdc22 --- /dev/null +++ b/spring-shell2-standard-commands/pom.xml @@ -0,0 +1,22 @@ + + 4.0.0 + + spring-shell2-standard-commands + jar + + + org.springframework.shell + spring-shell2-parent + 2.0.0.BUILD-SNAPSHOT + + + Standard out-of-the-box shell commands, implemented using the Standard API + + + org.springframework.shell + spring-shell2-standard + + + + diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Console.java b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Console.java similarity index 91% rename from spring-shell2-core/src/main/java/org/springframework/shell2/commands/Console.java rename to spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Console.java index 832af911..41dbf93d 100644 --- a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Console.java +++ b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Console.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2017 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.shell2.commands; +package org.springframework.shell2.standard.commands; import org.jline.terminal.Terminal; import org.jline.utils.InfoCmp; diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Help.java b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Help.java similarity index 98% rename from spring-shell2-core/src/main/java/org/springframework/shell2/commands/Help.java rename to spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Help.java index 6a670cbe..418ef057 100644 --- a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Help.java +++ b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Help.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2017 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.shell2.commands; +package org.springframework.shell2.standard.commands; import static java.util.stream.Collectors.mapping; import static java.util.stream.Collectors.toCollection; diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Quit.java b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Quit.java similarity index 90% rename from spring-shell2-core/src/main/java/org/springframework/shell2/commands/Quit.java rename to spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Quit.java index 41927158..24068704 100644 --- a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/Quit.java +++ b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/Quit.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2017 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.shell2.commands; +package org.springframework.shell2.standard.commands; import org.springframework.shell2.ExitRequest; import org.springframework.shell2.standard.ShellComponent; diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/package-info.java b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/package-info.java similarity index 93% rename from spring-shell2-core/src/main/java/org/springframework/shell2/commands/package-info.java rename to spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/package-info.java index 6965a1ea..c5be80fc 100644 --- a/spring-shell2-core/src/main/java/org/springframework/shell2/commands/package-info.java +++ b/spring-shell2-standard-commands/src/main/java/org/springframework/shell2/standard/commands/package-info.java @@ -19,4 +19,4 @@ * * @author Eric Bottard */ -package org.springframework.shell2.commands; +package org.springframework.shell2.standard.commands; diff --git a/spring-shell2-core/src/test/java/org/springframework/shell2/commands/HelpTest.java b/spring-shell2-standard-commands/src/test/java/org/springframework/shell2/standard/commands/HelpTest.java similarity index 97% rename from spring-shell2-core/src/test/java/org/springframework/shell2/commands/HelpTest.java rename to spring-shell2-standard-commands/src/test/java/org/springframework/shell2/standard/commands/HelpTest.java index 61e9ea23..6b592431 100644 --- a/spring-shell2-core/src/test/java/org/springframework/shell2/commands/HelpTest.java +++ b/spring-shell2-standard-commands/src/test/java/org/springframework/shell2/standard/commands/HelpTest.java @@ -1,5 +1,5 @@ /* - * Copyright 2015 the original author or authors. + * Copyright 2017 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. @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.shell2.commands; +package org.springframework.shell2.standard.commands; import java.io.IOException; import java.io.InputStream; diff --git a/spring-shell2-core/src/test/resources/org/springframework/shell2/commands/HelpTest-testCommandHelp.txt b/spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard/commands/HelpTest-testCommandHelp.txt similarity index 100% rename from spring-shell2-core/src/test/resources/org/springframework/shell2/commands/HelpTest-testCommandHelp.txt rename to spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard/commands/HelpTest-testCommandHelp.txt diff --git a/spring-shell2-core/src/test/resources/org/springframework/shell2/commands/HelpTest-testCommandList.txt b/spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard/commands/HelpTest-testCommandList.txt similarity index 100% rename from spring-shell2-core/src/test/resources/org/springframework/shell2/commands/HelpTest-testCommandList.txt rename to spring-shell2-standard-commands/src/test/resources/org/springframework/shell2/standard/commands/HelpTest-testCommandList.txt diff --git a/spring-shell2-standard/pom.xml b/spring-shell2-standard/pom.xml new file mode 100644 index 00000000..1d3ea020 --- /dev/null +++ b/spring-shell2-standard/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + spring-shell2-standard + jar + + + org.springframework.shell + spring-shell2-parent + 2.0.0.BUILD-SNAPSHOT + + + APIs and resolvers for using the standard Spring Shell programming model + + + org.springframework.shell + spring-shell2-core + + + diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/CommandValueProvider.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/CommandValueProvider.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/CommandValueProvider.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/CommandValueProvider.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/EnumValueProvider.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/EnumValueProvider.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/EnumValueProvider.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/EnumValueProvider.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellComponent.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellComponent.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellComponent.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellComponent.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellMethod.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellMethod.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellMethod.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellMethod.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellOption.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellOption.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/ShellOption.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ShellOption.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/StandardMethodTargetResolver.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/StandardMethodTargetResolver.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/StandardMethodTargetResolver.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/StandardMethodTargetResolver.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/StandardParameterResolver.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/StandardParameterResolver.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/StandardParameterResolver.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/StandardParameterResolver.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/ValueProvider.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ValueProvider.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/ValueProvider.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ValueProvider.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/ValueProviderSupport.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ValueProviderSupport.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/ValueProviderSupport.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/ValueProviderSupport.java diff --git a/spring-shell2-core/src/main/java/org/springframework/shell2/standard/package-info.java b/spring-shell2-standard/src/main/java/org/springframework/shell2/standard/package-info.java similarity index 100% rename from spring-shell2-core/src/main/java/org/springframework/shell2/standard/package-info.java rename to spring-shell2-standard/src/main/java/org/springframework/shell2/standard/package-info.java diff --git a/spring-shell2-core/src/test/java/org/springframework/shell2/standard/CommandValueProviderTest.java b/spring-shell2-standard/src/test/java/org/springframework/shell2/standard/CommandValueProviderTest.java similarity index 100% rename from spring-shell2-core/src/test/java/org/springframework/shell2/standard/CommandValueProviderTest.java rename to spring-shell2-standard/src/test/java/org/springframework/shell2/standard/CommandValueProviderTest.java diff --git a/spring-shell2-core/src/test/java/org/springframework/shell2/standard/Remote.java b/spring-shell2-standard/src/test/java/org/springframework/shell2/standard/Remote.java similarity index 100% rename from spring-shell2-core/src/test/java/org/springframework/shell2/standard/Remote.java rename to spring-shell2-standard/src/test/java/org/springframework/shell2/standard/Remote.java diff --git a/spring-shell2-core/src/test/java/org/springframework/shell2/standard/StandardParameterResolverTest.java b/spring-shell2-standard/src/test/java/org/springframework/shell2/standard/StandardParameterResolverTest.java similarity index 100% rename from spring-shell2-core/src/test/java/org/springframework/shell2/standard/StandardParameterResolverTest.java rename to spring-shell2-standard/src/test/java/org/springframework/shell2/standard/StandardParameterResolverTest.java