Misc of improvements to karaf project

- re-organize feature.xml
- add missing API features installation tests
- bump osgi and karaf versions
- add new maven module `modern-itests` that will replace `itests`
- add feature-labs.xml file
- add drivers features
- add allcompute and allblobstore feature
- add FeatureLabsInstallationTest
- add providers
- bump karaf version in itests
- fix karaf-maven-plugin
- use sshj 0.20.0
- remove old itests; rename modern-itests to itests
- add javax.ws.rs.api deps
- split feature-labs into a separate module
- remove resolver=(obr) from features as not used


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

Branch: refs/heads/master
Commit: fa11dcfc1b6f250daf2ec983cf1d99f1a564667a
Parents: 21149b0
Author: Andrea Turli <[email protected]>
Authored: Fri Mar 3 15:22:15 2017 +0000
Committer: Andrea Turli <[email protected]>
Committed: Fri Mar 17 12:44:32 2017 +0100

----------------------------------------------------------------------
 bundles/jsch-agentproxy-jsch/pom.xml            |   1 +
 cache/pom.xml                                   |   2 +-
 chef/cache/pom.xml                              |   2 +-
 chef/commands/pom.xml                           |   2 +-
 chef/services/pom.xml                           |   2 +-
 commands/pom.xml                                |   9 +-
 .../commands/compute/NodeCreateCommand.java     |   2 +-
 .../support/GenericCompleterSupport.java        |  11 +-
 core/pom.xml                                    |   5 +-
 feature-labs/pom.xml                            |  45 ++
 feature-labs/src/main/feature/feature.xml       |  85 +++
 feature-labs/src/main/resources/.gitignore      |   0
 feature/pom.xml                                 | 136 +----
 feature/src/main/feature/feature.xml            | 602 +++++++++++++++++++
 feature/src/main/resources/feature.xml          | 469 ---------------
 itests/pom.xml                                  | 361 +++++------
 .../itests/ApisFeaturesInstallationTest.java    | 102 ----
 .../itests/AwsFeaturesInstallationTest.java     |  72 ---
 .../jclouds/karaf/itests/BasePaxExamTest.java   |  46 ++
 .../itests/ChefFeaturesInstallationTest.java    |  51 --
 .../CloudSigma2FeaturesInstallationTest.java    |  66 --
 .../ElasticHostsFeaturesInstallationTest.java   |  56 --
 .../karaf/itests/FeatureInstallationTest.java   | 415 +++++++++++++
 .../itests/FeatureLabsInstallationTest.java     | 122 ++++
 .../itests/JcloudsFeaturesTestSupport.java      |  64 --
 .../karaf/itests/JcloudsKarafTestSupport.java   | 302 ----------
 .../itests/MiscFeaturesInstallationTest.java    | 126 ----
 .../jclouds/karaf/itests/ObrResolverTest.java   | 113 ----
 .../RackspaceFeaturesInstallationTest.java      |  92 ---
 .../org/jclouds/karaf/itests/ServiceTest.java   |  93 +++
 .../karaf/itests/live/AwsEc2LiveTest.java       |  95 ---
 .../karaf/itests/live/AwsS3LiveTest.java        | 168 ------
 .../karaf/itests/live/CloudFilesUsLiveTest.java | 168 ------
 .../itests/live/JcloudsLiveTestSupport.java     | 103 ----
 .../karaf/itests/live/RackspaceLiveTest.java    |  96 ---
 .../JcloudsCamelCxfFeaturesTestSupport.java     |  68 ---
 itests/src/test/resources/jre.properties.cxf    | 472 ---------------
 pom.xml                                         |  16 +-
 recipe/pom.xml                                  |   2 +-
 39 files changed, 1604 insertions(+), 3038 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/bundles/jsch-agentproxy-jsch/pom.xml
----------------------------------------------------------------------
diff --git a/bundles/jsch-agentproxy-jsch/pom.xml 
b/bundles/jsch-agentproxy-jsch/pom.xml
index 74cbfe4..62b66da 100644
--- a/bundles/jsch-agentproxy-jsch/pom.xml
+++ b/bundles/jsch-agentproxy-jsch/pom.xml
@@ -83,6 +83,7 @@ limitations under the License.
             <configuration>
               <!-- the RAT plugin complains if we use the default location and 
we don't want it in the SCM -->
               
<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>
+              <createDependencyReducedPom>false</createDependencyReducedPom>
               <artifactSet>
                 <includes>
                   
