Skip to content
Permalink
Browse files
Sync OSGi handling with Apache JClouds Project
This project, the lab version of Apache JCloud, share the exact build instructions as the primary Apache JCloud project with all its modules.
Apache JCloud is shifting its strategy in handling OSGi configuration. Instead of using the Maven Bundle Plugin, a wrapper of the BND plugin, the BND plugin gets used directly.
Remove the OSGi configuration from each module. The configuration gets served to the BND through dedicated configuration / bnd files.

Onboard bnd-configuration files, one per module

Change packaging structure of cloud-sigma regions

Move provider classes from implementation and test from org.jclouds.cloudsigma2 to the respective package, e.g., org.jclouds.cloudsigma2.hnl to avoid a collision by identical package name served from different bundles.

Adjust GSON handling

Instead of repacking GSON in the Apache JCloud on a package name level, only the OSGi Metadata gets changed. This means the original GSON packing stays intact.

Ignore bnd files

Disable broken unit test
  • Loading branch information
markus-gritsch authored and gaul committed Oct 26, 2020
1 parent 0b9344b commit e7885359a7755ac5ad6298f35b7547a31e1c5548
Showing 53 changed files with 77 additions and 140 deletions.
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.abiquo.*;version="${project.version}";-noimport:=true
@@ -29,20 +29,13 @@
<artifactId>abiquo</artifactId>
<name>jclouds Abiquo api</name>
<description>jclouds components to access an implementation of Abiquo</description>
<packaging>bundle</packaging>


<properties>
<test.abiquo.endpoint>http://localhost/api</test.abiquo.endpoint>
<test.abiquo.identity>FIXME</test.abiquo.identity>
<test.abiquo.credential>FIXME</test.abiquo.credential>
<test.abiquo.api-version />
<test.abiquo.template />
<jclouds.osgi.export>org.jclouds.abiquo*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.labs*;version="${project.version}",
org.jclouds*;version="${jclouds.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.aliyun.ecs.*;version="${project.version}";-noimport:=true
@@ -28,17 +28,14 @@
<artifactId>aliyun-ecs</artifactId>
<name>jclouds Alibaba Elastic Compute Service API</name>
<description>jclouds components to access an implementation of Alibaba Elastic Compute Service</description>
<packaging>bundle</packaging>

<properties>
<test.aliyun-ecs.endpoint>https://ecs.aliyuncs.com/</test.aliyun-ecs.endpoint>
<test.aliyun-ecs.identity>FIXME_IDENTITY</test.aliyun-ecs.identity>
<test.aliyun-ecs.credential>FIXME_CREDENTIALS</test.aliyun-ecs.credential>
<test.aliyun-ecs.template/>

<jclouds.osgi.export>org.jclouds.aliyun.ecs.*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>org.jclouds*;version="${project.version}",*</jclouds.osgi.import>
<jclouds.osgi.dynamic>*</jclouds.osgi.dynamic>

</properties>

<dependencies>
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.snia.cdmi.v1.*;version="${project.version}";-noimport:=true
@@ -30,7 +30,6 @@
<artifactId>cdmi</artifactId>
<name>jclouds cdmi api</name>
<description>jclouds components to access an implementation of SNIA CDMI</description>
<packaging>bundle</packaging>

<properties>
<test.cdmi.endpoint>http://localhost:8080</test.cdmi.endpoint>
@@ -40,15 +39,6 @@
<test.cdmi.credential>FIXME_CREDENTIALS</test.cdmi.credential>
<jclouds.blobstore.httpstream.url>FIXME_HTTPURL</jclouds.blobstore.httpstream.url>
<jclouds.blobstore.httpstream.md5>FIXME_HTTPMD5</jclouds.blobstore.httpstream.md5>

