From 374854a64b5d541b9b113bf79ca6a2123c44e60d Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 10 May 2017 19:01:36 +0200 Subject: [PATCH 1/3] Upgrade to karaf 4.x --- assembly/pom.xml | 29 ++++++++++--------- assembly/src/main/assembly/unix.xml | 6 ++-- assembly/src/main/assembly/win.xml | 6 ++-- .../main/filtered-resources/unix/bin/shell | 2 ++ project/pom.xml | 8 ++--- .../java/org/jclouds/cli/runner/Main.java | 17 ++++++----- 6 files changed, 37 insertions(+), 31 deletions(-) diff --git a/assembly/pom.xml b/assembly/pom.xml index a1eae0c..6b4ce7e 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -49,12 +49,12 @@ org.apache.karaf - apache-karaf + apache-karaf-minimal tar.gz org.apache.karaf - apache-karaf + apache-karaf-minimal zip @@ -114,6 +114,7 @@ org.apache.maven.plugins maven-dependency-plugin + 3.0.0 unpack-unix @@ -125,9 +126,8 @@ org.apache.karaf - apache-karaf + apache-karaf-minimal ${karaf.version} - minimal tar.gz target/dependencies/unix @@ -144,9 +144,8 @@ org.apache.karaf - apache-karaf + apache-karaf-minimal ${karaf.version} - minimal zip target/dependencies/win @@ -157,26 +156,30 @@ org.apache.karaf.tooling - features-maven-plugin + karaf-maven-plugin ${karaf.version} - add-features-to-repo + features-add-to-repository compile - add-features-to-repo + features-add-to-repository - mvn:org.apache.karaf.assemblies.features/standard/${karaf.version}/xml/features + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features + + mvn:org.apache.jclouds.karaf/jclouds-karaf-labs/${jclouds.karaf.version}/xml/features + config + shell-compat jclouds jclouds-commands jclouds-compute @@ -249,14 +252,14 @@ + dir="target/dependencies/unix/apache-karaf-minimal-${karaf.version}/bin"> - - diff --git a/assembly/src/main/assembly/unix.xml b/assembly/src/main/assembly/unix.xml index 095fe62..7ccf15e 100644 --- a/assembly/src/main/assembly/unix.xml +++ b/assembly/src/main/assembly/unix.xml @@ -28,7 +28,7 @@ - target/dependencies/unix/apache-karaf-${karaf.version} + target/dependencies/unix/apache-karaf-minimal-${karaf.version} / **/demos/** @@ -59,7 +59,7 @@ - target/dependencies/unix/apache-karaf-${karaf.version} + target/dependencies/unix/apache-karaf-minimal-${karaf.version} / bin/* @@ -119,7 +119,7 @@ - ${basedir}/target/dependencies/unix/apache-karaf-${karaf.version}/bin/karaf + ${basedir}/target/dependencies/unix/apache-karaf-minimal-${karaf.version}/bin/karaf /bin/ jclouds-cli 0755 diff --git a/assembly/src/main/assembly/win.xml b/assembly/src/main/assembly/win.xml index 88053f2..44a2638 100644 --- a/assembly/src/main/assembly/win.xml +++ b/assembly/src/main/assembly/win.xml @@ -28,7 +28,7 @@ - target/dependencies/win/apache-karaf-${karaf.version} + target/dependencies/win/apache-karaf-minimal-${karaf.version} / **/demos/** @@ -58,7 +58,7 @@ - target/dependencies/win/apache-karaf-${karaf.version} + target/dependencies/win/apache-karaf-minimal-${karaf.version} / bin/* @@ -117,7 +117,7 @@ - ${basedir}/target/dependencies/win/apache-karaf-${karaf.version}/bin/karaf.bat + ${basedir}/target/dependencies/win/apache-karaf-minimal-${karaf.version}/bin/karaf.bat /bin/ jclouds-cli.bat dos diff --git a/assembly/src/main/filtered-resources/unix/bin/shell b/assembly/src/main/filtered-resources/unix/bin/shell index d6ee688..4035bc3 100644 --- a/assembly/src/main/filtered-resources/unix/bin/shell +++ b/assembly/src/main/filtered-resources/unix/bin/shell @@ -266,6 +266,8 @@ setupDefaults() { CLASSPATH="$CLASSPATH:$KARAF_HOME/system/org/apache/jclouds/jclouds-core/${jclouds.version}/jclouds-core-${jclouds.version}.jar" CLASSPATH="$CLASSPATH:$KARAF_HOME/system/org/apache/jclouds/jclouds-blobstore/${jclouds.version}/jclouds-blobstore-${jclouds.version}.jar" CLASSPATH="$CLASSPATH:$KARAF_HOME/system/org/apache/karaf/shell/org.apache.karaf.shell.console/${karaf.version}/org.apache.karaf.shell.console-${karaf.version}.jar" + CLASSPATH="$CLASSPATH:$KARAF_HOME/system/org/apache/karaf/shell/org.apache.karaf.shell.core/${karaf.version}/org.apache.karaf.shell.core-${karaf.version}.jar" + CLASSPATH="$CLASSPATH:$KARAF_HOME/system/jline/jline/2.14.1/jline-2.14.1.jar" #We set external libraries for logging. CLASSPATH="$CLASSPATH:$KARAF_HOME/lib/other/slf4j-api-${slf4j.version}.jar:$KARAF_HOME/lib/other/slf4j-log4j12-${slf4j.version}.jar:$KARAF_HOME/lib/other/log4j-${log4j.version}.jar" CLASSPATH="$CLASSPATH:$KARAF_HOME/etc/log4j.properties" diff --git a/project/pom.xml b/project/pom.xml index 4d94f9e..0693eb5 100644 --- a/project/pom.xml +++ b/project/pom.xml @@ -66,7 +66,7 @@ - 2.3.11 + 4.0.9 1.3.7 1.7.4 1.8.0 @@ -85,7 +85,7 @@ 1.7.7 1.7 - 2.2.1 + 3.0.0 2.3.7 3.1 2.4 @@ -108,13 +108,13 @@ org.apache.karaf - apache-karaf + apache-karaf-minimal ${karaf.version} tar.gz org.apache.karaf - apache-karaf + apache-karaf-minimal ${karaf.version} zip diff --git a/runner/src/main/java/org/jclouds/cli/runner/Main.java b/runner/src/main/java/org/jclouds/cli/runner/Main.java index c2dde3e..4d0b9b9 100644 --- a/runner/src/main/java/org/jclouds/cli/runner/Main.java +++ b/runner/src/main/java/org/jclouds/cli/runner/Main.java @@ -49,9 +49,11 @@ import org.apache.felix.gogo.runtime.threadio.ThreadIOImpl; import org.apache.felix.service.command.CommandSession; import org.apache.felix.service.command.Function; +import org.apache.felix.service.threadio.ThreadIO; +import org.apache.karaf.shell.console.Console; import org.apache.karaf.shell.console.NameScoping; -import org.apache.karaf.shell.console.jline.Console; -import org.apache.karaf.shell.console.jline.TerminalFactory; +import org.apache.karaf.shell.console.impl.jline.ConsoleImpl; +import org.apache.karaf.shell.console.impl.jline.TerminalFactory; import org.fusesource.jansi.Ansi; import org.fusesource.jansi.AnsiConsole; import org.jclouds.blobstore.ContainerNotFoundException; @@ -173,7 +175,7 @@ public void run(String args[]) throws Exception { InputStream in = unwrap(System.in); PrintStream out = wrap(unwrap(System.out)); PrintStream err = wrap(unwrap(System.err)); - run(commandProcessor, args, in, out, err); + run(commandProcessor, threadio, args, in, out, err); } @@ -211,7 +213,7 @@ public static void addURL(URL u) throws IOException { } - private void run(final CommandProcessorImpl commandProcessor, String[] args, final InputStream in, final PrintStream out, final PrintStream err) throws Exception { + private void run(final CommandProcessorImpl commandProcessor, ThreadIO threadio, String[] args, final InputStream in, final PrintStream out, final PrintStream err) throws Exception { if (args.length > 0) { // Commands have the form: jclouds:category-action. @@ -276,10 +278,9 @@ private void run(final CommandProcessorImpl commandProcessor, String[] args, fin session.execute(sb); } else { // We are going into full blown interactive shell mode. - final TerminalFactory terminalFactory = new TerminalFactory(); final Terminal terminal = terminalFactory.getTerminal(); - Console console = createConsole(commandProcessor, in, out, err, terminal); + Console console = createConsole(commandProcessor, threadio, in, out, err, terminal); CommandSession session = console.getSession(); session.put("USER", user); session.put("APPLICATION", application); @@ -314,8 +315,8 @@ public Object execute(CommandSession session, List arguments) throws Exc * @return * @throws Exception */ - protected Console createConsole(CommandProcessorImpl commandProcessor, InputStream in, PrintStream out, PrintStream err, Terminal terminal) throws Exception { - return new Console(commandProcessor, in, out, err, terminal, null, null); + protected Console createConsole(CommandProcessorImpl commandProcessor, ThreadIO threadio, InputStream in, PrintStream out, PrintStream err, Terminal terminal) throws Exception { + return new ConsoleImpl(commandProcessor, threadio, in, out, err, terminal, null, null, null, false); } /** From a793d4fb4f019e7c50f38325aef67c5dfa845c04 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 10 May 2017 20:34:09 +0200 Subject: [PATCH 2/3] Fix windows batch file too --- assembly/src/main/filtered-resources/win/bin/shell.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/assembly/src/main/filtered-resources/win/bin/shell.bat b/assembly/src/main/filtered-resources/win/bin/shell.bat index 7597649..d35c1a6 100644 --- a/assembly/src/main/filtered-resources/win/bin/shell.bat +++ b/assembly/src/main/filtered-resources/win/bin/shell.bat @@ -116,6 +116,8 @@ set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\com\google\guava\guava/${guava.ver set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\jclouds\jclouds-core\${jclouds.version}\jclouds-core-${jclouds.version}.jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\jclouds\jclouds-blobstore\${jclouds.version}\jclouds-blobstore-${jclouds.version}.jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.console\${karaf.version}\org.apache.karaf.shell.console-${karaf.version}.jar +set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\org\apache\karaf\shell\org.apache.karaf.shell.core\${karaf.version}\org.apache.karaf.shell.core-${karaf.version}.jar +set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\system\jline\jline\2.14.1\jline-2.14.1.jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\lib\other\slf4j-api-${slf4j.version}.jar;%KARAF_HOME%\lib\other\slf4j-log4j12-${slf4j.version}.jar;%KARAF_HOME%\lib\other\log4j-${log4j.version}.jar set CLASSPATH=%CLASSPATH%;%KARAF_HOME%\etc\log4j.properties From 22d503224fe30221d8f51d4f6052646cef82a354 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Fri, 12 May 2017 11:50:50 +0200 Subject: [PATCH 3/3] Fix karaf assembly --- assembly/pom.xml | 2 ++ .../etc/org.apache.karaf.features.cfg | 8 +++-- .../filtered-resources/etc/startup.properties | 29 ++----------------- project/pom.xml | 22 +++++++------- 4 files changed, 22 insertions(+), 39 deletions(-) diff --git a/assembly/pom.xml b/assembly/pom.xml index 6b4ce7e..f5708e5 100644 --- a/assembly/pom.xml +++ b/assembly/pom.xml @@ -179,7 +179,9 @@ config + log shell-compat + wrap jclouds jclouds-commands jclouds-compute diff --git a/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg b/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg index 728c2b2..5d084c1 100644 --- a/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg +++ b/assembly/src/main/filtered-resources/etc/org.apache.karaf.features.cfg @@ -14,6 +14,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # -featuresRepositories=mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features +featuresRepositories=\ + mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features, \ + mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.karaf.version}/xml/features -featuresBoot=jclouds-chef,jclouds-aws-ec2,jclouds-aws-s3 \ No newline at end of file +featuresBoot=\ + shell-compat,config,log,\ + jclouds-chef,jclouds-aws-ec2,jclouds-aws-s3 \ No newline at end of file diff --git a/assembly/src/main/filtered-resources/etc/startup.properties b/assembly/src/main/filtered-resources/etc/startup.properties index 1b3fca7..48d0d36 100644 --- a/assembly/src/main/filtered-resources/etc/startup.properties +++ b/assembly/src/main/filtered-resources/etc/startup.properties @@ -17,34 +17,11 @@ # ################################################################################ -# -# Startup core services like logging -# -org/ops4j/pax/url/pax-url-mvn/${pax.url.version}/pax-url-mvn-${pax.url.version}.jar=5 -org/ops4j/pax/url/pax-url-wrap/${pax.url.version}/pax-url-wrap-${pax.url.version}.jar=5 org/ops4j/pax/logging/pax-logging-api/${pax.logging.version}/pax-logging-api-${pax.logging.version}.jar=8 org/ops4j/pax/logging/pax-logging-service/${pax.logging.version}/pax-logging-service-${pax.logging.version}.jar=8 org/apache/felix/org.apache.felix.configadmin/${felix.configadmin.version}/org.apache.felix.configadmin-${felix.configadmin.version}.jar=10 org/apache/felix/org.apache.felix.fileinstall/${felix.fileinstall.version}/org.apache.felix.fileinstall-${felix.fileinstall.version}.jar=11 +org/ops4j/pax/url/pax-url-aether/${pax.url.version}/pax-url-aether-${pax.url.version}.jar=5 +org/ops4j/pax/url/pax-url-wrap/${pax.url.version}/pax-url-wrap-${pax.url.version}-uber.jar=5 +mvn\:org.apache.karaf.features/org.apache.karaf.features.core/${karaf.version} = 15 - -# -# The rest of the services.. -# -org/ow2/asm/asm-all/${asm.version}/asm-all-${asm.version}.jar=20 -org/apache/aries/org.apache.aries.util/${aries.util.version}/org.apache.aries.util-${aries.util.version}.jar=20 -org/apache/aries/proxy/org.apache.aries.proxy.api/${aries.proxy.api.version}/org.apache.aries.proxy.api-${aries.proxy.api.version}.jar=20 -org/apache/aries/proxy/org.apache.aries.proxy.impl/${aries.proxy.version}/org.apache.aries.proxy.impl-${aries.proxy.version}.jar=20 -org/apache/aries/blueprint/org.apache.aries.blueprint.api/${aries.blueprint.api.version}/org.apache.aries.blueprint.api-${aries.blueprint.api.version}.jar=20 -org/apache/aries/blueprint/org.apache.aries.blueprint.core/${aries.blueprint.core.version}/org.apache.aries.blueprint.core-${aries.blueprint.core.version}.jar=20 -org/apache/aries/blueprint/org.apache.aries.blueprint.cm/${aries.blueprint.cm.version}/org.apache.aries.blueprint.cm-${aries.blueprint.cm.version}.jar=20 - -org/apache/karaf/shell/org.apache.karaf.shell.console/${karaf.version}/org.apache.karaf.shell.console-${karaf.version}.jar=25 - -org/apache/karaf/shell/org.apache.karaf.shell.log/${karaf.version}/org.apache.karaf.shell.log-${karaf.version}.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.commands/${karaf.version}/org.apache.karaf.shell.commands-${karaf.version}.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.config/${karaf.version}/org.apache.karaf.shell.config-${karaf.version}.jar=30 -org/apache/karaf/jaas/org.apache.karaf.jaas.config/${karaf.version}/org.apache.karaf.jaas.config-${karaf.version}.jar=30 -org/apache/karaf/jaas/org.apache.karaf.jaas.modules/${karaf.version}/org.apache.karaf.jaas.modules-${karaf.version}.jar=30 -org/apache/karaf/features/org.apache.karaf.features.core/${karaf.version}/org.apache.karaf.features.core-${karaf.version}.jar=30 -org/apache/karaf/features/org.apache.karaf.features.command/${karaf.version}/org.apache.karaf.features.command-${karaf.version}.jar=30 diff --git a/project/pom.xml b/project/pom.xml index 0693eb5..dd8f3c1 100644 --- a/project/pom.xml +++ b/project/pom.xml @@ -67,18 +67,18 @@ 4.0.9 - 1.3.7 - 1.7.4 - 1.8.0 - 1.1.0 - 1.0.2 - 1.0.0 - 1.0.0 - 1.4.0 - 1.0.3 + 2.5.2 + 1.8.5 + 1.8.14 + 1.1.1 + 1.0.5 + 1.0.1 + 1.0.1 + 1.7.1 + 1.0.9 1.1.1 - 4.1 - 3.4.2 + 5.0.4 + 3.5.8 ${project.parent.version} ${project.parent.version} 1.2.17