You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ks...@apache.org on 2016/01/25 21:44:46 UTC

[08/26] servicemix git commit: SM-2803: Refactor the assembly creation

 SM-2803: Refactor the assembly creation

- use the new karaf plugin goals


Project: http://git-wip-us.apache.org/repos/asf/servicemix/repo
Commit: http://git-wip-us.apache.org/repos/asf/servicemix/commit/30487359
Tree: http://git-wip-us.apache.org/repos/asf/servicemix/tree/30487359
Diff: http://git-wip-us.apache.org/repos/asf/servicemix/diff/30487359

Branch: refs/heads/master
Commit: 30487359321c6dfd1ab99b391e5f08b664afc472
Parents: da7e942
Author: Krzysztof Sobkowiak <kr...@gmail.com>
Authored: Thu Jan 14 23:14:44 2016 +0100
Committer: Krzysztof Sobkowiak <kr...@gmail.com>
Committed: Thu Jan 14 23:14:44 2016 +0100

----------------------------------------------------------------------
 assemblies/apache-servicemix/pom.xml            | 256 +++++++++++--------
 .../main/filtered-resources/examples/pom.xml    | 202 +++++++++++++++
 .../src/main/filtered-resources/pom.xml         | 202 ---------------
 .../src/main/resources/common-bin.xml           |   6 -
 .../src/main/resources/common-unix-bin.xml      |  48 ++--
 .../src/main/resources/examples-unix-bin.xml    |   4 +-
 parent/pom.xml                                  |  34 ++-
 7 files changed, 399 insertions(+), 353 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/pom.xml b/assemblies/apache-servicemix/pom.xml
index fc574d1..c1c0f0b 100644
--- a/assemblies/apache-servicemix/pom.xml
+++ b/assemblies/apache-servicemix/pom.xml
@@ -38,6 +38,62 @@
 
     <dependencies>
 
+        <!-- Apache Karaf -->
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>framework</artifactId>
+            <type>kar</type>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>standard</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>spring</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.karaf.features</groupId>
+            <artifactId>enterprise</artifactId>
+            <classifier>features</classifier>
+            <type>xml</type>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- Apache Camel -->
+        <dependency>
+            <groupId>org.apache.camel.karaf</groupId>
+            <artifactId>apache-camel</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- Apache CXF -->
+        <dependency>
+            <groupId>org.apache.cxf.karaf</groupId>
+            <artifactId>apache-cxf</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- Apache ActiveMQ -->
+        <dependency>
+            <groupId>org.apache.activemq</groupId>
+            <artifactId>activemq-karaf</artifactId>
+            <type>xml</type>
+            <classifier>features</classifier>
+            <scope>runtime</scope>
+        </dependency>
+
+        <!-- Apache ServiceMix -->
         <dependency>
             <groupId>org.apache.servicemix.features</groupId>
             <artifactId>servicemix-internal</artifactId>
@@ -96,19 +152,6 @@
             <artifactId>org.apache.servicemix.specs.activator</artifactId>
         </dependency>
 
-
-        <!-- Download Karaf assemblies for dependency:unpack-->
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>apache-karaf</artifactId>
-            <type>zip</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.karaf</groupId>
-            <artifactId>apache-karaf</artifactId>
-            <type>tar.gz</type>
-        </dependency>
-
         <!--Xerces jar to be included in lib/endorsed -->
         <dependency>
             <groupId>xerces</groupId>
@@ -151,8 +194,11 @@
     <build>
         <resources>
             <resource>
-                <!-- we need unfiltered copies of these files -->
                 <directory>src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*</include>
+                </includes>
             </resource>
             <resource>
                 <directory>src/main/filtered-resources</directory>
@@ -161,6 +207,23 @@
                     <include>**/*</include>
                 </includes>
             </resource>
+            <resource>
+                <directory>${project.basedir}/../..</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>README</include>
+                    <include>RELEASE*</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>${project.build.directory}/dependencies</directory>
+                <filtering>false</filtering>
+                <excludes>
+                    <exclude>**/*.i??</exclude>
+                    <exclude>**/.target</exclude>
+                    <exclude>**/.classpath</exclude>
+                </excludes>
+            </resource>
         </resources>
 
         <plugins>