<jclouds.osgi.export>org.jclouds.snia.cdmi.v1*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.blobstore.internal;version="${jclouds.version}",
org.jclouds.rest.internal;version="${jclouds.version}",
org.jclouds.labs*;version="${project.version}",
org.jclouds*;version="${jclouds.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.hnl.*;version="${project.version}";-noimport:=true
@@ -31,7 +31,6 @@
<version>2.3.0-SNAPSHOT</version>
<name>jclouds CloudSigma v2 Honolulu Provider</name>
<description>ComputeService binding to the CloudSigma datacenter in Honolulu</description>
<packaging>bundle</packaging>

<properties>
<test.cloudsigma2-hnl.endpoint>https://hnl.cloudsigma.com/api/2.0/</test.cloudsigma2-hnl.endpoint>
@@ -41,13 +40,6 @@
<test.cloudsigma2-hnl.credential>FIXME</test.cloudsigma2-hnl.credential>
<!-- Ubuntu 14.04 Cloud Image -->
<test.cloudsigma2-hnl.template>imageId=9e0400ab-d911-4232-971d-f552330b61be,loginUser=ubuntu</test.cloudsigma2-hnl.template>
<jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -14,11 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.hnl;

import java.net.URI;
import java.util.Properties;

import org.jclouds.cloudsigma2.CloudSigma2ApiMetadata;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;

@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.hnl;

import org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2HonoluluLiveTest")
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2.compute;
package org.jclouds.cloudsigma2.hnl.compute;

import org.jclouds.cloudsigma2.compute.CloudSigma2ComputeServiceLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2HonoluluComputeServiceLiveTest")
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.lvs.*;version="${project.version}";-noimport:=true
@@ -31,7 +31,6 @@
<version>2.3.0-SNAPSHOT</version>
<name>jclouds CloudSigma v2 Las Vegas Provider</name>
<description>ComputeService binding to the CloudSigma datacenter in SuperNAP Las Vegas</description>
<packaging>bundle</packaging>

<properties>
<test.cloudsigma2-lvs.endpoint>https://lvs.cloudsigma.com/api/2.0/</test.cloudsigma2-lvs.endpoint>
@@ -41,13 +40,6 @@
<test.cloudsigma2-lvs.credential>FIXME</test.cloudsigma2-lvs.credential>
<!-- Ubuntu 14.04 Cloud Image -->
<test.cloudsigma2-lvs.template>imageId=9e0400ab-d911-4232-971d-f552330b61be,loginUser=ubuntu</test.cloudsigma2-lvs.template>
<jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -14,11 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.lvs;

import java.net.URI;
import java.util.Properties;

import org.jclouds.cloudsigma2.CloudSigma2ApiMetadata;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;

@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.lvs;

import org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2LasVegasLiveTest")
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2.compute;
package org.jclouds.cloudsigma2.lvs.compute;

import org.jclouds.cloudsigma2.compute.CloudSigma2ComputeServiceLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2LasVegasComputeServiceLiveTest")
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.mia.*;version="${project.version}";-noimport:=true
@@ -31,7 +31,6 @@
<version>2.3.0-SNAPSHOT</version>
<name>jclouds CloudSigma v2 Miami Provider</name>
<description>ComputeService binding to the CloudSigma datacenter in Miami</description>
<packaging>bundle</packaging>

<properties>
<test.cloudsigma2-mia.endpoint>https://mia.cloudsigma.com/api/2.0/</test.cloudsigma2-mia.endpoint>
@@ -41,13 +40,6 @@
<test.cloudsigma2-mia.credential>FIXME</test.cloudsigma2-mia.credential>
<!-- Ubuntu 14.04 Cloud Image -->
<test.cloudsigma2-mia.template>imageId=976368fb-cb6f-43d8-9632-4d19911b9304,loginUser=ubuntu</test.cloudsigma2-mia.template>
<jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -14,11 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.mia;

import java.net.URI;
import java.util.Properties;

import org.jclouds.cloudsigma2.CloudSigma2ApiMetadata;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;

@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.mia;

