diff --git a/console/pom.xml b/console/pom.xml index 5a66950..fae4244 100644 --- a/console/pom.xml +++ b/console/pom.xml @@ -25,8 +25,8 @@ 4.0.0 - Axemblr Provisionr :: Console & REST API - A basic web console and a REST API for Axemblr Provisionr + Axemblr Provisionr :: Web Console & REST API + A basic web console and a REST API provisionr-console bundle @@ -43,11 +43,71 @@ + + + src/main/resources + true + + **/* + + + org.apache.felix maven-bundle-plugin + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + package + + attach-artifact + + + + + ${project.build.directory}/classes/features.xml + xml + features + + + ${project.build.directory}/classes/com.axemblr.provisionr.console.cfg + cfg + defaults + + + + + + + + org.apache.karaf.tooling + features-maven-plugin + ${karaf.version} + + + add-features-to-repo + package + + + add-features-to-repo + + + + file:${project.build.directory}/classes/features.xml + + + axemblr-provisionr-console + + target/features-repo + + + + \ No newline at end of file diff --git a/console/src/main/java/com/axemblr/provisionr/client/ProvisionrClient.java b/console/src/main/java/com/axemblr/provisionr/client/ProvisionrClient.java index 3c683be..03be678 100644 --- a/console/src/main/java/com/axemblr/provisionr/client/ProvisionrClient.java +++ b/console/src/main/java/com/axemblr/provisionr/client/ProvisionrClient.java @@ -17,22 +17,15 @@ package com.axemblr.provisionr.client; import com.axemblr.provisionr.api.Provisionr; +import static com.google.common.base.Preconditions.checkNotNull; import java.util.List; -import java.util.UUID; public class ProvisionrClient { private final List services; public ProvisionrClient(List services) { - this.services = services; - } - - public void init() { - System.out.println("**** Starting client. Got " + services.size() + " services."); - for (Provisionr service : services) { - service.startPoolManagementProcess(UUID.randomUUID().toString(), null); - } + this.services = checkNotNull(services, "services is null"); } public List getServices() { diff --git a/console/src/main/resources/OSGI-INF/blueprint/context.xml b/console/src/main/resources/OSGI-INF/blueprint/context.xml index 19a0369..2591a8c 100644 --- a/console/src/main/resources/OSGI-INF/blueprint/context.xml +++ b/console/src/main/resources/OSGI-INF/blueprint/context.xml @@ -14,12 +14,26 @@ ~ limitations under the License. --> - + - + - - + + + + + + + + + + + + + + diff --git a/console/src/main/resources/com.axemblr.provisionr.console.cfg b/console/src/main/resources/com.axemblr.provisionr.console.cfg new file mode 100644 index 0000000..5e012c3 --- /dev/null +++ b/console/src/main/resources/com.axemblr.provisionr.console.cfg @@ -0,0 +1,5 @@ + +# +# REST API Configurations +# + diff --git a/console/src/main/resources/features.xml b/console/src/main/resources/features.xml new file mode 100644 index 0000000..9daa190 --- /dev/null +++ b/console/src/main/resources/features.xml @@ -0,0 +1,40 @@ + + + + + + + + mvn:com.axemblr.provisionr/provisionr-core/${project.version}/xml/features + + + mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features + + + + cxf + axemblr-provisionr-core + + mvn:com.axemblr.provisionr/provisionr-console/${project.version} + + + mvn:com.axemblr.provisionr/provisionr-console/${project.version}/cfg/defaults + + + + \ No newline at end of file diff --git a/karaf/tests/pom.xml b/karaf/assembly-tests/pom.xml similarity index 76% rename from karaf/tests/pom.xml rename to karaf/assembly-tests/pom.xml index 569766c..aae1ce7 100644 --- a/karaf/tests/pom.xml +++ b/karaf/assembly-tests/pom.xml @@ -15,7 +15,8 @@ ~ limitations under the License. --> - + provisionr-parent com.axemblr.provisionr @@ -24,14 +25,15 @@ 4.0.0 - Axemblr Provisionr :: Karaf Integration Tests - karaf-tests + Axemblr Provisionr :: Custom Karaf Distribution Tests + provisionr-assembly-tests jar com.axemblr.provisionr - provisionr-features + provisionr-assembly + ${project.version} test @@ -39,14 +41,6 @@ provisionr-test-support test - - org.jclouds.karaf - jclouds-karaf - ${jclouds.karaf.version} - xml - features - test - diff --git a/karaf/tests/src/test/java/com/axemblr/provisionr/karaf/KarafDistributionTest.java b/karaf/assembly-tests/src/test/java/com/axemblr/provisionr/karaf/CustomKarafDistributionTest.java similarity index 82% rename from karaf/tests/src/test/java/com/axemblr/provisionr/karaf/KarafDistributionTest.java rename to karaf/assembly-tests/src/test/java/com/axemblr/provisionr/karaf/CustomKarafDistributionTest.java index 2c954ae..35a22b4 100644 --- a/karaf/tests/src/test/java/com/axemblr/provisionr/karaf/KarafDistributionTest.java +++ b/karaf/assembly-tests/src/test/java/com/axemblr/provisionr/karaf/CustomKarafDistributionTest.java @@ -17,30 +17,35 @@ package com.axemblr.provisionr.karaf; import com.axemblr.provisionr.api.Provisionr; -import static com.axemblr.provisionr.test.KarafTests.projectVersionAsSystemProperty; -import static com.axemblr.provisionr.test.KarafTests.useDefaultKarafAsInProjectWithJunitBundles; +import static com.axemblr.provisionr.test.KarafTests.getKarafVersionAsInProject; import com.google.common.base.Stopwatch; import com.google.common.io.CharStreams; +import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.net.InetSocketAddress; import java.net.Socket; -import java.net.URI; import java.net.URL; import java.util.concurrent.TimeUnit; import javax.inject.Inject; import org.apache.karaf.features.Feature; import org.apache.karaf.features.FeaturesService; +import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.karafDistributionConfiguration; +import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.keepRuntimeFolder; +import static org.apache.karaf.tooling.exam.options.KarafDistributionOption.logLevel; +import org.apache.karaf.tooling.exam.options.LogLevelOption; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import org.junit.Test; import org.junit.runner.RunWith; +import static org.ops4j.pax.exam.CoreOptions.junitBundles; import static org.ops4j.pax.exam.CoreOptions.maven; import org.ops4j.pax.exam.Option; import org.ops4j.pax.exam.junit.Configuration; import org.ops4j.pax.exam.junit.ExamReactorStrategy; import org.ops4j.pax.exam.junit.JUnit4TestRunner; +import org.ops4j.pax.exam.options.MavenArtifactUrlReference; import org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactorFactory; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; @@ -50,13 +55,13 @@ import org.slf4j.LoggerFactory; /** - * Test Axemblr Provisionr Feature installation in Apache Karaf. + * Run a set of tests on the custom Karaf distribution */ @RunWith(JUnit4TestRunner.class) @ExamReactorStrategy(AllConfinedStagedReactorFactory.class) -public class KarafDistributionTest { +public class CustomKarafDistributionTest { - private static final Logger LOG = LoggerFactory.getLogger(KarafDistributionTest.class); + private static final Logger LOG = LoggerFactory.getLogger(CustomKarafDistributionTest.class); public static final String ACTIVITI_EXPLORER_URL = "http://localhost:8181/activiti-explorer/"; @@ -75,17 +80,23 @@ public class KarafDistributionTest { @Configuration public Option[] configuration() throws Exception { + MavenArtifactUrlReference distributionUrl = maven().groupId("com.axemblr.provisionr") + .artifactId("provisionr-assembly").versionAsInProject().type("tar.gz"); + return new Option[]{ - useDefaultKarafAsInProjectWithJunitBundles(), - projectVersionAsSystemProperty() + karafDistributionConfiguration() + .frameworkUrl(distributionUrl) + .karafVersion(getKarafVersionAsInProject()) + .name("Axemblr Provisionr") + .unpackDirectory(new File("target/exam")), + keepRuntimeFolder(), + junitBundles(), + logLevel(LogLevelOption.LogLevel.INFO) }; } @Test public void testAllFeaturesStartAsExpected() throws Exception { - features.addRepository(getProvisionrFeaturesUrl()); - - features.installFeature("axemblr-provisionr-all"); assertFeatureInstalled("axemblr-provisionr-all"); assertAllBundlesAreActive(); @@ -118,9 +129,8 @@ private void assertActivitiExplorerIsRunningInLessThan(int timeoutInMilliseconds } } - private void assertProvisionrServicesAreStartedInLessThan(int timeoutInMilliseconds) throws InterruptedException { - final ServiceTracker tracker = new ServiceTracker(bundleContext, - Provisionr.class.getCanonicalName(), null); + private void assertProvisionrServicesAreStartedInLessThan(int timeoutInMilliseconds) throws InterruptedException { + final ServiceTracker tracker = new ServiceTracker(bundleContext, Provisionr.class.getCanonicalName(), null); tracker.open(true); try { final Stopwatch stopwatch = new Stopwatch().start(); @@ -153,14 +163,6 @@ private void assertProvisionrServicesAreStartedInLessThan(int timeoutInMilli } } - private URI getProvisionrFeaturesUrl() { - return URI.create(maven("com.axemblr.provisionr", "provisionr-features") - .version(System.getProperty("project.version")) - .classifier("features") - .type("xml") - .getURL()); - } - private void assertAllBundlesAreActive() { for (Bundle bundle : bundleContext.getBundles()) { // skip fragments, they can't be started diff --git a/karaf/assembly/pom.xml b/karaf/assembly/pom.xml index a4aca17..d1f2040 100644 --- a/karaf/assembly/pom.xml +++ b/karaf/assembly/pom.xml @@ -25,24 +25,19 @@ 4.0.0 - Axemblr Provisionr :: Assembly + Axemblr Provisionr :: Custom Karaf Distribution + Install all the features as a custom Karaf distribution provisionr-assembly com.axemblr.provisionr provisionr-branding - ${project.version} com.axemblr.provisionr - provisionr-amazon - ${project.version} - - - com.axemblr.provisionr - provisionr-cloudstack - ${project.version} + provisionr-features + provided org.apache.karaf @@ -50,12 +45,6 @@ ${karaf.version} tar.gz - - org.activiti.karaf - activiti-karaf-commands - ${project.version} - runtime - diff --git a/karaf/assembly/src/main/assembly/unix.xml b/karaf/assembly/src/main/assembly/unix.xml index 2eb0c67..b5d77b9 100644 --- a/karaf/assembly/src/main/assembly/unix.xml +++ b/karaf/assembly/src/main/assembly/unix.xml @@ -33,7 +33,8 @@ etc/org.apache.karaf.features.cfg etc/custom.properties etc/startup.properties - etc/org.apache.karaf.management.cfg + etc/jre.properties* + etc/org.apache.karaf.features.repos.cfg readme.txt LICENSE NOTICE diff --git a/karaf/assembly/src/main/filtered-resources/etc/jre.properties b/karaf/assembly/src/main/filtered-resources/etc/jre.properties new file mode 100755 index 0000000..634c51d --- /dev/null +++ b/karaf/assembly/src/main/filtered-resources/etc/jre.properties @@ -0,0 +1,472 @@ +################################################################################ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# +################################################################################ + +# +# Java platform package export properties (updated to work with Apache CXF) +# + +# Standard package set. Note that: +# - javax.transaction* is exported with a mandatory attribute +jre-1.5= \ + javax.accessibility, \ + javax.activity, \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ + javax.xml.xpath, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers + +# Standard package set. Note that: +# - javax.transaction* is exported with a mandatory attribute +jre-1.6= \ + javax.accessibility, \ +# javax.activation, \ + javax.activity, \ +# javax.annotation;version="1.1", \ + javax.annotation.processing;version="1.1", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ +# javax.jws, \ +# javax.jws.soap, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ +# javax.xml.bind, \ +# javax.xml.bind.annotation, \ +# javax.xml.bind.annotation.adapters, \ +# javax.xml.bind.attachment, \ +# javax.xml.bind.helpers, \ +# javax.xml.bind.util, \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ +# javax.xml.soap, \ +# javax.xml.stream, \ +# javax.xml.stream.events, \ +# javax.xml.stream.util, \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ +# javax.xml.ws, \ +# javax.xml.ws.handler, \ +# javax.xml.ws.handler.soap, \ +# javax.xml.ws.http, \ +# javax.xml.ws.soap, \ +# javax.xml.ws.spi, \ + javax.xml.ws.wsaddressing, \ + javax.xml.xpath, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers + +# Standard package set. Note that: +# - javax.transaction* is exported with a mandatory attribute +jre-1.7= \ + javax.accessibility, \ +# javax.activation, \ + javax.activity, \ +# javax.annotation;version="1.1", \ + javax.annotation.processing;version="1.1", \ + javax.crypto, \ + javax.crypto.interfaces, \ + javax.crypto.spec, \ + javax.imageio, \ + javax.imageio.event, \ + javax.imageio.metadata, \ + javax.imageio.plugins.bmp, \ + javax.imageio.plugins.jpeg, \ + javax.imageio.spi, \ + javax.imageio.stream, \ +# javax.jws, \ +# javax.jws.soap, \ + javax.lang.model, \ + javax.lang.model.element, \ + javax.lang.model.type, \ + javax.lang.model.util, \ + javax.management, \ + javax.management.loading, \ + javax.management.modelmbean, \ + javax.management.monitor, \ + javax.management.openmbean, \ + javax.management.relation, \ + javax.management.remote, \ + javax.management.remote.rmi, \ + javax.management.timer, \ + javax.naming, \ + javax.naming.directory, \ + javax.naming.event, \ + javax.naming.ldap, \ + javax.naming.spi, \ + javax.net, \ + javax.net.ssl, \ + javax.print, \ + javax.print.attribute, \ + javax.print.attribute.standard, \ + javax.print.event, \ + javax.rmi, \ + javax.rmi.CORBA, \ + javax.rmi.ssl, \ + javax.script, \ + javax.security.auth, \ + javax.security.auth.callback, \ + javax.security.auth.kerberos, \ + javax.security.auth.login, \ + javax.security.auth.spi, \ + javax.security.auth.x500, \ + javax.security.cert, \ + javax.security.sasl, \ + javax.sound.midi, \ + javax.sound.midi.spi, \ + javax.sound.sampled, \ + javax.sound.sampled.spi, \ + javax.sql, \ + javax.sql.rowset, \ + javax.sql.rowset.serial, \ + javax.sql.rowset.spi, \ + javax.swing, \ + javax.swing.border, \ + javax.swing.colorchooser, \ + javax.swing.event, \ + javax.swing.filechooser, \ + javax.swing.plaf, \ + javax.swing.plaf.basic, \ + javax.swing.plaf.metal, \ + javax.swing.plaf.multi, \ + javax.swing.plaf.synth, \ + javax.swing.table, \ + javax.swing.text, \ + javax.swing.text.html, \ + javax.swing.text.html.parser, \ + javax.swing.text.rtf, \ + javax.swing.tree, \ + javax.swing.undo, \ + javax.tools, \ + javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \ + javax.xml, \ +# javax.xml.bind, \ +# javax.xml.bind.annotation, \ +# javax.xml.bind.annotation.adapters, \ +# javax.xml.bind.attachment, \ +# javax.xml.bind.helpers, \ +# javax.xml.bind.util, \ + javax.xml.crypto, \ + javax.xml.crypto.dom, \ + javax.xml.crypto.dsig, \ + javax.xml.crypto.dsig.dom, \ + javax.xml.crypto.dsig.keyinfo, \ + javax.xml.crypto.dsig.spec, \ + javax.xml.datatype, \ + javax.xml.namespace, \ + javax.xml.parsers, \ +# javax.xml.soap, \ +# javax.xml.stream, \ +# javax.xml.stream.events, \ +# javax.xml.stream.util, \ + javax.xml.transform, \ + javax.xml.transform.dom, \ + javax.xml.transform.sax, \ + javax.xml.transform.stax, \ + javax.xml.transform.stream, \ + javax.xml.validation, \ +# javax.xml.ws, \ +# javax.xml.ws.handler, \ +# javax.xml.ws.handler.soap, \ +# javax.xml.ws.http, \ +# javax.xml.ws.soap, \ +# javax.xml.ws.spi, \ + javax.xml.ws.wsaddressing, \ + javax.xml.xpath, \ + org.ietf.jgss, \ + org.omg.CORBA, \ + org.omg.CORBA_2_3, \ + org.omg.CORBA_2_3.portable, \ + org.omg.CORBA.DynAnyPackage, \ + org.omg.CORBA.ORBPackage, \ + org.omg.CORBA.portable, \ + org.omg.CORBA.TypeCodePackage, \ + org.omg.CosNaming, \ + org.omg.CosNaming.NamingContextExtPackage, \ + org.omg.CosNaming.NamingContextPackage, \ + org.omg.Dynamic, \ + org.omg.DynamicAny, \ + org.omg.DynamicAny.DynAnyFactoryPackage, \ + org.omg.DynamicAny.DynAnyPackage, \ + org.omg.IOP, \ + org.omg.IOP.CodecFactoryPackage, \ + org.omg.IOP.CodecPackage, \ + org.omg.Messaging, \ + org.omg.PortableInterceptor, \ + org.omg.PortableInterceptor.ORBInitInfoPackage, \ + org.omg.PortableServer, \ + org.omg.PortableServer.CurrentPackage, \ + org.omg.PortableServer.POAManagerPackage, \ + org.omg.PortableServer.POAPackage, \ + org.omg.PortableServer.portable, \ + org.omg.PortableServer.ServantLocatorPackage, \ + org.omg.SendingContext, \ + org.omg.stub.java.rmi, \ + org.omg.stub.javax.management.remote.rmi, \ + org.w3c.dom, \ + org.w3c.dom.bootstrap, \ + org.w3c.dom.css, \ + org.w3c.dom.events, \ + org.w3c.dom.html, \ + org.w3c.dom.ls, \ + org.w3c.dom.ranges, \ + org.w3c.dom.stylesheets, \ + org.w3c.dom.traversal, \ + org.w3c.dom.views, \ + org.w3c.dom.xpath, \ + org.xml.sax, \ + org.xml.sax.ext, \ + org.xml.sax.helpers diff --git a/karaf/assembly/src/main/filtered-resources/etc/startup.properties b/karaf/assembly/src/main/filtered-resources/etc/startup.properties index 1c1d7b6..1329ca3 100644 --- a/karaf/assembly/src/main/filtered-resources/etc/startup.properties +++ b/karaf/assembly/src/main/filtered-resources/etc/startup.properties @@ -25,8 +25,8 @@ # org/ops4j/pax/url/pax-url-mvn/1.2.8/pax-url-mvn-1.2.8.jar=5 org/ops4j/pax/url/pax-url-wrap/1.2.8/pax-url-wrap-1.2.8.jar=5 -org/ops4j/pax/logging/pax-logging-api/1.6.9/pax-logging-api-1.6.9.jar=8 -org/ops4j/pax/logging/pax-logging-service/1.6.9/pax-logging-service-1.6.9.jar=8 +org/ops4j/pax/logging/pax-logging-api/1.6.10/pax-logging-api-1.6.10.jar=8 +org/ops4j/pax/logging/pax-logging-service/1.6.10/pax-logging-service-1.6.10.jar=8 org/apache/felix/org.apache.felix.configadmin/1.2.8/org.apache.felix.configadmin-1.2.8.jar=10 org/apache/felix/org.apache.felix.fileinstall/3.2.4/org.apache.felix.fileinstall-3.2.4.jar=11 @@ -38,28 +38,39 @@ org/apache/aries/org.apache.aries.util/0.3.1/org.apache.aries.util-0.3.1.jar=20 org/apache/aries/proxy/org.apache.aries.proxy/0.3.1/org.apache.aries.proxy-0.3.1.jar=20 org/apache/aries/blueprint/org.apache.aries.blueprint/0.3.2/org.apache.aries.blueprint-0.3.2.jar=20 -org/apache/karaf/shell/org.apache.karaf.shell.console/2.2.9/org.apache.karaf.shell.console-2.2.9.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.osgi/2.2.9/org.apache.karaf.shell.osgi-2.2.9.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.log/2.2.9/org.apache.karaf.shell.log-2.2.9.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.packages/2.2.9/org.apache.karaf.shell.packages-2.2.9.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.commands/2.2.9/org.apache.karaf.shell.commands-2.2.9.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.dev/2.2.9/org.apache.karaf.shell.dev-2.2.9.jar=30 -org/apache/karaf/features/org.apache.karaf.features.core/2.2.9/org.apache.karaf.features.core-2.2.9.jar=30 -org/apache/karaf/features/org.apache.karaf.features.command/2.2.9/org.apache.karaf.features.command-2.2.9.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.console/2.2.10/org.apache.karaf.shell.console-2.2.10.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.osgi/2.2.10/org.apache.karaf.shell.osgi-2.2.10.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.log/2.2.10/org.apache.karaf.shell.log-2.2.10.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.packages/2.2.10/org.apache.karaf.shell.packages-2.2.10.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.commands/2.2.10/org.apache.karaf.shell.commands-2.2.10.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.dev/2.2.10/org.apache.karaf.shell.dev-2.2.10.jar=30 +org/apache/karaf/jaas/org.apache.karaf.jaas.config/2.2.10/org.apache.karaf.jaas.config-2.2.10.jar=30 +org/apache/karaf/jaas/org.apache.karaf.jaas.modules/2.2.10/org.apache.karaf.jaas.modules-2.2.10.jar=30 +org/apache/karaf/jaas/org.apache.karaf.jaas.command/2.2.10/org.apache.karaf.jaas.command-2.2.10.jar=30 +org/apache/karaf/features/org.apache.karaf.features.core/2.2.10/org.apache.karaf.features.core-2.2.10.jar=30 +org/apache/karaf/features/org.apache.karaf.features.command/2.2.10/org.apache.karaf.features.command-2.2.10.jar=30 +org/apache/karaf/features/org.apache.karaf.features.management/2.2.10/org.apache.karaf.features.management-2.2.10.jar=30 -org/apache/karaf/admin/org.apache.karaf.admin.core/2.2.9/org.apache.karaf.admin.core-2.2.9.jar=30 -org/apache/karaf/admin/org.apache.karaf.admin.command/2.2.9/org.apache.karaf.admin.command-2.2.9.jar=30 +org/apache/karaf/diagnostic/org.apache.karaf.diagnostic.core/2.2.10/org.apache.karaf.diagnostic.core-2.2.10.jar=30 +org/apache/karaf/diagnostic/org.apache.karaf.diagnostic.common/2.2.10/org.apache.karaf.diagnostic.common-2.2.10.jar=30 +org/apache/karaf/diagnostic/org.apache.karaf.diagnostic.command/2.2.10/org.apache.karaf.diagnostic.command-2.2.10.jar=30 +org/apache/karaf/diagnostic/org.apache.karaf.diagnostic.management/2.2.10/org.apache.karaf.diagnostic.management-2.2.10.jar=30 -org/apache/karaf/jaas/org.apache.karaf.jaas.config/2.2.9/org.apache.karaf.jaas.config-2.2.9.jar=30 -org/apache/karaf/jaas/org.apache.karaf.jaas.modules/2.2.9/org.apache.karaf.jaas.modules-2.2.9.jar=30 -org/apache/karaf/jaas/org.apache.karaf.jaas.command/2.2.9/org.apache.karaf.jaas.command-2.2.9.jar=30 +org/apache/karaf/management/org.apache.karaf.management.server/2.2.10/org.apache.karaf.management.server-2.2.10.jar=30 +org/apache/aries/jmx/org.apache.aries.jmx.api/0.3/org.apache.aries.jmx.api-0.3.jar=30 +org/apache/aries/jmx/org.apache.aries.jmx.core/0.3.1/org.apache.aries.jmx.core-0.3.1.jar=30 +org/apache/aries/jmx/org.apache.aries.jmx.blueprint/0.3/org.apache.aries.jmx.blueprint-0.3.jar=30 -org/apache/mina/mina-core/2.0.1/mina-core-2.0.1.jar=30 -org/apache/sshd/sshd-core/0.7.0/sshd-core-0.7.0.jar=30 -org/apache/karaf/shell/org.apache.karaf.shell.ssh/2.2.9/org.apache.karaf.shell.ssh-2.2.9.jar=30 +org/apache/karaf/admin/org.apache.karaf.admin.core/2.2.10/org.apache.karaf.admin.core-2.2.10.jar=30 +org/apache/karaf/admin/org.apache.karaf.admin.command/2.2.10/org.apache.karaf.admin.command-2.2.10.jar=30 +org/apache/karaf/admin/org.apache.karaf.admin.management/2.2.10/org.apache.karaf.admin.management-2.2.10.jar=30 -org/apache/karaf/deployer/org.apache.karaf.deployer.blueprint/2.2.9/org.apache.karaf.deployer.blueprint-2.2.9.jar=28 -org/apache/karaf/deployer/org.apache.karaf.deployer.features/2.2.9/org.apache.karaf.deployer.features-2.2.9.jar=30 -org/apache/karaf/deployer/org.apache.karaf.deployer.wrap/2.2.9/org.apache.karaf.deployer.wrap-2.2.9.jar=30 -# org/apache/karaf/deployer/org.apache.karaf.deployer.kar/2.2.9/org.apache.karaf.deployer.kar-2.2.9.jar=30 -org/apache/karaf/deployer/org.apache.karaf.deployer.spring/2.2.9/org.apache.karaf.deployer.spring-2.2.9.jar=28 +org/apache/mina/mina-core/2.0.5/mina-core-2.0.5.jar=30 +org/apache/sshd/sshd-core/0.8.0/sshd-core-0.8.0.jar=30 +org/apache/karaf/shell/org.apache.karaf.shell.ssh/2.2.10/org.apache.karaf.shell.ssh-2.2.10.jar=30 + +org/apache/karaf/deployer/org.apache.karaf.deployer.spring/2.2.10/org.apache.karaf.deployer.spring-2.2.10.jar=28 +org/apache/karaf/deployer/org.apache.karaf.deployer.blueprint/2.2.10/org.apache.karaf.deployer.blueprint-2.2.10.jar=28 +org/apache/karaf/deployer/org.apache.karaf.deployer.features/2.2.10/org.apache.karaf.deployer.features-2.2.10.jar=30 +org/apache/karaf/deployer/org.apache.karaf.deployer.kar/2.2.10/org.apache.karaf.deployer.kar-2.2.10.jar=30 +org/apache/karaf/deployer/org.apache.karaf.deployer.wrap/2.2.10/org.apache.karaf.deployer.wrap-2.2.10.jar=30 diff --git a/karaf/features/pom.xml b/karaf/features/pom.xml index b200bd2..d214b87 100644 --- a/karaf/features/pom.xml +++ b/karaf/features/pom.xml @@ -35,23 +35,32 @@ + + com.axemblr.provisionr + provisionr-console + provided + com.axemblr.provisionr provisionr-amazon + provided com.axemblr.provisionr provisionr-cloudstack + provided com.axemblr.provisionr provisionr-commands ${project.version} + provided org.activiti.karaf activiti-karaf-commands ${project.version} + provided org.activiti.karaf diff --git a/karaf/features/src/main/resources/features.xml b/karaf/features/src/main/resources/features.xml index 0a61b60..e349651 100644 --- a/karaf/features/src/main/resources/features.xml +++ b/karaf/features/src/main/resources/features.xml @@ -47,6 +47,9 @@ mvn:com.axemblr.provisionr/provisionr-core/${project.version}/xml/features + + mvn:com.axemblr.provisionr/provisionr-console/${project.version}/xml/features + mvn:com.axemblr.provisionr/provisionr-amazon/${project.version}/xml/features @@ -60,6 +63,8 @@ axemblr-provisionr-core + + axemblr-provisionr-console axemblr-provisionr-commands axemblr-provisionr-amazon diff --git a/parent/pom.xml b/parent/pom.xml index 2df2fd9..0b867ca 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -15,7 +15,8 @@ ~ limitations under the License. --> - + com.axemblr.provisionr provisionr-parent @@ -76,7 +77,8 @@ 2.0M8 2.6.0 1.4.0 - 2.2.9 + 2.2.10 + 2.7.2 3.2.2 1.3.14_1 3.1.1 @@ -123,6 +125,11 @@ provisionr-core ${project.version} + + com.axemblr.provisionr + provisionr-console + ${project.version} + com.axemblr.provisionr provisionr-features @@ -138,6 +145,11 @@ provisionr-cloudstack ${project.version} + + com.axemblr.provisionr + provisionr-branding + ${project.version} + com.axemblr.provisionr provisionr-test-support diff --git a/pom.xml b/pom.xml index 2dd07f4..08fabd7 100644 --- a/pom.xml +++ b/pom.xml @@ -63,7 +63,6 @@ - karaf/tests providers/amazon-tests providers/cloudstack-tests @@ -72,6 +71,7 @@ with-assembly karaf/assembly + karaf/assembly-tests diff --git a/test-support/src/main/java/com/axemblr/provisionr/test/KarafTests.java b/test-support/src/main/java/com/axemblr/provisionr/test/KarafTests.java index dad1110..4e5bdf0 100644 --- a/test-support/src/main/java/com/axemblr/provisionr/test/KarafTests.java +++ b/test-support/src/main/java/com/axemblr/provisionr/test/KarafTests.java @@ -46,7 +46,7 @@ private KarafTests() { * Use the same Karaf version from the project for integration testing with Pax Exam */ public static DefaultCompositeOption useDefaultKarafAsInProjectWithJunitBundles() { - String karafVersion = MavenUtils.asInProject().getVersion(KARAF_GROUP_ID, KARAF_ARTIFACT_ID); + String karafVersion = getKarafVersionAsInProject(); MavenArtifactUrlReference karafUrl = maven().groupId(KARAF_GROUP_ID) .artifactId(KARAF_ARTIFACT_ID) @@ -64,6 +64,10 @@ public static DefaultCompositeOption useDefaultKarafAsInProjectWithJunitBundles( .add(logLevel(LogLevelOption.LogLevel.INFO)); } + public static String getKarafVersionAsInProject() { + return MavenUtils.asInProject().getVersion(KARAF_GROUP_ID, KARAF_ARTIFACT_ID); + } + /** * Make sure all system properties with a given prefix are also available inside the container */