You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ro...@apache.org on 2021/01/12 05:11:42 UTC

[aries-jax-rs-whiteboard] 01/03: ARIES-2029 Do not bundle CXF

This is an automated email from the ASF dual-hosted git repository.

rotty3000 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/aries-jax-rs-whiteboard.git

commit c59f4f939c4cf97194b74b8df07b1a5bc8b13492
Author: Carlos Sierra Andrés <ca...@liferay.com>
AuthorDate: Mon Jun 22 12:22:42 2020 +0200

    ARIES-2029 Do not bundle CXF
---
 .../cxf-jettison/cxf-jettison-itest/pom.xml        |   6 --
 jax-rs.example/pom.xml                             |   5 -
 jax-rs.itests-fragment/bnd.bnd                     |  58 -----------
 jax-rs.itests-fragment/pom.xml                     |  47 ---------
 jax-rs.itests/pom.xml                              |   6 --
 jax-rs.whiteboard/bnd.bnd                          |  45 +-------
 jax-rs.whiteboard/pom.xml                          |   5 -
 .../jax/rs/whiteboard}/cxf/helpers/JavaUtils.java  |   2 +-
 .../cxf/jaxrs/client/PromiseRxInvokerImpl.java     |  75 ++++++++++----
 .../jaxrs/client/PromiseRxInvokerProviderImpl.java |   3 +-
 .../internal/client/ClientBuilderImpl.java         |   2 +-
 org.apache.aries.jax.rs.cxf.repackage/pom.xml      | 113 ---------------------
 .../src/main/resources/META-INF/MANIFEST.MF        |   1 -
 pom.xml                                            |  17 ++--
 14 files changed, 67 insertions(+), 318 deletions(-)

