nacx requested changes on this pull request. Epic PR @andreaturli!
> @@ -82,7 +82,8 @@ limitations under the License. </goals> <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> + <!--<dependencyReducedPomLocation>${project.build.directory}/dependency-reduced-pom.xml</dependencyReducedPomLocation>--> Why has this been changed? We might need this if we are shading dependencies, to let the right dependencies be resolved by the Maven reactor. > @@ -27,93 +62,141 @@ limitations under the License. <feature name='jclouds' description='jclouds' version='${project.version}' resolver='(obr)'> <feature version='${project.version}'>jclouds-guice</feature> + <bundle dependency="true">mvn:javax.ws.rs/javax.ws.rs-api/2.0.1</bundle> Movr the version to a property in the root pom.xml > </goals> <configuration> <descriptors> <descriptor>file:${basedir}/target/feature.xml</descriptor> </descriptors> <features> - <feature>jclouds</feature> Why is this no longer declared here? > + 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}' resolver='(obr)'> + <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> Depend on the oauth feature? > + + <feature name='jclouds-cloudsigma2-wdc' description='CloudSigma v2 Washington DC' version='${project.version}' resolver='(obr)'> + <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}' resolver='(obr)'> + <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}' resolver='(obr)'> + <feature version='${project.version}'>jclouds-blobstore</feature> + <bundle dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle> Depend on the oauth feature? > @@ -193,16 +270,86 @@ limitations under the License. <bundle>mvn:org.apache.jclouds.provider/azureblob/${jclouds.version}</bundle> </feature> - <feature name='jclouds-b2' description='Backblaze B2' version='${project.version}' resolver='(obr)'> - <feature version='${project.version}'>jclouds-blobstore</feature> - <bundle>mvn:org.apache.jclouds.labs/b2/${jclouds.version}</bundle> + <feature name='jclouds-digitalocean2' description='Components to access DigitalOcean v2' version='${project.version}' resolver='(obr)'> + <feature version='${project.version}'>jclouds-compute</feature> + <bundle dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle> Depend on the oauth feature? > + <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}' resolver='(obr)'> + <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}' resolver='(obr)'> + <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}' resolver='(obr)'> + <feature version='${project.version}'>jclouds-compute</feature> + <bundle dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle> Depend on the oauth feature? > @@ -419,6 +545,25 @@ limitations under the License. <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}' resolver='(obr)'> + <feature version='${project.version}'>jclouds-blobstore</feature> + <bundle dependency='true'>mvn:org.apache.jclouds.api/oauth/${jclouds.version}</bundle> Depend on the oauth feature? > </feature> - <feature name='jclouds-openhosting-east1' description='Open Hosting for East1' version='${project.version}' resolver='(obr)'> - <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 name="jclouds-driver-netty" description="Netty driver for jclouds" version="${project.version}" resolver="(obr)"> + <feature version='${project.version}'>jclouds</feature> + <bundle dependency='true'>mvn:io.netty/netty/3.5.9.Final</bundle> Move version to the root pom.xml? > + <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}' resolver='(obr)'> + <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}' resolver='(obr)'> + <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> These features are already in the labs feature file. Should them be here? > + <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}' resolver='(obr)'> + <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}' resolver='(obr)'> + <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> Same for B2 and all other labs features > +@RunWith(PaxExam.class) +@ExamReactorStrategy(PerMethod.class) +public class FeatureInstallationTest extends BasePaxExamTest { + + @Inject + FeaturesService featuresService; + + @Before + public void setUp() throws Exception { + featuresService.addRepository(getFeaturesFile().toURI()); + } + + @Test + public void testJcloudsFeature() throws Exception { + featuresService.installFeature("jclouds"); + } We'd better have just one test and provide the list of features to install: https://github.com/junit-team/junit4/wiki/Parameterized-tests > + } + + @Test + public void testLabsGoogleCloudStorageFeature() throws Exception { + featuresService.installFeature("jclouds-google-cloud-storage"); + } + + @Test + public void testLabsPacketFeature() throws Exception { + featuresService.installFeature("jclouds-packet"); + } + + @Test + public void testLabsVagrantFeature() throws Exception { + featuresService.installFeature("jclouds-vagrant"); + } Same here about parameterized tests. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/jclouds/jclouds-karaf/pull/92#pullrequestreview-22300902