<include>org.apache.servicemix.bundles:org.apache.servicemix.bundles.jsch-agentproxy-jsch</include>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/cache/pom.xml
----------------------------------------------------------------------
diff --git a/cache/pom.xml b/cache/pom.xml
index b33fb01..035f2fd 100644
--- a/cache/pom.xml
+++ b/cache/pom.xml
@@ -56,7 +56,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/chef/cache/pom.xml
----------------------------------------------------------------------
diff --git a/chef/cache/pom.xml b/chef/cache/pom.xml
index 2451757..83190a9 100644
--- a/chef/cache/pom.xml
+++ b/chef/cache/pom.xml
@@ -52,7 +52,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.karaf</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/chef/commands/pom.xml
----------------------------------------------------------------------
diff --git a/chef/commands/pom.xml b/chef/commands/pom.xml
index 7f0acd2..845f92a 100644
--- a/chef/commands/pom.xml
+++ b/chef/commands/pom.xml
@@ -101,7 +101,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.karaf.shell</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/chef/services/pom.xml
----------------------------------------------------------------------
diff --git a/chef/services/pom.xml b/chef/services/pom.xml
index 7e6fa42..cbad01f 100644
--- a/chef/services/pom.xml
+++ b/chef/services/pom.xml
@@ -70,7 +70,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <!-- Testing -->
     <dependency>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/commands/pom.xml
----------------------------------------------------------------------
diff --git a/commands/pom.xml b/commands/pom.xml
index 94bee66..dbce81c 100644
--- a/commands/pom.xml
+++ b/commands/pom.xml
@@ -124,7 +124,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.driver</groupId>
-      <artifactId>jclouds-jsch</artifactId>
+      <artifactId>jclouds-slf4j</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.jclouds.driver</groupId>
@@ -136,7 +136,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.karaf.shell</groupId>
@@ -154,5 +154,10 @@ limitations under the License.
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-api</artifactId>
     </dependency>
+    <dependency>
+      <groupId>org.apache.jclouds.api</groupId>
+      <artifactId>ec2</artifactId>
+      <version>2.1.0-SNAPSHOT</version>
+    </dependency>
   </dependencies>
 </project>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/commands/src/main/java/org/jclouds/karaf/commands/compute/NodeCreateCommand.java
----------------------------------------------------------------------
diff --git 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/NodeCreateCommand.java
 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/NodeCreateCommand.java
index 5451e6f..91c69a8 100644
--- 
a/commands/src/main/java/org/jclouds/karaf/commands/compute/NodeCreateCommand.java
+++ 
b/commands/src/main/java/org/jclouds/karaf/commands/compute/NodeCreateCommand.java
@@ -25,9 +25,9 @@ import org.jclouds.compute.ComputeService;
 import org.jclouds.compute.RunNodesException;
 import org.jclouds.compute.domain.NodeMetadata;
 import org.jclouds.compute.domain.OsFamily;
+import org.jclouds.ec2.compute.options.EC2TemplateOptions;
 import org.jclouds.compute.domain.TemplateBuilder;
 import org.jclouds.compute.options.TemplateOptions;
-import org.jclouds.ec2.compute.options.EC2TemplateOptions;
 import org.jclouds.karaf.core.Constants;
 import org.jclouds.karaf.recipe.RecipeManager;
 import org.jclouds.karaf.recipe.RecipeManagerImpl;

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java
----------------------------------------------------------------------
diff --git 
a/commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java
 
b/commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java
index 2172105..9a39fea 100644
--- 
a/commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java
+++ 
b/commands/src/main/java/org/jclouds/karaf/commands/support/GenericCompleterSupport.java
@@ -17,18 +17,19 @@
 
 package org.jclouds.karaf.commands.support;
 
-import com.google.common.collect.Multimap;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+
 import org.apache.felix.service.command.CommandSession;
+import org.apache.karaf.shell.console.CommandSessionHolder;
 import org.apache.karaf.shell.console.Completer;
 import org.apache.karaf.shell.console.completer.ArgumentCompleter;
 import org.apache.karaf.shell.console.completer.StringsCompleter;
-import org.apache.karaf.shell.console.jline.CommandSessionHolder;
 import org.jclouds.karaf.cache.CacheProvider;
 import org.jclouds.karaf.cache.Cacheable;
 
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
+import com.google.common.collect.Multimap;
 
 public abstract class GenericCompleterSupport<T,K> implements Completer, 