diff --git a/integrations/cxf-jettison/cxf-jettison-itest/pom.xml b/integrations/cxf-jettison/cxf-jettison-itest/pom.xml
index 98e0a35..eade11a 100644
--- a/integrations/cxf-jettison/cxf-jettison-itest/pom.xml
+++ b/integrations/cxf-jettison/cxf-jettison-itest/pom.xml
@@ -81,12 +81,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.aries.jax.rs</groupId>
-            <artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
-            <version>${project.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jax.rs</groupId>
             <artifactId>org.apache.aries.jax.rs.jaxb.json.cxf-jettison</artifactId>
             <version>${project.version}</version>
             <scope>runtime</scope>
diff --git a/jax-rs.example/pom.xml b/jax-rs.example/pom.xml
index 770ee2b..88f6124 100644
--- a/jax-rs.example/pom.xml
+++ b/jax-rs.example/pom.xml
@@ -114,11 +114,6 @@
             <scope>runtime</scope>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.jax.rs</groupId>
-            <artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.osgi</groupId>
             <artifactId>org.osgi.service.cm</artifactId>
         </dependency>
diff --git a/jax-rs.itests-fragment/bnd.bnd b/jax-rs.itests-fragment/bnd.bnd
deleted file mode 100644
index cbac9ca..0000000
--- a/jax-rs.itests-fragment/bnd.bnd
+++ /dev/null
@@ -1,58 +0,0 @@
-#    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.
-
-Fragment-Host: org.apache.aries.jax.rs.whiteboard
-Export-Package:\
-	org.apache.cxf;version="3.2.13",\
-	org.apache.cxf.attachment;version="3.2.13",\
-	org.apache.cxf.common.classloader;version="3.2.13",\
-	org.apache.cxf.common.logging;version="3.2.13",\
-	org.apache.cxf.common.jaxb;version="3.2.13",\
-	org.apache.cxf.common.security;version="3.2.13",\
-	org.apache.cxf.common.util;version="3.2.13",\
-	org.apache.cxf.configuration.security;version="3.2.13",\
-	org.apache.cxf.endpoint;version="3.2.13",\
-	org.apache.cxf.helpers;version="3.2.13",\
-	org.apache.cxf.interceptor;version="3.2.13",\
-	org.apache.cxf.interceptor.security;version="3.2.13",\
-	org.apache.cxf.io;version="3.2.13",\
-	org.apache.cxf.jaxrs;version="3.2.13",\
-	org.apache.cxf.jaxrs.ext;version="3.2.13",\
-	org.apache.cxf.jaxrs.impl;version="3.2.13",\
-	org.apache.cxf.jaxrs.model;version="3.2.13",\
-	org.apache.cxf.jaxrs.provider;version="3.2.13",\
-	org.apache.cxf.jaxrs.utils;version="3.2.13",\
-	org.apache.cxf.jaxrs.utils.multipart;version="3.2.13",\
-	org.apache.cxf.jaxrs.utils.schemas;version="3.2.13",\
-	org.apache.cxf.message;version="3.2.13",\
-	org.apache.cxf.phase;version="3.2.13",\
-	org.apache.cxf.resource;version="3.2.13",\
-	org.apache.cxf.security;version="3.2.13",\
-	org.apache.cxf.security.transport;version="3.2.13",\
-	org.apache.cxf.service.model;version="3.2.13",\
-	org.apache.cxf.staxutils;version="3.2.13",\
-	org.apache.cxf.staxutils.transform;version="3.2.13",\
-	org.apache.cxf.transport.http.auth;version="3.2.13",\
-	org.apache.cxf.helpers;version="3.2.13",\
-	org.apache.cxf.helpers;version="3.2.13",\
-	org.apache.cxf.helpers;version="3.2.13",\
-	org.apache.cxf.common.util;version="3.2.13"
-
--resourceonly: true
--fixupmessages: \
-	Classpath is empty...;is:=ignore,\
-	"Host org.apache.aries.jax.rs.whiteboard="
diff --git a/jax-rs.itests-fragment/pom.xml b/jax-rs.itests-fragment/pom.xml
deleted file mode 100644
index 1a8acb4..0000000
--- a/jax-rs.itests-fragment/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?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.aries.jax.rs</groupId>
-        <artifactId>org.apache.aries.jax.rs</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-
-    <artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
-    <description>Apache Aries JAX-RS Whiteboard Integration Tests Fragment</description>
-    <name>Apache Aries JAX-RS Whiteboard Integration Tests Fragment</name>
-
-    <properties>
-        <maven.deploy.skip>true</maven.deploy.skip>
-        <maven.install.skip>true</maven.install.skip>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>biz.aQute.bnd</groupId>
-                <artifactId>bnd-maven-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/jax-rs.itests/pom.xml b/jax-rs.itests/pom.xml
index 3154ecd..cc88352 100644
--- a/jax-rs.itests/pom.xml
+++ b/jax-rs.itests/pom.xml
@@ -93,12 +93,6 @@
             <groupId>org.apache.aries.jax.rs</groupId>
             <artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
             <version>${project.version}</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.aries.jax.rs</groupId>
-            <artifactId>org.apache.aries.jax.rs.itests-fragment</artifactId>
-            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.osgi</groupId>
diff --git a/jax-rs.whiteboard/bnd.bnd b/jax-rs.whiteboard/bnd.bnd
index 4af8605..edd641e 100644
--- a/jax-rs.whiteboard/bnd.bnd
+++ b/jax-rs.whiteboard/bnd.bnd
@@ -15,46 +15,7 @@
 #    specific language governing permissions and limitations
 #    under the License.
 
-Import-Package:\
-    !com.sun.*,\
-    !javax.cache.*,\
-    !javax.imageio.*,\
-    !javax.jws.*,\
-    !javax.security.*,\
-    !javax.tools.*,\
-    !javax.validation.*,\
-    !javax.wsdl.*,\
-    !net.sf.cglib.proxy.*,\
-    !org.apache.abdera.*,\
-    !org.apache.aries.*,\
-    !org.apache.commons.logging,\
-    !org.apache.cxf.*,\
-    !org.apache.log4j.*,\
-    !org.apache.neethi.*,\
-    !org.apache.velocity.*,\
-    !org.apache.xerces.*,\
-    !org.apache.xml.resolver.*,\
-    !org.apache.xmlbeans.*,\
-    !org.atmosphere.*,\
-    !org.dom4j.*,\
-    !org.junit.*,\
-    !org.jvnet.fastinfoset.*,\
-    !org.jvnet.staxex.*,\
-    !org.ietf.jgss.*,\
-    !org.objectweb.asm.*,\
-    !org.osgi.service.blueprint.*,\
-    !org.osgi.service.http,\
-    !org.relaxng.datatype.*,\
-    !org.slf4j.impl.*,\
-    !org.slf4j.spi.*,\
-    !org.springframework.*,\
-    !sun.misc,\
-    *
+Conditional-Package: org.apache.aries.component.dsl.*
+Import-Package: org.apache.cxf.jaxrs.client,*
 
-Provide-Capability: osgi.implementation;osgi.implementation="aries.jax-rs";version:Version="${Bundle-Version}"
-
--includeresource:\
-    @${.}/../org.apache.aries.jax.rs.cxf.repackage/target/org.apache.aries.jax.rs.cxf.repackage-${project.version}.jar!/!org/apache/cxf/helpers/JavaUtils*.class,\
-    lib/stax2-api.jar=stax2-api-*.jar;lib:=true,\
-    lib/woodstox-core.jar=woodstox-core-*.jar;lib:=true,\
-    lib/xmlschema-core.jar=xmlschema-core-*.jar;lib:=true
+Provide-Capability: osgi.implementation;osgi.implementation="aries.jax-rs";version:Version="${Bundle-Version}"
\ No newline at end of file
diff --git a/jax-rs.whiteboard/pom.xml b/jax-rs.whiteboard/pom.xml
index 1500c0c..5bb1a15 100644
--- a/jax-rs.whiteboard/pom.xml
+++ b/jax-rs.whiteboard/pom.xml
@@ -103,11 +103,6 @@
             <artifactId>org.osgi.util.function</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.aries.jax.rs.cxf.repackage</groupId>
-            <artifactId>org.apache.aries.jax.rs.cxf.repackage</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>
             <version>${slf4j.version}</version>
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/cxf/helpers/JavaUtils.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/helpers/JavaUtils.java
similarity index 98%
rename from jax-rs.whiteboard/src/main/java/org/apache/cxf/helpers/JavaUtils.java
rename to jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/helpers/JavaUtils.java
index c031900..7d5d9f8 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/cxf/helpers/JavaUtils.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/helpers/JavaUtils.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.cxf.helpers;
+package org.apache.aries.jax.rs.whiteboard.cxf.helpers;
 
 import java.util.Arrays;
 import java.util.HashSet;
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerImpl.java
similarity index 74%
rename from jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerImpl.java
rename to jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerImpl.java
index 9b83261..fc7781f 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerImpl.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.cxf.jaxrs.client;
+package org.apache.aries.jax.rs.whiteboard.cxf.jaxrs.client;
 
 import javax.ws.rs.HttpMethod;
 import javax.ws.rs.client.Entity;
@@ -23,13 +23,20 @@ import javax.ws.rs.client.InvocationCallback;
 import javax.ws.rs.core.GenericType;
 import javax.ws.rs.core.Response;
 
+import org.apache.cxf.jaxrs.client.WebClient;
 import org.osgi.service.jaxrs.client.PromiseRxInvoker;
 import org.osgi.util.promise.Deferred;
 import org.osgi.util.promise.Promise;
 import org.osgi.util.promise.PromiseFactory;
 
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+
 class PromiseRxInvokerImpl implements PromiseRxInvoker {
 
+    private final Method _doInvokeAsyncMethod;
+
     private static final class DeferredHandler<R> implements InvocationCallback<R> {
         private final Deferred<R> deferred;
 
@@ -50,6 +57,14 @@ class PromiseRxInvokerImpl implements PromiseRxInvoker {
     public PromiseRxInvokerImpl(
         WebClient webClient, PromiseFactory promiseFactory) {
         _webClient = webClient;
+        try {
+            _doInvokeAsyncMethod = WebClient.class.getDeclaredMethod(
+                "doInvokeAsync",
+                String.class, Object.class, Class.class, Type.class, Class.class, Type.class, InvocationCallback.class);
+        } catch (NoSuchMethodException nsme) {
+            throw new RuntimeException(nsme);
+        }
+        _doInvokeAsyncMethod.setAccessible(true);
         _promiseFactory = promiseFactory;
     }
 
@@ -90,35 +105,48 @@ class PromiseRxInvokerImpl implements PromiseRxInvoker {
 
     @Override
     public <R> Promise<R> method(String s, Class<R> responseType) {
-        
-            Deferred<R> deferred = _promiseFactory.deferred();
-        
-            _webClient.doInvokeAsync(s, null, null, null, responseType, responseType, 
-                    new DeferredHandler<R>(deferred));
-        
+        Deferred<R> deferred = _promiseFactory.deferred();
+
+        try {
+            _doInvokeAsyncMethod.invoke(
+                _webClient, s, null, null, null, responseType, responseType,
+                new DeferredHandler<R>(deferred));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
         return deferred.getPromise();
     }
 
     @Override
     public <R> Promise<R> method(String s, Entity<?> entity, Class<R> responseType) {
-        
         Deferred<R> deferred = _promiseFactory.deferred();
-    
-        _webClient.doInvokeAsync(s, entity, null, null, responseType, responseType, 
+
+        try {
+            _doInvokeAsyncMethod.invoke(
+                _webClient, s, entity, null, null, responseType, responseType,
                 new DeferredHandler<R>(deferred));
-    
-    return deferred.getPromise();
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
+        return deferred.getPromise();
     }
 
     @Override
     public <R> Promise<R> method(
         String s, Entity<?> entity, GenericType<R> genericType) {
 
-            Deferred<R> deferred = _promiseFactory.deferred();
-        
-        _webClient.doInvokeAsync(s, entity, null, null, genericType.getRawType(), genericType.getType(), 
-                new DeferredHandler<R>(deferred));
-    
+        Deferred<R> deferred = _promiseFactory.deferred();
+
+        try {
+            _doInvokeAsyncMethod.invoke(
+                _webClient, s, entity, null, null, genericType.getRawType(),
+                genericType.getType(), new DeferredHandler<R>(deferred));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
         return deferred.getPromise();
     }
 
@@ -130,10 +158,15 @@ class PromiseRxInvokerImpl implements PromiseRxInvoker {
     @Override
     public <R> Promise<R> method(String s, GenericType<R> genericType) {
         Deferred<R> deferred = _promiseFactory.deferred();
-        
-        _webClient.doInvokeAsync(s, null, null, null, genericType.getRawType(), genericType.getType(), 
-                new DeferredHandler<R>(deferred));
-    
+
+        try {
+            _doInvokeAsyncMethod.invoke(
+                _webClient, s, null, null, null, genericType.getRawType(),
+                genericType.getType(), new DeferredHandler<R>(deferred));
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+
         return deferred.getPromise();
     }
 
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java
similarity index 94%
rename from jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java
rename to jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java
index 0de5c48..46e7ade 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/cxf/jaxrs/client/PromiseRxInvokerProviderImpl.java
@@ -15,13 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.cxf.jaxrs.client;
+package org.apache.aries.jax.rs.whiteboard.cxf.jaxrs.client;
 
 import java.util.concurrent.ExecutorService;
 
 import javax.ws.rs.client.RxInvokerProvider;
 import javax.ws.rs.client.SyncInvoker;
 
+import org.apache.cxf.jaxrs.client.SyncInvokerImpl;
 import org.osgi.service.jaxrs.client.PromiseRxInvoker;
 import org.osgi.util.promise.PromiseFactory;
 
diff --git a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java
index 3d1e6b6..378ed05 100644
--- a/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java
+++ b/jax-rs.whiteboard/src/main/java/org/apache/aries/jax/rs/whiteboard/internal/client/ClientBuilderImpl.java
@@ -17,7 +17,7 @@
 
 package org.apache.aries.jax.rs.whiteboard.internal.client;
 
-import org.apache.cxf.jaxrs.client.PromiseRxInvokerProviderImpl;
+import org.apache.aries.jax.rs.whiteboard.cxf.jaxrs.client.PromiseRxInvokerProviderImpl;
 
 import aQute.bnd.annotation.spi.ServiceProvider;
 
diff --git a/org.apache.aries.jax.rs.cxf.repackage/pom.xml b/org.apache.aries.jax.rs.cxf.repackage/pom.xml
deleted file mode 100644
index c0bc5ab..0000000
--- a/org.apache.aries.jax.rs.cxf.repackage/pom.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.aries.jax.rs</groupId>
-        <artifactId>org.apache.aries.jax.rs</artifactId>
-        <version>2.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.aries.jax.rs.cxf.repackage</groupId>
-    <artifactId>org.apache.aries.jax.rs.cxf.repackage</artifactId>
-    <description>This project extracts and repackages CXF so that the whiteboard can be more easily built</description>
-    <name>Apache Aries JAX-RS Whiteboard CXF dependency repackaging</name>
-
-    <properties>
-        <maven.deploy.skip>true</maven.deploy.skip>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.aries.component-dsl</groupId>
-            <artifactId>org.apache.aries.component-dsl.component-dsl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-frontend-jaxrs</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-rs-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-rs-sse</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-rt-transports-http</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.cxf</groupId>
-            <artifactId>cxf-tools-common</artifactId>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-
-                <executions>
-                    <execution>
-                        <id>extract-classes</id>
-                        <goals>
-                            <goal>unpack-dependencies</goal>
-                        </goals>
-                        <configuration>
-                           <includes>org/apache/aries/component/dsl/**/*.class,org/apache/cxf/**/*.class,**/Messages.properties,META-INF/services/*,org/apache/cxf/version/version.properties</includes>
-                           <outputDirectory>${project.build.outputDirectory}</outputDirectory>
-                           <markersDirectory>${project.build.directory}/dependency-maven-plugin-markers-classes</markersDirectory>
-                        </configuration>
-                    </execution>
-                    <execution>
-                        <id>extract-bus-extensions</id>
-                        <goals>
-                            <goal>unpack-dependencies</goal>
-                        </goals>
-                        <configuration>
-                           <includeGroupIds>org.apache.cxf</includeGroupIds>
-                           <includes>META-INF/cxf/bus-extensions.txt</includes>
-                           <outputDirectory>${project.build.directory}/cxf-bus</outputDirectory>
-                           <useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
-                           <markersDirectory>${project.build.directory}/dependency-maven-plugin-markers-extensions</markersDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-                <configuration>
-                    <excludeTransitive>true</excludeTransitive>
-                </configuration>
-            </plugin>
-            <plugin>
-                <artifactId>maven-antrun-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>create-merged-extensions</id>
-                        <phase>generate-resources</phase>
-                        <goals>
-                            <goal>run</goal>
-                        </goals>
-                        <configuration>
-                            <target>
-                                <concat destfile="${project.build.outputDirectory}/META-INF/cxf/bus-extensions.txt" fixlastline="true">
-                                    <fileset dir="${project.build.directory}/cxf-bus">
-                                        <include name="**/bus-extensions.txt" />
-                                    </fileset>
-                                    <filterchain>
-                                        <tokenfilter> <trim /> </tokenfilter>
-                                        <tokenfilter> <ignoreblank /> </tokenfilter>
-                                    </filterchain>
-                                </concat>
-                            </target>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/org.apache.aries.jax.rs.cxf.repackage/src/main/resources/META-INF/MANIFEST.MF b/org.apache.aries.jax.rs.cxf.repackage/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index 348f1bd..0000000
--- a/org.apache.aries.jax.rs.cxf.repackage/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1 +0,0 @@
-Manifest-Version: 1.0
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 98b246a..87ed0d9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -59,9 +59,7 @@
     </scm>
 
     <modules>
-        <module>org.apache.aries.jax.rs.cxf.repackage</module>
         <module>jax-rs.whiteboard</module>
-        <module>jax-rs.itests-fragment</module>
         <module>jax-rs.itests</module>
         <module>jax-rs.features</module>
         <module>jax-rs.example</module>
@@ -80,19 +78,16 @@
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-core</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-tools-common</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-databinding-jaxb</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
                 <exclusions>
                     <exclusion>
                         <groupId>org.ow2.asm</groupId>
@@ -104,19 +99,22 @@
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
+                <exclusions>
+                    <exclusion>
+                        <groupId>javax.ws.rs</groupId>
+                        <artifactId>javax.ws.rs-api</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-transports-http</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-rs-client</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
                 <exclusions>
                     <exclusion>
                         <groupId>javax.annotation</groupId>
@@ -132,7 +130,6 @@
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-rs-extension-providers</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
                 <exclusions>
                     <exclusion>
                         <groupId>javax.annotation</groupId>
@@ -148,13 +145,11 @@
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-rs-json-basic</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.cxf</groupId>
                 <artifactId>cxf-rt-rs-sse</artifactId>
                 <version>${cxf.version}</version>
-                <scope>provided</scope>
             </dependency>
             <dependency>
                 <groupId>org.apache.aries.component-dsl</groupId>