import org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2MiamiLiveTest")
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2.compute;
package org.jclouds.cloudsigma2.mia.compute;

import org.jclouds.cloudsigma2.compute.CloudSigma2ComputeServiceLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2MiamiComputeServiceLiveTest")
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.sjc.*;version="${project.version}";-noimport:=true
@@ -31,7 +31,6 @@
<version>2.3.0-SNAPSHOT</version>
<name>jclouds CloudSigma v2 San Jose Provider</name>
<description>ComputeService binding to the CloudSigma datacenter in San Jose</description>
<packaging>bundle</packaging>

<properties>
<test.cloudsigma2-sjc.endpoint>https://sjc.cloudsigma.com/api/2.0/</test.cloudsigma2-sjc.endpoint>
@@ -41,13 +40,6 @@
<test.cloudsigma2-sjc.credential>FIXME</test.cloudsigma2-sjc.credential>
<!-- Ubuntu 14.04 Cloud Image -->
<test.cloudsigma2-sjc.template>imageId=4e1fb3af-5da9-4575-9b38-b8adac549aad,loginUser=ubuntu</test.cloudsigma2-sjc.template>
<jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -14,11 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.sjc;

import java.net.URI;
import java.util.Properties;

import org.jclouds.cloudsigma2.CloudSigma2ApiMetadata;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;

@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.sjc;

import org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2SanJoseLiveTest")
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2.compute;
package org.jclouds.cloudsigma2.sjc.compute;

import org.jclouds.cloudsigma2.compute.CloudSigma2ComputeServiceLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2SanJoseComputeServiceLiveTest")
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.wdc.*;version="${project.version}";-noimport:=true
@@ -31,7 +31,6 @@
<version>2.3.0-SNAPSHOT</version>
<name>jclouds CloudSigma v2 Washington DC Provider</name>
<description>ComputeService binding to the CloudSigma datacenter in Washington DC</description>
<packaging>bundle</packaging>

<properties>
<test.cloudsigma2-wdc.endpoint>https://wdc.cloudsigma.com/api/2.0/</test.cloudsigma2-wdc.endpoint>
@@ -41,13 +40,6 @@
<test.cloudsigma2-wdc.credential>FIXME</test.cloudsigma2-wdc.credential>
<!-- Ubuntu 14.04 Cloud Image -->
<test.cloudsigma2-wdc.template>imageId=677f3f9a-840a-4f6e-8a21-987dcb59c81a,loginUser=ubuntu</test.cloudsigma2-wdc.template>
<jclouds.osgi.export>org.jclouds.cloudsigma2*;version="${project.version}"</jclouds.osgi.export>
<jclouds.osgi.import>
org.jclouds.compute.internal;version="${project.version}",
org.jclouds.rest.internal;version="${project.version}",
org.jclouds*;version="${project.version}",
*
</jclouds.osgi.import>
</properties>

<dependencies>
@@ -14,11 +14,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.wdc;

import java.net.URI;
import java.util.Properties;

import org.jclouds.cloudsigma2.CloudSigma2ApiMetadata;
import org.jclouds.providers.ProviderMetadata;
import org.jclouds.providers.internal.BaseProviderMetadata;

@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2;
package org.jclouds.cloudsigma2.wdc;

import org.jclouds.cloudsigma2.CloudSigma2ApiLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2WashingtonLiveTest")
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jclouds.cloudsigma2.compute;
package org.jclouds.cloudsigma2.wdc.compute;

import org.jclouds.cloudsigma2.compute.CloudSigma2ComputeServiceLiveTest;
import org.testng.annotations.Test;

@Test(groups = "live", testName = "CloudSigma2WashingtonComputeServiceLiveTest")
@@ -0,0 +1,2 @@
Export-Package: \
org.jclouds.cloudsigma2.zrh.*;version="${project.version}";-noimport:=true

0 comments on commit e788535

Please sign in to comment.