Cacheable<T> {
 

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index c8a02f2..beb051b 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -18,10 +18,9 @@ limitations under the License.
 
 <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/xsd/maven-4.0.0.xsd";>
   <parent>
-    <artifactId>jclouds-karaf</artifactId>
     <groupId>org.apache.jclouds</groupId>
+    <artifactId>jclouds-karaf</artifactId>
     <version>2.1.0-SNAPSHOT</version>
-    <relativePath>..</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
 
@@ -49,7 +48,7 @@ limitations under the License.
     </dependency>
     <dependency>
       <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
+      <artifactId>osgi.cmpn</artifactId>
     </dependency>
     <dependency>
       <groupId>com.google.inject</groupId>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/feature-labs/pom.xml
----------------------------------------------------------------------
diff --git a/feature-labs/pom.xml b/feature-labs/pom.xml
new file mode 100644
index 0000000..fa2a66b
--- /dev/null
+++ b/feature-labs/pom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<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/xsd/maven-4.0.0.xsd";>
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.jclouds</groupId>
+        <artifactId>jclouds-karaf</artifactId>
+        <version>2.1.0-SNAPSHOT</version>
+        <relativePath>..</relativePath>
+    </parent>
+
+    <groupId>org.apache.jclouds.karaf</groupId>
+    <artifactId>jclouds-karaf-labs</artifactId>
+    <packaging>feature</packaging>
+    <name>jclouds :: Karaf :: Feature Labs</name>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.karaf.tooling</groupId>
+                <artifactId>karaf-maven-plugin</artifactId>
+                <version>${karaf.version}</version>
+                <extensions>true</extensions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/feature-labs/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/feature-labs/src/main/feature/feature.xml 
b/feature-labs/src/main/feature/feature.xml
new file mode 100644
index 0000000..c4c4ae3
--- /dev/null
+++ b/feature-labs/src/main/feature/feature.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<features name="jclouds-labs-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+    
<repository>mvn:org.apache.jclouds.karaf/jclouds-karaf/${jclouds.version}/xml/features</repository>
+
+    <!-- JCLOUDS-LABS -->
+    <feature name='jclouds-azurecompute-arm' description='Components to access 
Azure Compute ARM' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-azureblob</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/${okio.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/${okhttp.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.driver/jclouds-okhttp/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/azurecompute-arm/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-b2' description='Backblaze B2' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <bundle>mvn:org.apache.jclouds.labs/b2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-hnl' description='CloudSigma v2 
Honolulu' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-hnl/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-lvs' description='CloudSigma v2 Las 
Vegas' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-lvs/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-sjc' description='CloudSigma v2 San 
Jose' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-sjc/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-wdc' description='CloudSigma v2 
Washington DC' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-wdc/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-zrh' description='CloudSigma v2 Zurich' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-zrh/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-google-cloud-storage' description='Google Cloud 
Storage' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/google-cloud-storage/${jclouds.version}</bundle>
+    </feature>
+    
+    <feature name='jclouds-packet' description='Packet' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle>mvn:org.apache.jclouds.labs/packet/${jclouds.version}</bundle>
+    </feature>
+    
+    <feature name='jclouds-vagrant' description='Components to access Vagrant' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:name.neykov/vagrant-java-bindings/${vagrant-java-bindings.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.labs/vagrant/${jclouds.version}</bundle>
+    </feature>
+
+</features>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/feature-labs/src/main/resources/.gitignore
----------------------------------------------------------------------
diff --git a/feature-labs/src/main/resources/.gitignore 
b/feature-labs/src/main/resources/.gitignore
new file mode 100644
index 0000000..e69de29

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/feature/pom.xml
----------------------------------------------------------------------
diff --git a/feature/pom.xml b/feature/pom.xml
index ef5e1f1..01e8e69 100644
--- a/feature/pom.xml
+++ b/feature/pom.xml
@@ -26,146 +26,16 @@ limitations under the License.
 
   <groupId>org.apache.jclouds.karaf</groupId>
   <artifactId>jclouds-karaf</artifactId>
-  <packaging>pom</packaging>
+  <packaging>feature</packaging>
   <name>jclouds :: Karaf :: Feature</name>
 
   <build>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>build-helper-maven-plugin</artifactId>
-        <version>${build-helper-maven-plugin.version}</version>
-        <inherited>false</inherited>
-        <executions>
-          <execution>
-            <id>attach-artifacts</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>attach-artifact</goal>
-            </goals>
-            <configuration>
-              <artifacts>
-                <artifact>
-                  <file>target/feature.xml</file>
-                  <type>xml</type>
-                  <classifier>features</classifier>
-                </artifact>
-                <artifact>
-                  <file>target/credentials.cfg</file>
-                  <type>cfg</type>
-                  <classifier>credentials</classifier>
-                </artifact>
-                <artifact>
-                  <file>target/shell.cfg</file>
-                  <type>cfg</type>
-                  <classifier>shell</classifier>
-                </artifact>
-              </artifacts>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-resources-plugin</artifactId>
-        <version>${maven-resources-plugin.version}</version>
-        <inherited>false</inherited>
-        <executions>
-          <execution>
-            <id>copy-resources</id>
-            <phase>validate</phase>
-            <goals>
-              <goal>copy-resources</goal>
-            </goals>
-            <configuration>
-              <outputDirectory>${project.basedir}/target</outputDirectory>
-              <resources>
-                <resource>
-                  <directory>src/main/resources</directory>
-                  <filtering>true</filtering>
-                </resource>
-              </resources>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
         <groupId>org.apache.karaf.tooling</groupId>
-        <artifactId>features-maven-plugin</artifactId>
+        <artifactId>karaf-maven-plugin</artifactId>
         <version>${karaf.version}</version>
-        <executions>
-          <execution>
-            <id>add-features-to-repo</id>
-            <phase>generate-resources</phase>
-            <goals>
-              <goal>add-features-to-repo</goal>
-            </goals>
-            <configuration>
-              <descriptors>
-                <descriptor>file:${basedir}/target/feature.xml</descriptor>
-              </descriptors>
-              <features>
-                <feature>jclouds</feature>
-                <feature>jclouds-blobstore</feature>
-                <feature>jclouds-compute</feature>
-                <feature>jclouds-api-atmos</feature>
-                <feature>jclouds-api-byon</feature>
-                <feature>jclouds-api-cloudsigma2</feature>
-                <feature>jclouds-api-cloudstack</feature>
-                <feature>jclouds-api-elasticstack</feature>
-                <feature>jclouds-api-filesystem</feature>
-                <feature>jclouds-api-openstack-nova</feature>
-                <feature>jclouds-api-openstack-keystone</feature>
-                <feature>jclouds-api-openstack-cinder</feature>
-                <feature>jclouds-api-openstack-swift</feature>
-                <feature>jclouds-aws-cloudwatch</feature>
-                <feature>jclouds-aws-ec2</feature>
-                <feature>jclouds-aws-route53</feature>
-                <feature>jclouds-aws-s3</feature>
-                <feature>jclouds-aws-sqs</feature>
-                <feature>jclouds-aws-sts</feature>
-                <feature>jclouds-azureblob</feature>
-                <feature>jclouds-azurecompute-arm</feature>
-                <feature>jclouds-b2</feature>
-                <feature>jclouds-cloudsigma2-hnl</feature>
-                <feature>jclouds-cloudsigma2-lvs</feature>
-                <feature>jclouds-cloudsigma2-sjc</feature>
-                <feature>jclouds-cloudsigma2-wdc</feature>
-                <feature>jclouds-cloudsigma2-zrh</feature>
-                <feature>jclouds-digitalocean2</feature>
-                <feature>jclouds-dynect</feature>
-                <feature>jclouds-elastichosts-lon-b</feature>
-                <feature>jclouds-elastichosts-lon-p</feature>
-                <feature>jclouds-elastichosts-sat-p</feature>
-                <feature>jclouds-elastichosts-lax-p</feature>
-                <feature>jclouds-elastichosts-tor-p</feature>
-                <feature>jclouds-gogrid</feature>
-                <feature>jclouds-go2cloud-jhb1</feature>
-                <feature>jclouds-google-compute-engine</feature>
-                <feature>jclouds-google-cloud-storage</feature>
-                <feature>jclouds-glesys</feature>
-                <feature>jclouds-openhosting-east1</feature>
-                <feature>jclouds-packet</feature>
-                <feature>jclouds-profitbricks</feature>
-                <feature>jclouds-rackspace-cloudfiles-us</feature>
-                <feature>jclouds-rackspace-cloudfiles-uk</feature>
-                <feature>jclouds-rackspace-cloudloadbalancers-us</feature>
-                <feature>jclouds-rackspace-cloudloadbalancers-uk</feature>
-                <feature>jclouds-rackspace-cloudservers-us</feature>
-                <feature>jclouds-rackspace-cloudservers-uk</feature>
-                <feature>jclouds-rackspace-clouddns-us</feature>
-                <feature>jclouds-rackspace-clouddns-uk</feature>
-                <feature>jclouds-rackspace-cloudblockstorage-us</feature>
-                <feature>jclouds-rackspace-cloudblockstorage-uk</feature>
-                <feature>jclouds-serverlove-z1-man</feature>
-                <feature>jclouds-skalicloud-sdg-my</feature>
-                <feature>jclouds-softlayer</feature>
-                <feature>jclouds-vagrant</feature>
-              </features>
-              <repository>target/features-repo</repository>
-            </configuration>
-          </execution>
-        </executions>
+        <extensions>true</extensions>
       </plugin>
     </plugins>
   </build>

http://git-wip-us.apache.org/repos/asf/jclouds-karaf/blob/fa11dcfc/feature/src/main/feature/feature.xml
----------------------------------------------------------------------
diff --git a/feature/src/main/feature/feature.xml 
b/feature/src/main/feature/feature.xml
new file mode 100644
index 0000000..1e990cc
--- /dev/null
+++ b/feature/src/main/feature/feature.xml
@@ -0,0 +1,602 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+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.
+-->
+<features name="jclouds-${project.version}" 
xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+
+    <feature name='jclouds-all-blobstore' description='jclouds - all - macro 
feature to bundle all blobstores' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-s3</feature>
+        <feature version='${project.version}'>jclouds-aws-s3</feature>
+        <feature version='${project.version}'>jclouds-azureblob</feature>
+        <feature version='${project.version}'>jclouds-api-atmos</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-swift</feature>
+        <feature 
version='${project.version}'>jclouds-rackspace-cloudfiles-uk</feature>
+        <feature 
version='${project.version}'>jclouds-rackspace-cloudfiles-us</feature>
+    </feature>
+
+    <feature name='jclouds-all-compute' description='jclouds - all - macro 
feature to bundle all computes' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-aws-ec2</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-nova</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-nova-ec2</feature>
+        <feature version='${project.version}'>jclouds-api-byon</feature>
+        <feature version='${project.version}'>jclouds-api-ec2</feature>
+        <feature version='${project.version}'>jclouds-gogrid</feature>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        <feature 
version='${project.version}'>jclouds-elastichosts-lon-p</feature>
+        <feature 
version='${project.version}'>jclouds-elastichosts-sat-p</feature>
+        <feature 
version='${project.version}'>jclouds-elastichosts-lon-b</feature>
+        <feature 
version='${project.version}'>jclouds-openhosting-east1</feature>
+        <feature 
version='${project.version}'>jclouds-serverlove-z1-man</feature>
+        <feature 
version='${project.version}'>jclouds-skalicloud-sdg-my</feature>
+        <feature version='${project.version}'>jclouds-go2cloud-jhb1</feature>
+        <feature version='${project.version}'>jclouds-softlayer</feature>
+        <feature version='${project.version}'>jclouds-api-cloudstack</feature>
+        <feature 
version='${project.version}'>jclouds-rackspace-cloudservers-us</feature>
+        <feature 
version='${project.version}'>jclouds-rackspace-cloudservers-uk</feature>
+        <feature 
version='${project.version}'>jclouds-google-compute-engine</feature>
+        <feature version='${project.version}'>jclouds-digitalocean2</feature>
+        <feature version='${project.version}'>jclouds-profitbricks</feature>
+        <feature version='${project.version}'>jclouds-api-docker</feature>
+    </feature>
+
+    <feature name='jclouds-guice' description='jclouds - Google Guice' 
version='${project.version}'>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/${javax.inject.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
+        <bundle>mvn:com.google.inject/guice/${guice.version}</bundle>
+        
<bundle>mvn:com.google.inject.extensions/guice-assistedinject/${guice.version}</bundle>
+        
<bundle>mvn:com.google.inject.extensions/guice-multibindings/${guice.version}</bundle>
+    </feature>
+
+    <feature name='jclouds' description='jclouds' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-guice</feature>
+        <bundle 
dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/${javax.ws.rs.api.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.google.guava/guava/${guava.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.oauth-commons/${net.oauth.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jersey-core/${jersey.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.google.code.gson/gson/${gson.version}</bundle>
+        <bundle>mvn:org.apache.jclouds/jclouds-core/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-blobstore' description='jclouds - blobstore' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds/jclouds-blobstore/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-compute' description='jclouds - compute' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        <feature version='${project.version}'>jclouds-scriptbuilder</feature>
+        
<bundle>mvn:org.apache.jclouds/jclouds-compute/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-loadbalancer' description='jclouds - loadbalancer' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-scriptbuilder' description='jclouds - 
scriptbuilder' version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
+    </feature>
+
+    <!-- APIS -->
+    <feature name='jclouds-api-atmos' description='jclouds - API - Atmos' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <bundle>mvn:org.apache.jclouds.api/atmos/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-byon' description='jclouds - API - Byon' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/byon/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-chef" description="jclouds - API - Chef" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.api/chef/${jclouds.chef.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-cloudstack" description="jclouds - API - 
Cloudstack" version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.api/cloudstack/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-cloudwatch" description="jclouds - API - 
Cloudwatch" version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        
<bundle>mvn:org.apache.jclouds.api/cloudwatch/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-docker' description='jclouds - API - Docker' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-driver-bouncycastle</feature>
+        <feature version='${project.version}'>jclouds-driver-okhttp</feature>
+        <feature version='${project.version}'>jclouds-api-oauth</feature>
+        <bundle>mvn:org.apache.jclouds.api/docker/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-ec2" description="jclouds - API - EC2" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        <bundle>mvn:org.apache.jclouds.api/ec2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-elasticstack' description='jclouds - API - 
Elasticstack' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-filesystem' description='jclouds - API - 
FileSystem' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        
<bundle>mvn:org.apache.jclouds.api/filesystem/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-oauth" description="jclouds - API - OAuth" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-cinder' description='jclouds - API - 
OpenStack Cinder' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-cinder/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-keystone' description='jclouds - API 
- OpenStack Keystone' version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-keystone/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-nova' description='jclouds - API - 
OpenStack Nova' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-nova/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-nova-ec2' description='jclouds - API 
- OpenStack Nova EC2' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-openstack-nova</feature>
+        <feature version='${project.version}'>jclouds-api-ec2</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-nova-ec2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-swift' description='jclouds - API - 
OpenStack Swift' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-swift/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-api-openstack-trove' description='jclouds - API - 
OpenStack Trove' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/openstack-trove/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-rackspace-clouddns" description="Rackspace 
Cloud DNS API" version="${project.version}">
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-clouddns/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-rackspace-cloudfiles" description="Rackspace 
Cloud Files API" version="${project.version}">
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-swift</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudfiles/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-rackspace-cloudidentity" description="Rackspace 
Cloud Identity API" version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudidentity/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-rackspace-cloudloadbalancers" 
description="Rackspace Cloud Load Balancers API" version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-loadbalancer</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-keystone</feature>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudloadbalancers/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-route53" description="jclouds - API - Route53" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        <bundle>mvn:org.apache.jclouds.api/route53/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-s3" description="jclouds - API - S3" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.java-xmlbuilder/${java-xmlbuilder.bundle.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.api/s3/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-sqs" description="jclouds - API - SQS" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        <bundle>mvn:org.apache.jclouds.api/sqs/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-api-sts" description="jclouds - API - STS" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle>mvn:org.apache.jclouds.api/sts/${jclouds.version}</bundle>
+    </feature>
+
+    <!-- PROVIDERS -->
+    <feature name='jclouds-aws-cloudwatch' description='Amazon Web Service - 
Cloudwatch' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-cloudwatch</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-cloudwatch/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-aws-ec2' description='Amazon Web Service - EC2' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-ec2</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-ec2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-aws-route53' description='Amazon Web Service - 
Route 53' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-route53</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-route53/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-aws-s3' description='Amazon Web Service - S3' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-s3</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-s3/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-aws-sqs' description='Amazon Web Service - SQS' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-sqs</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-sqs/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-aws-sts' description='Amazon Web Service - STS' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-api-sts</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/aws-sts/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-azureblob' description='Azureblob' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/azureblob/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-digitalocean2' description='Components to access 
DigitalOcean v2' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-api-oauth</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/digitalocean2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-dynect' description='DynECT Managed DNS' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/dynect/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-elastichosts-lon-b' description='Elastichosts 
Bluesquare London' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-b/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-elastichosts-lon-p' description='Elastichosts Peer1 
London' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/elastichosts-lon-p/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-elastichosts-sat-p' description='Elastichosts Peer1 
San Antonio' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/elastichosts-sat-p/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-elastichosts-lax-p' description='Elastichosts Peer1 
Los Angeles' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/elastichosts-lax-p/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-elastichosts-tor-p' description='Elastichosts Peer1 
Toronto' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/elastichosts-tor-p/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-glesys' description='GleSYS' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/glesys/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-go2cloud-jhb1' description='Go2Cloud implementation 
targeted to Johannesburg1' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-elasticstack</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/go2cloud-jhb1/${jclouds.version}</bundle>
+    </feature>
+    <feature name='jclouds-gogrid' description='GoGrid' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/gogrid/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-google-compute-engine' description='Components to 
access Google Compute Engine' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+                <feature 
version='${project.version}'>jclouds-api-oauth</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/google-compute-engine/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-openhosting-east1' description='Open Hosting for 
East1' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/openhosting-east1/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-profitbricks' description='Components to access 
ProfitBricks' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/profitbricks/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudblockstorage-uk' 
description='Racksapce Cloud Block Storage UK' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-openstack-cinder</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudblockstorage-uk/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudblockstorage-us' 
description='Racksapce Cloud Block Storage US' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-openstack-cinder</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudblockstorage-us/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudloadbalancers-us' description='Cloud 
Load Balancers US' version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds/jclouds-compute/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudloadbalancers/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudloadbalancers-us/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudloadbalancers-uk' description='Cloud 
Load Balancers UK' version='${project.version}'>
+        <feature version='${project.version}'>jclouds</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/openstack-common/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds/jclouds-loadbalancer/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds/jclouds-scriptbuilder/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.api/rackspace-cloudloadbalancers/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudloadbalancers-uk/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudservers-us' description='Rackspace 
Cloudservers US' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-nova</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-us/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudservers-uk' description='Rackspace 
Cloudservers UK' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-api-openstack-nova</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudservers-uk/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-clouddns-us' description='Racksapce Cloud 
DNS US' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-clouddns</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-clouddns-us/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-clouddns-uk' description='Racksapce Cloud 
DNS UK' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-clouddns</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-clouddns-uk/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudfiles-uk' description='Rackspace 
Cloud Files UK' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudfiles</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-uk/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-rackspace-cloudfiles-us' description='Rackspace 
Cloud Files US' version='${project.version}'>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudfiles</feature>
+        <feature 
version='${project.version}'>jclouds-api-rackspace-cloudidentity</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/rackspace-cloudfiles-us/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-serverlove-z1-man' description='Serverlove 
implementation targeted to Manchester' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/serverlove-z1-man/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-skalicloud-sdg-my' description='SkaliCloud 
implementation targeted to Malaysia' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.api/elasticstack/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.provider/skalicloud-sdg-my/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-softlayer' description='Components to access 
SoftLayer' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        
<bundle>mvn:org.apache.jclouds.provider/softlayer/${jclouds.version}</bundle>
+    </feature>
+
+    <!-- DRIVERS -->
+    <feature name="jclouds-driver-apachehc" description="Apache HTTP 
Components Client driver for jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle 
dependency='true'>mvn:org.apache.httpcomponents/httpcore-osgi/${httpcore.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.httpcomponents/httpclient-osgi/${httpclient.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-apachehc/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-bouncycastle" description="Bouncycastle 
driver for jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle 
dependency="true">mvn:org.bouncycastle/bcprov-ext-jdk15on/${bcprov.version}</bundle>
+        <bundle 
dependency="true">mvn:org.bouncycastle/bcpkix-jdk15on/${bcprov.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-bouncycastle/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-enterprise" description="Enterprise driver 
for jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <feature 
version='${project.version}'>jclouds-driver-bouncycastle</feature>
+        <feature version='${project.version}'>jclouds-driver-netty</feature>
+        <feature version='${project.version}'>jclouds-driver-joda</feature>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-enterprise/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-joda" description="Joda driver for jclouds" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle dependency='true'>mvn:joda-time/joda-time/2.1</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-joda/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-jsch" description="JSCH driver for jclouds" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-driver-bouncycastle</feature>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.karaf.bundles/jsch-agentproxy-jsch/${project.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.usocket-nc/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.bundle.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-jsch/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-log4j" description="Log4j driver for 
jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-log4j/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-netty" description="Netty driver for 
jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle 
dependency='true'>mvn:io.netty/netty/${netty.bundle.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-netty/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-okhttp" description="OkHttp Client driver 
for jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/${okio.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/${okhttp.bundle.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-okhttp/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-slf4j" description="SLF4J driver for 
jclouds" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-slf4j/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-driver-sshj" description="SSHJ driver for jclouds" 
version="${project.version}">
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature 
version='${project.version}'>jclouds-driver-bouncycastle</feature>
+        <!--TODO update ${jzlib.bundle.version}-->
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/1.1.3_2</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.core/0.0.9</bundle>
+        <bundle 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch-agentproxy-sshj/0.0.9_1</bundle>
+        <bundle dependency="true">mvn:net.i2p.crypto/eddsa/0.1.0</bundle>
+        <bundle dependency="true">mvn:com.hierynomus/sshj/0.20.0</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-sshj/${jclouds.version}</bundle>
+    </feature>
+
+    <!-- JCLOUDS-LABS -->
+    <feature name='jclouds-azurecompute-arm' description='Components to access 
Azure Compute ARM' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-azureblob</feature>
+        <feature version='${project.version}'>jclouds-api-oauth</feature>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/${okio.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/${okhttp.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.driver/jclouds-okhttp/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/azurecompute-arm/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-b2' description='Backblaze B2' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <bundle>mvn:org.apache.jclouds.labs/b2/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-hnl' description='CloudSigma v2 
Honolulu' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-hnl/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-lvs' description='CloudSigma v2 Las 
Vegas' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-lvs/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-sjc' description='CloudSigma v2 San 
Jose' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-sjc/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-wdc' description='CloudSigma v2 
Washington DC' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-wdc/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-cloudsigma2-zrh' description='CloudSigma v2 Zurich' 
version='${project.version}'>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.labs/cloudsigma2/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/cloudsigma2-zrh/${jclouds.version}</bundle>
+    </feature>
+
+    <feature name='jclouds-google-cloud-storage' description='Google Cloud 
Storage' version='${project.version}'>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <feature version='${project.version}'>jclouds-api-oauth</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.labs/google-cloud-storage/${jclouds.version}</bundle>
+    </feature>
+
+    <!-- SERVICES -->
+    <feature name="jclouds-services" description="OSGi Service Factories for 
jclouds" version="${project.version}">
+        <configfile 
finalname="${karaf.etc}/org.apache.jclouds.credentials.cfg">mvn:org.apache.jclouds.karaf/jclouds-karaf/${project.version}/cfg/credentials</configfile>
+        <feature version='${project.version}'>jclouds-compute</feature>
+        <feature version='${project.version}'>jclouds-blobstore</feature>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsch/${jsch.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.karaf.bundles/jsch-agentproxy-jsch/${project.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.connector-factory/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.usocket-nc/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:com.jcraft/jsch.agentproxy.sshagent/${jsch.agentproxy.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jzlib/${jzlib.bundle.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.bouncycastle/bcprov-ext-jdk15on/${bcprov.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.driver/jclouds-bouncycastle/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.driver/jclouds-slf4j/${jclouds.version}</bundle>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.common/googlecloud/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-jsch/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.driver/jclouds-log4j/${jclouds.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.karaf/core/${project.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.karaf/cache/${project.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.karaf/recipe/${project.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.karaf/services/${project.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-commands" description="Karaf Commands for jclouds" 
version="${project.version}">
+        <configfile 
finalname="/etc/org.apache.jclouds.shell.cfg">mvn:org.apache.jclouds.karaf/jclouds-karaf/${project.version}/cfg/shell</configfile>
+        <feature version='${project.version}'>jclouds-services</feature>
+        <bundle 
dependency="true">mvn:org.codehaus.groovy/groovy/${groovy.version}</bundle>
+        <bundle 
dependency="true">mvn:org.codehaus.groovy/groovy-jsr223/${groovy.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.karaf/core/${project.version}</bundle>
+        <bundle>mvn:org.apache.jclouds.karaf/recipe/${project.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.karaf/commands/${project.version}</bundle>
+    </feature>
+
+    <feature name="jclouds-chef" description="jclouds Chef Services and 
Commands" version="${project.version}">
+        <feature version='${project.version}'>jclouds-api-chef</feature>
+        <feature version='${project.version}'>jclouds-commands</feature>
+        <bundle 
dependency='true'>mvn:org.apache.jclouds.driver/jclouds-slf4j/${jclouds.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.karaf.chef/cache/${project.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.karaf.chef/services/${project.version}</bundle>
+        
<bundle>mvn:org.apache.jclouds.karaf.chef/commands/${project.version}</bundle>
+    </feature>
+
+     <feature name="jclouds-url-handler" description="Url Handler for jclouds 
Blobs" version="${project.version}">
+        <feature version='${project.version}'>jclouds</feature>
+        
<bundle>mvn:org.apache.jclouds.karaf/urlhandler/${project.version}</bundle>
+    </feature>
+
+</features>

Reply via email to