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
*/