@@ -170,122 +233,94 @@
                 <version>${karaf.version}</version>
                 <executions>
                     <execution>
-                        <id>add-features-to-repo</id>
+                        <id>install-kar</id>
                         <phase>compile</phase>
                         <goals>
-                            <goal>features-add-to-repository</goal>
-                        </goals>
-                        <configuration>
-                            <descriptors>
-                                <descriptor>mvn:org.apache.karaf.features/standard/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.karaf.features/enterprise/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.karaf.features/spring/${karaf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.camel.karaf/apache-camel/${camel.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.cxf.karaf/apache-cxf/${cxf.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.servicemix.features/servicemix-internal/${project.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.servicemix.features/servicemix-features/${project.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.servicemix.features/servicemix-kie/${project.version}/xml/features</descriptor>
-                                <descriptor>mvn:org.apache.servicemix.features/servicemix-examples/${project.version}/xml/features</descriptor>
-                            </descriptors>
-                            <features>
-                                <feature>joda-time</feature>
-                                <feature>cxf</feature>
-                                <feature>obr</feature>
-                                <feature>config</feature>
-                                <feature>standard</feature>
-                                <feature>package</feature>
-                                <feature>kar</feature>
-                                <feature>ssh</feature>
-                                <feature>management</feature>
-                                <feature>eventadmin</feature>
-                                <feature>activemq-broker-noweb</feature>
-                                <feature>activemq-service</feature>
-                                <feature>camel</feature>
-                                <feature>camel-cxf</feature>
-                                <feature>activemq-camel</feature>
-                                <feature>camel-blueprint</feature>
-                                <feature>war</feature>
-                                <feature>jaxrs-api</feature>
-                                <feature>kie-aries-blueprint</feature>
-                                <feature>kie-spring</feature>
-                                <feature>kie-camel</feature>
-                            </features>
-                            <includeMvnBasedDescriptors>true</includeMvnBasedDescriptors>
-                            <repository>${project.build.directory}/features-repo</repository>
-                        </configuration>
-                        <inherited>false</inherited>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>filter</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>resources</goal>
+                            <goal>install-kars</goal>
                         </goals>
                     </execution>
+                    <!-- we will use custom assembly
                     <execution>
-                        <id>copy-system-folder</id>
-                        <phase>package</phase>
+                        <id>package</id>
                         <goals>
-                            <goal>copy-resources</goal>
+                            <goal>instance-create-archive</goal>
                         </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/features-repo</outputDirectory>
-                            <resources>
-                                <resource>
-                                    <directory>${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}/system</directory>
-                                </resource>
-                            </resources>
-                        </configuration>
                     </execution>
+                    -->
                 </executions>
+                <configuration>
+                    <installedFeatures>
+                        <feature>wrapper</feature>
+                    </installedFeatures>
+                    <bootFeatures>
+                        <feature>joda-time</feature>
+                        <feature>cxf</feature>
+                        <feature>obr</feature>
+                        <feature>config</feature>
+                        <feature>standard</feature>
+                        <feature>package</feature>
+                        <feature>kar</feature>
+                        <feature>ssh</feature>
+                        <feature>management</feature>
+                        <feature>eventadmin</feature>
+                        <feature>activemq-broker-noweb</feature>
+                        <feature>activemq-service</feature>
+                        <feature>camel</feature>
+                        <feature>camel-cxf</feature>
+                        <feature>activemq-camel</feature>
+                        <feature>camel-blueprint</feature>
+                        <feature>war</feature>
+                        <feature>jaxrs-api</feature>
+                        <feature>kie-aries-blueprint</feature>
+                        <feature>kie-spring</feature>
+                        <feature>kie-camel</feature>
+                    </bootFeatures>
+                </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
-                <executions>    
+                <executions>
                     <execution>
-                        <id>unpack-unix</id>
-                        <phase>generate-resources</phase>
+                        <id>unpack</id>
+                        <phase>process-resources</phase>
                         <goals>
                             <goal>unpack</goal>
                         </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.karaf</groupId>
-                                    <artifactId>apache-karaf</artifactId>
-                                    <type>tar.gz</type>
-                                    <outputDirectory>${project.build.directory}/dependencies/unix</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
                     </execution>
+                </executions>
+                <configuration>
+                    <artifactItems>
+                        <artifactItem>
+                            <groupId>org.apache.karaf</groupId>
+                            <artifactId>demos</artifactId>
+                            <version>${karaf.version}</version>
+                        </artifactItem>
+                    </artifactItems>
+                    <outputDirectory>${project.build.directory}/dependencies/examples/karaf</outputDirectory>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
                     <execution>
-                        <id>unpack-win</id>
-                        <phase>generate-resources</phase>
+                        <id>process-resources</id>
                         <goals>
-                            <goal>unpack</goal>
+                            <goal>resources</goal>
                         </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.apache.karaf</groupId>
-                                    <artifactId>apache-karaf</artifactId>
-                                    <type>zip</type>
-                                    <outputDirectory>${project.build.directory}/dependencies/win</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
+            <!--
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-antrun-plugin</artifactId>
@@ -299,7 +334,7 @@
                         <configuration>
                             <target name="enable-obr">
                                 <echo message="Updating etc/startup.properties in assembly" />
-                                <concat destfile="${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}/etc/startup.properties" append="true">
+                                <concat destfile="${project.build.directory}/assembly/etc/startup.properties" append="true">
                                     <string value="${line.separator}" />
                                     <fileset file="${project.build.outputDirectory}/startup-obr.properties" />
                                 </concat>
@@ -315,11 +350,11 @@
                         <configuration>
                             <target name="increase-perm-mem">
                                 <echo message="Updating bin/setenv in unix assembly" />
-                                <concat destfile="${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}/bin/setenv" append="true" eol="unix">
+                                <concat destfile="${project.build.directory}/assembly/bin/setenv" append="true" eol="unix">
                                     <fileset file="${project.build.outputDirectory}/setenv-unix" />
                                 </concat>
                                 <echo message="Updating bin/setenv.bat in windows assembly" />
-                                <concat destfile="${project.build.directory}/dependencies/win/apache-karaf-${karaf.version}/bin/setenv.bat" append="true" eol="dos">
+                                <concat destfile="${project.build.directory}/assembly/bin/setenv.bat" append="true" eol="dos">
                                     <fileset file="${project.build.outputDirectory}/setenv-win" />
                                 </concat>
                             </target>
@@ -349,10 +384,8 @@
                 </executions>
             </plugin>
         </plugins>
-
     </build>
 
-
     <profiles>
         <profile>
             <id>release</id>
@@ -382,5 +415,4 @@
         </profile>
     </profiles>
 
-
 </project>

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/src/main/filtered-resources/examples/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/src/main/filtered-resources/examples/pom.xml b/assemblies/apache-servicemix/src/main/filtered-resources/examples/pom.xml
new file mode 100644
index 0000000..778ef74
--- /dev/null
+++ b/assemblies/apache-servicemix/src/main/filtered-resources/examples/pom.xml
@@ -0,0 +1,202 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <!--
+
+        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.
+    -->
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.servicemix.examples</groupId>
+    <artifactId>examples</artifactId>
+    <packaging>pom</packaging>
+    <version>${project.version}</version>
+    <name>Apache ServiceMix :: Examples</name>
+    <properties>
+        <akka.version>${akka.version}</akka.version>
+        <cxf.version>${cxf.version}</cxf.version>
+        <drools.version>${drools.version}</drools.version>
+        <drools6.version>${drools6.version}</drools6.version>
+        <jaxb.api.version>${jaxb.api.version}</jaxb.api.version>
+        <karaf.version>${karaf.version}</karaf.version>
+        <scala.version>${scala.version}</scala.version>
+        <slf4j.version>${slf4j.version}</slf4j.version>
+        <swagger.version>${swagger.version}</swagger.version>
+        <xerces.version>${xerces.version}</xerces.version>
+
+        <cxf.codegen-plugin.version>${cxf.codegen-plugin.version}</cxf.codegen-plugin.version>
+        <exec-maven-plugin.version>${exec-maven-plugin.version}</exec-maven-plugin.version>
+        <maven-scala-plugin.version>${maven-scala-plugin.version}</maven-scala-plugin.version>
+    </properties>
+    <!-- Managed dependencies -->
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-parent</artifactId>
+                <version>${camel.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-transports-http</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-ws-security</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.karaf</groupId>
+                <artifactId>karaf</artifactId>
+                <version>${karaf.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.servicemix.specs</groupId>
+                <artifactId>org.apache.servicemix.specs.jsr339-api-2.0</artifactId>
+                <version>${servicemix.specs.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>commons-io</groupId>
+                <artifactId>commons-io</artifactId>
+                <version>${commons-io.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.servicemix.specs</groupId>
+                <artifactId>org.apache.servicemix.specs.jaxb-api-${jaxb.api.version}</artifactId>
+                <version>${servicemix.specs.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-frontend-jaxws</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-core</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-transports-http-jetty</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-ws-rm</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-ws-addr</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-rt-ws-policy</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.cxf.services.wsn</groupId>
+                <artifactId>cxf-services-wsn-core</artifactId>
+                <version>${cxf.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.activiti</groupId>
+                <artifactId>activiti-camel</artifactId>
+                <version>${activiti.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
+                <version>${geronimo-ws-metadata.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.servicemix.bundles</groupId>
+                <artifactId>org.apache.servicemix.bundles.commons-httpclient</artifactId>
+                <version>${commons-httpclient.bundle.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.wordnik</groupId>
+                <artifactId>swagger-jaxrs_2.11</artifactId>
+                <version>${swagger.version}</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <build>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.apache.felix</groupId>
+                    <artifactId>maven-bundle-plugin</artifactId>
+                    <version>${maven-bundle-plugin.version}</version>
+                    <extensions>true</extensions>
+                </plugin>
+                <plugin>
+                    <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>exec-maven-plugin</artifactId>
+                    <version>${exec-maven-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.scala-tools</groupId>
+                    <artifactId>maven-scala-plugin</artifactId>
+                    <version>${maven-scala-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.cxf</groupId>
+                    <artifactId>cxf-codegen-plugin</artifactId>
+                    <version>${cxf.codegen-plugin.version}</version>
+                    <dependencies>
+                        <dependency>
+                            <groupId>xerces</groupId>
+                            <artifactId>xercesImpl</artifactId>
+                            <version>${xerces.version}</version>
+                        </dependency>
+                    </dependencies>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <modules>
+        <module>activemq</module>
+        <module>activiti</module>
+        <module>akka</module>
+        <module>camel</module>
+        <module>cxf</module>
+        <module>drools</module>
+        <module>karaf</module>
+    </modules>
+
+    <repositories>
+        <!-- Required to build the examples in a SNAPSHOT assembly -->
+        <repository>
+            <id>apache.snapshots</id>
+            <name>Apache Snapshot Repository</name>
+            <url>http://repository.apache.org/snapshots</url>
+            <releases>
+                <enabled>false</enabled>
+            </releases>
+        </repository>
+    </repositories>
+
+</project>

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/src/main/filtered-resources/pom.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/src/main/filtered-resources/pom.xml b/assemblies/apache-servicemix/src/main/filtered-resources/pom.xml
deleted file mode 100644
index 778ef74..0000000
--- a/assemblies/apache-servicemix/src/main/filtered-resources/pom.xml
+++ /dev/null
@@ -1,202 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
-    <!--
-
-        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.
-    -->
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>org.apache.servicemix.examples</groupId>
-    <artifactId>examples</artifactId>
-    <packaging>pom</packaging>
-    <version>${project.version}</version>
-    <name>Apache ServiceMix :: Examples</name>
-    <properties>
-        <akka.version>${akka.version}</akka.version>
-        <cxf.version>${cxf.version}</cxf.version>
-        <drools.version>${drools.version}</drools.version>
-        <drools6.version>${drools6.version}</drools6.version>
-        <jaxb.api.version>${jaxb.api.version}</jaxb.api.version>
-        <karaf.version>${karaf.version}</karaf.version>
-        <scala.version>${scala.version}</scala.version>
-        <slf4j.version>${slf4j.version}</slf4j.version>
-        <swagger.version>${swagger.version}</swagger.version>
-        <xerces.version>${xerces.version}</xerces.version>
-
-        <cxf.codegen-plugin.version>${cxf.codegen-plugin.version}</cxf.codegen-plugin.version>
-        <exec-maven-plugin.version>${exec-maven-plugin.version}</exec-maven-plugin.version>
-        <maven-scala-plugin.version>${maven-scala-plugin.version}</maven-scala-plugin.version>
-    </properties>
-    <!-- Managed dependencies -->
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-parent</artifactId>
-                <version>${camel.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-transports-http</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-ws-security</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>karaf</artifactId>
-                <version>${karaf.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jsr339-api-2.0</artifactId>
-                <version>${servicemix.specs.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>commons-io</groupId>
-                <artifactId>commons-io</artifactId>
-                <version>${commons-io.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.specs</groupId>
-                <artifactId>org.apache.servicemix.specs.jaxb-api-${jaxb.api.version}</artifactId>
-                <version>${servicemix.specs.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-frontend-jaxws</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-core</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-transports-http-jetty</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-ws-rm</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-ws-addr</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf</groupId>
-                <artifactId>cxf-rt-ws-policy</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.cxf.services.wsn</groupId>
-                <artifactId>cxf-services-wsn-core</artifactId>
-                <version>${cxf.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.activiti</groupId>
-                <artifactId>activiti-camel</artifactId>
-                <version>${activiti.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.geronimo.specs</groupId>
-                <artifactId>geronimo-ws-metadata_2.0_spec</artifactId>
-                <version>${geronimo-ws-metadata.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.servicemix.bundles</groupId>
-                <artifactId>org.apache.servicemix.bundles.commons-httpclient</artifactId>
-                <version>${commons-httpclient.bundle.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.wordnik</groupId>
-                <artifactId>swagger-jaxrs_2.11</artifactId>
-                <version>${swagger.version}</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
-    <build>
-        <pluginManagement>
-            <plugins>
-                <plugin>
-                    <groupId>org.apache.felix</groupId>
-                    <artifactId>maven-bundle-plugin</artifactId>
-                    <version>${maven-bundle-plugin.version}</version>
-                    <extensions>true</extensions>
-                </plugin>
-                <plugin>
-                    <groupId>org.codehaus.mojo</groupId>
-                    <artifactId>exec-maven-plugin</artifactId>
-                    <version>${exec-maven-plugin.version}</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.scala-tools</groupId>
-                    <artifactId>maven-scala-plugin</artifactId>
-                    <version>${maven-scala-plugin.version}</version>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.cxf</groupId>
-                    <artifactId>cxf-codegen-plugin</artifactId>
-                    <version>${cxf.codegen-plugin.version}</version>
-                    <dependencies>
-                        <dependency>
-                            <groupId>xerces</groupId>
-                            <artifactId>xercesImpl</artifactId>
-                            <version>${xerces.version}</version>
-                        </dependency>
-                    </dependencies>
-                </plugin>
-            </plugins>
-        </pluginManagement>
-    </build>
-
-    <modules>
-        <module>activemq</module>
-        <module>activiti</module>
-        <module>akka</module>
-        <module>camel</module>
-        <module>cxf</module>
-        <module>drools</module>
-        <module>karaf</module>
-    </modules>
-
-    <repositories>
-        <!-- Required to build the examples in a SNAPSHOT assembly -->
-        <repository>
-            <id>apache.snapshots</id>
-            <name>Apache Snapshot Repository</name>
-            <url>http://repository.apache.org/snapshots</url>
-            <releases>
-                <enabled>false</enabled>
-            </releases>
-        </repository>
-    </repositories>
-
-</project>

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/src/main/resources/common-bin.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/src/main/resources/common-bin.xml b/assemblies/apache-servicemix/src/main/resources/common-bin.xml
index 5c549f8..2c4b999 100644
--- a/assemblies/apache-servicemix/src/main/resources/common-bin.xml
+++ b/assemblies/apache-servicemix/src/main/resources/common-bin.xml
@@ -16,12 +16,6 @@
     limitations under the License.
 -->
 <component>
-    <fileSets>
-        <fileSet>
-          <outputDirectory>system</outputDirectory>
-          <directory>${project.build.directory}/features-repo</directory>
-        </fileSet>
-    </fileSets>
 
     <dependencySets>
         <dependencySet>

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/src/main/resources/common-unix-bin.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/src/main/resources/common-unix-bin.xml b/assemblies/apache-servicemix/src/main/resources/common-unix-bin.xml
index 4c41195..6ce6513 100644
--- a/assemblies/apache-servicemix/src/main/resources/common-unix-bin.xml
+++ b/assemblies/apache-servicemix/src/main/resources/common-unix-bin.xml
@@ -19,26 +19,23 @@
     <fileSets>
         <!-- Cherry-pick files from the expanded Karaf distribution -->
         <fileSet>
-            <directory>${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}</directory>
+            <directory>${project.build.directory}/assembly</directory>
             <outputDirectory>/</outputDirectory>
             <excludes>
-              <exclude>**/demos/**</exclude>
-              <exclude>bin/**</exclude>
-              <exclude>etc/system.properties</exclude>
-              <exclude>etc/org.apache.karaf.features.cfg</exclude>
-              <exclude>etc/org.apache.karaf.features.obr.cfg</exclude>
-              <exclude>etc/org.ops4j.pax.logging.cfg</exclude>
-              <exclude>etc/org.ops4j.pax.url.mvn.cfg</exclude>
-              <exclude>etc/users.properties</exclude>
-              <exclude>etc/custom.properties</exclude>
-              <exclude>etc/jre.properties</exclude>
-              <exclude>etc/jre.properties.cxf</exclude>
-              <exclude>system/**</exclude>
-              <exclude>LICENSE</exclude>
-              <exclude>NOTICE</exclude>
-              <exclude>README</exclude>
-              <exclude>RELEASE-NOTES</exclude>
-              <exclude>karaf-manual*</exclude>
+                <exclude>bin/**</exclude>
+                <exclude>etc/system.properties</exclude>
+                <exclude>etc/org.apache.karaf.features.cfg</exclude>
+                <exclude>etc/org.apache.karaf.features.obr.cfg</exclude>
+                <exclude>etc/org.ops4j.pax.logging.cfg</exclude>
+                <exclude>etc/org.ops4j.pax.url.mvn.cfg</exclude>
+                <exclude>etc/users.properties</exclude>
+                <exclude>etc/custom.properties</exclude>
+                <exclude>etc/jre.properties</exclude>
+                <exclude>etc/jre.properties.cxf</exclude>
+                <exclude>LICENSE</exclude>
+                <exclude>NOTICE</exclude>
+                <exclude>README</exclude>
+                <exclude>RELEASE-NOTES</exclude>
             </excludes>
             <fileMode>0644</fileMode>
             <directoryMode>0775</directoryMode>
@@ -46,16 +43,16 @@
 
         <!-- Copy over bin/* scripts separately to get the correct file mode -->
         <fileSet>
-            <directory>${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}</directory>
+            <directory>${project.build.directory}/assembly</directory>
             <outputDirectory>/</outputDirectory>
             <includes>
-              <include>bin/*</include>
+                <include>bin/*</include>
             </includes>
             <lineEnding>unix</lineEnding>
             <fileMode>0755</fileMode>
         </fileSet>
         <fileSet>
-            <directory>${project.build.directory}/dependencies/win/apache-karaf-${karaf.version}</directory>
+            <directory>${project.build.directory}/assembly</directory>
             <outputDirectory>/</outputDirectory>
             <includes>
                 <include>bin/*</include>
@@ -66,7 +63,7 @@
 
         <!-- Copy README and RELEASE-NOTES from root -->
         <fileSet>
-            <directory>${basedir}/..</directory>
+            <directory>${project.build.outputDirectory}</directory>
             <outputDirectory>/</outputDirectory>
             <includes>
                 <include>README</include>
@@ -106,16 +103,17 @@
         </fileSet>
     </fileSets>
 
+
     <files>
         <file>
-            <source>${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}/bin/karaf</source>
+            <source>${project.build.directory}/assembly/bin/karaf</source>
             <outputDirectory>/bin/</outputDirectory>
             <destName>servicemix</destName>
             <fileMode>0755</fileMode>
             <lineEnding>unix</lineEnding>
         </file>
         <file>
-            <source>${project.build.directory}/dependencies/win/apache-karaf-${karaf.version}/bin/karaf.bat</source>
+            <source>${project.build.directory}/assembly/bin/karaf.bat</source>
             <outputDirectory>/bin/</outputDirectory>
             <destName>servicemix.bat</destName>
             <fileMode>0755</fileMode>
@@ -137,4 +135,4 @@
         </file>
     </files>
 
-</component>
+</component>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/assemblies/apache-servicemix/src/main/resources/examples-unix-bin.xml
----------------------------------------------------------------------
diff --git a/assemblies/apache-servicemix/src/main/resources/examples-unix-bin.xml b/assemblies/apache-servicemix/src/main/resources/examples-unix-bin.xml
index 1cc662a..1b9f1aa 100644
--- a/assemblies/apache-servicemix/src/main/resources/examples-unix-bin.xml
+++ b/assemblies/apache-servicemix/src/main/resources/examples-unix-bin.xml
@@ -19,7 +19,7 @@
     <fileSets>
         <!-- Copy over karaf demo to examples folder -->
         <fileSet>
-            <directory>${project.build.directory}/dependencies/unix/apache-karaf-${karaf.version}/demos</directory>
+            <directory>${project.build.outputDirectory}/examples/karaf</directory>
             <outputDirectory>/examples/karaf</outputDirectory>
             <lineEnding>unix</lineEnding>
         </fileSet>
@@ -83,7 +83,7 @@
 
     <files>
         <file>
-            <source>${project.build.outputDirectory}/pom.xml</source>
+            <source>${project.build.outputDirectory}/examples/pom.xml</source>
             <outputDirectory>/examples/</outputDirectory>
             <filtered>true</filtered>
             <fileMode>0644</fileMode>

http://git-wip-us.apache.org/repos/asf/servicemix/blob/30487359/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 2041cb1..b13545d 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -145,6 +145,13 @@
             <!-- Apache ActiveMQ -->
             <dependency>
                 <groupId>org.apache.activemq</groupId>
+                <artifactId>activemq-karaf</artifactId>
+                <version>${activemq.version}</version>
+                <type>xml</type>
+                <classifier>features</classifier>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.activemq</groupId>
                 <artifactId>activemq-broker</artifactId>
                 <version>${activemq.version}</version>
             </dependency>
@@ -201,16 +208,31 @@
                 <scope>import</scope>
             </dependency>
             <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf</artifactId>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>framework</artifactId>
                 <version>${karaf.version}</version>
-                <type>tar.gz</type>
+                <type>kar</type>
             </dependency>
             <dependency>
-                <groupId>org.apache.karaf</groupId>
-                <artifactId>apache-karaf</artifactId>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>standard</artifactId>
+                <classifier>features</classifier>
+                <version>${karaf.version}</version>
+                <type>xml</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>enterprise</artifactId>
+                <classifier>features</classifier>
+                <version>${karaf.version}</version>
+                <type>xml</type>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.karaf.features</groupId>
+                <artifactId>spring</artifactId>
+                <classifier>features</classifier>
                 <version>${karaf.version}</version>
-                <type>zip</type>
+                <type>xml</type>
             </dependency>
 
             <!-- Apache CXF -->