You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/02/06 17:22:40 UTC

[camel-quarkus] branch master updated: Upgrade to quarkus 1.3.0.Alpha1 #684

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

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git


The following commit(s) were added to refs/heads/master by this push:
     new edb03e1  Upgrade to quarkus 1.3.0.Alpha1 #684
edb03e1 is described below

commit edb03e1aa231f9e00a6f13e17003d9a7d5ed9f1e
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Jan 28 17:26:52 2020 +0100

    Upgrade to quarkus 1.3.0.Alpha1 #684
---
 .github/workflows/pr-validate.yml                  |  7 ++-
 extensions/bean-validator/runtime/pom.xml          |  2 +-
 extensions/bean/runtime/pom.xml                    |  2 +-
 extensions/core-cloud/runtime/pom.xml              |  2 +-
 .../quarkus/core/deployment/CamelSupport.java      | 60 +++++++++++++++-------
 .../core/deployment/NativeImageProcessor.java      | 11 ----
 ....quarkus.deployment.devmode.HotReplacementSetup |  1 -
 extensions/core/runtime/pom.xml                    |  6 ++-
 .../core}/devmode/CamelHotReplacementSetup.java    |  6 +--
 .../io.quarkus.dev.spi.HotReplacementSetup         |  2 +-
 .../component/dozer/deployment/DozerProcessor.java |  3 +-
 extensions/dozer/runtime/pom.xml                   |  2 +-
 extensions/fhir/runtime/pom.xml                    |  2 +-
 extensions/hystrix/runtime/pom.xml                 |  2 +-
 extensions/infinispan/runtime/pom.xml              |  2 +-
 extensions/jackson/runtime/pom.xml                 |  2 +-
 extensions/jsonpath/runtime/pom.xml                |  2 +-
 extensions/mongodb/runtime/pom.xml                 |  2 +-
 extensions/netty/runtime/pom.xml                   |  2 +-
 extensions/support/common/runtime/pom.xml          |  2 +-
 extensions/support/consul-client/runtime/pom.xml   |  2 +-
 extensions/support/retrofit/runtime/pom.xml        |  2 +-
 extensions/support/spring/runtime/pom.xml          |  2 +-
 extensions/support/xalan/runtime/pom.xml           |  2 +-
 extensions/xslt/deployment/pom.xml                 |  2 +-
 .../xslt/deployment/BuildTimeUriResolver.java      |  2 +-
 .../component/xslt/deployment/XsltProcessor.java   |  4 +-
 integration-tests/core-main/pom.xml                |  4 ++
 .../src/main/resources/application.properties      |  1 +
 .../org/apache/camel/quarkus/core/CamelTest.java   |  2 +-
 integration-tests/fhir/pom.xml                     |  4 ++
 integration-tests/mail/pom.xml                     |  2 +-
 integration-tests/pom.xml                          |  5 ++
 .../support/custom-dataformat}/pom.xml             | 40 ++++++---------
 .../it/support/dataformat/MyDataformat.java}       |  4 +-
 .../org/apache/camel/dataformat/my-dataformat      |  2 +-
 integration-tests/support/pom.xml                  |  1 +
 integration-tests/tagsoup/pom.xml                  | 10 ++++
 pom.xml                                            |  3 +-
 poms/bom/pom.xml                                   | 10 ++++
 tooling/scripts/validate-dependencies.groovy       |  2 +-
 41 files changed, 138 insertions(+), 88 deletions(-)

diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml
index d74fa5e..1b0660b 100644
--- a/.github/workflows/pr-validate.yml
+++ b/.github/workflows/pr-validate.yml
@@ -21,6 +21,7 @@ on:
   pull_request:
     branches:
       - master
+      - camel-master
 
 env:
   LANG: en_US
@@ -29,6 +30,10 @@ jobs:
   build:
     runs-on: ubuntu-latest
     steps:
+    - name: Set BRANCH_OPTIONS
+      if: github.base_ref == 'camel-master'
+      run: |
+        echo '::set-env name=BRANCH_OPTIONS::-Papache-snapshots'
     - uses: actions/checkout@v1
     - name: Set up JDK 1.8
       uses: actions/setup-java@v1
@@ -36,7 +41,7 @@ jobs:
         java-version: 1.8
     - name: mvn package
       run: |
-        ./mvnw -fae -B \
+        ./mvnw ${BRANCH_OPTIONS} -fae -B \
           -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \
           -DskipTests \
           -Pcheck-format \
diff --git a/extensions/bean-validator/runtime/pom.xml b/extensions/bean-validator/runtime/pom.xml
index ea49fd5..f9cf692 100644
--- a/extensions/bean-validator/runtime/pom.xml
+++ b/extensions/bean-validator/runtime/pom.xml
@@ -77,7 +77,7 @@
             <artifactId>jakarta.el</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/bean/runtime/pom.xml b/extensions/bean/runtime/pom.xml
index 5935a7e..90f18e0 100644
--- a/extensions/bean/runtime/pom.xml
+++ b/extensions/bean/runtime/pom.xml
@@ -51,7 +51,7 @@
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
 
diff --git a/extensions/core-cloud/runtime/pom.xml b/extensions/core-cloud/runtime/pom.xml
index a200e5e..5589a49 100644
--- a/extensions/core-cloud/runtime/pom.xml
+++ b/extensions/core-cloud/runtime/pom.xml
@@ -65,7 +65,7 @@
             <artifactId>quarkus-caffeine</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
 
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelSupport.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelSupport.java
index 66897ac..a15215a 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelSupport.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelSupport.java
@@ -22,16 +22,17 @@ import java.io.InputStream;
 import java.lang.reflect.Modifier;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.util.AbstractMap;
 import java.util.HashSet;
 import java.util.Objects;
 import java.util.Properties;
 import java.util.Set;
+import java.util.function.Predicate;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import io.quarkus.deployment.ApplicationArchive;
 import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem;
-import org.apache.camel.CamelContext;
+import org.apache.camel.impl.engine.AbstractCamelContext;
 import org.apache.camel.quarkus.core.deployment.util.PathFilter;
 import org.jboss.jandex.ClassInfo;
 
@@ -58,20 +59,34 @@ public final class CamelSupport {
         }
     }
 
-    public static Stream<Path> resources(ApplicationArchivesBuildItem archives, String path) {
-        return archives.getAllApplicationArchives().stream()
-                .map(arch -> arch.getArchiveRoot().resolve(path))
-                .filter(Files::isDirectory)
-                .flatMap(CamelSupport::safeWalk)
-                .filter(Files::isRegularFile);
-    }
-
     public static Stream<CamelServiceBuildItem> services(ApplicationArchivesBuildItem archives, PathFilter pathFilter) {
-        return resources(archives, CAMEL_SERVICE_BASE_PATH)
-                .filter(pathFilter.asPathPredicate())
-                .map(path -> new AbstractMap.SimpleImmutableEntry<>(path, readProperties(path)))
-                .filter(entry -> entry.getValue().getProperty("class") != null)
-                .map(entry -> new CamelServiceBuildItem(entry.getKey(), entry.getValue().getProperty("class")));
+        final Set<CamelServiceBuildItem> answer = new HashSet<>();
+        final Predicate<Path> filter = pathFilter.asPathPredicate();
+
+        for (ApplicationArchive archive : archives.getAllApplicationArchives()) {
+            final Path root = archive.getArchiveRoot();
+            final Path resourcePath = root.resolve(CAMEL_SERVICE_BASE_PATH);
+
+            if (!Files.isDirectory(resourcePath)) {
+                continue;
+            }
+
+            safeWalk(resourcePath).filter(Files::isRegularFile).forEach(file -> {
+                // the root archive may point to a jar file or the absolute path of
+                // a project's build output so we need to relativize to make the
+                // FastFactoryFinder work as expected
+                Path key = root.relativize(file);
+
+                if (filter.test(key)) {
+                    String clazz = readProperties(file).getProperty("class");
+                    if (clazz != null) {
+                        answer.add(new CamelServiceBuildItem(key, clazz));
+                    }
+                }
+            });
+        }
+
+        return answer.stream();
     }
 
     private static Properties readProperties(Path path) {
@@ -90,9 +105,16 @@ public final class CamelSupport {
     }
 
     public static String getCamelVersion() {
-        final String result = CamelContext.class.getPackage().getImplementationVersion();
-        Objects.requireNonNull(result, "Could not determine Camel version");
-        return result;
-    }
+        String version = null;
 
+        Package aPackage = AbstractCamelContext.class.getPackage();
+        if (aPackage != null) {
+            version = aPackage.getImplementationVersion();
+            if (version == null) {
+                version = aPackage.getSpecificationVersion();
+            }
+        }
+
+        return Objects.requireNonNull(version, "Could not determine Camel version");
+    }
 }
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
index 75216c8..ee075d8 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/NativeImageProcessor.java
@@ -23,9 +23,7 @@ import java.util.stream.Collectors;
 
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.ApplicationArchivesBuildItem;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveMethodBuildItem;
 import org.apache.camel.CamelContext;
@@ -123,15 +121,6 @@ class NativeImageProcessor {
         }
 
         @BuildStep
-        void resources(
-                ApplicationArchivesBuildItem applicationArchivesBuildItem,
-                BuildProducer<NativeImageResourceBuildItem> resource) {
-
-            CamelSupport.resources(applicationArchivesBuildItem, "META-INF/maven/org.apache.camel/camel-base")
-                    .forEach(p -> resource.produce(new NativeImageResourceBuildItem(p.toString().substring(1))));
-        }
-
-        @BuildStep
         void camelServices(
                 List<CamelServiceBuildItem> camelServices,
                 BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
diff --git a/extensions/core/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.devmode.HotReplacementSetup b/extensions/core/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.devmode.HotReplacementSetup
deleted file mode 100644
index 271a9b5..0000000
--- a/extensions/core/deployment/src/main/resources/META-INF/services/io.quarkus.deployment.devmode.HotReplacementSetup
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.camel.quarkus.core.deployment.devmode.CamelHotReplacementSetup
\ No newline at end of file
diff --git a/extensions/core/runtime/pom.xml b/extensions/core/runtime/pom.xml
index 8f76d32..906fd04 100644
--- a/extensions/core/runtime/pom.xml
+++ b/extensions/core/runtime/pom.xml
@@ -64,6 +64,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-support-common</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-development-mode-spi</artifactId>
+        </dependency>
 
         <!-- camel -->
         <dependency>
@@ -94,7 +98,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/devmode/CamelHotReplacementSetup.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/devmode/CamelHotReplacementSetup.java
similarity index 89%
rename from extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/devmode/CamelHotReplacementSetup.java
rename to extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/devmode/CamelHotReplacementSetup.java
index 91ee733..781c12b 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/devmode/CamelHotReplacementSetup.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/devmode/CamelHotReplacementSetup.java
@@ -14,14 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.core.deployment.devmode;
+package org.apache.camel.quarkus.core.devmode;
 
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.concurrent.TimeUnit;
 
-import io.quarkus.deployment.devmode.HotReplacementContext;
-import io.quarkus.deployment.devmode.HotReplacementSetup;
+import io.quarkus.dev.spi.HotReplacementContext;
+import io.quarkus.dev.spi.HotReplacementSetup;
 
 public class CamelHotReplacementSetup implements HotReplacementSetup {
     private static final long TWO_SECS = TimeUnit.SECONDS.toMillis(2);
diff --git a/integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat b/extensions/core/runtime/src/main/resources/META-INF/services/io.quarkus.dev.spi.HotReplacementSetup
similarity index 93%
copy from integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
copy to extensions/core/runtime/src/main/resources/META-INF/services/io.quarkus.dev.spi.HotReplacementSetup
index 8d16b99..596ec00 100644
--- a/integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
+++ b/extensions/core/runtime/src/main/resources/META-INF/services/io.quarkus.dev.spi.HotReplacementSetup
@@ -15,4 +15,4 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-class = org.apache.camel.quarkus.core.runtime.support.MyDataFormat
\ No newline at end of file
+org.apache.camel.quarkus.core.devmode.CamelHotReplacementSetup
\ No newline at end of file
diff --git a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
index 9c686dd..938699b 100644
--- a/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
+++ b/extensions/dozer/deployment/src/main/java/org/apache/camel/quarkus/component/dozer/deployment/DozerProcessor.java
@@ -66,7 +66,7 @@ class DozerProcessor {
         return new AdditionalApplicationArchiveMarkerBuildItem("com/github/dozermapper/core");
     }
 
-    @BuildStep
+    @BuildStep(loadsApplicationClasses = true)
     void configureCamelDozer(BuildProducer<ReflectiveClassBuildItem> reflectiveClass,
             BuildProducer<NativeImageResourceBuildItem> nativeImage,
             CamelDozerConfig camelDozerConfig) {
@@ -125,6 +125,7 @@ class DozerProcessor {
         if (camelDozerConfig.mappingFiles.isPresent()) {
             // Register for reflection any classes participating in Dozer mapping
             Mapper mapper = DozerBeanMapperBuilder.create()
+                    .withClassLoader(Thread.currentThread().getContextClassLoader())
                     .withMappingFiles(camelDozerConfig.mappingFiles.get())
                     .build();
 
diff --git a/extensions/dozer/runtime/pom.xml b/extensions/dozer/runtime/pom.xml
index ec404ef..34e2602 100644
--- a/extensions/dozer/runtime/pom.xml
+++ b/extensions/dozer/runtime/pom.xml
@@ -81,7 +81,7 @@
             <artifactId>jakarta.el</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/fhir/runtime/pom.xml b/extensions/fhir/runtime/pom.xml
index 4733e57..e810345 100644
--- a/extensions/fhir/runtime/pom.xml
+++ b/extensions/fhir/runtime/pom.xml
@@ -63,7 +63,7 @@
             <artifactId>jboss-jaxb-api_2.3_spec</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
         <dependency>
diff --git a/extensions/hystrix/runtime/pom.xml b/extensions/hystrix/runtime/pom.xml
index 763b38b..c8ea955 100644
--- a/extensions/hystrix/runtime/pom.xml
+++ b/extensions/hystrix/runtime/pom.xml
@@ -55,7 +55,7 @@
             <artifactId>camel-hystrix</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/infinispan/runtime/pom.xml b/extensions/infinispan/runtime/pom.xml
index 1eaf82c..e106aea 100644
--- a/extensions/infinispan/runtime/pom.xml
+++ b/extensions/infinispan/runtime/pom.xml
@@ -97,7 +97,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/jackson/runtime/pom.xml b/extensions/jackson/runtime/pom.xml
index e00c8a1..556981b 100644
--- a/extensions/jackson/runtime/pom.xml
+++ b/extensions/jackson/runtime/pom.xml
@@ -87,7 +87,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/jsonpath/runtime/pom.xml b/extensions/jsonpath/runtime/pom.xml
index 03c21b7..fe38f66 100644
--- a/extensions/jsonpath/runtime/pom.xml
+++ b/extensions/jsonpath/runtime/pom.xml
@@ -56,7 +56,7 @@
             <artifactId>camel-jsonpath</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/mongodb/runtime/pom.xml b/extensions/mongodb/runtime/pom.xml
index 1216122..8cf892f 100644
--- a/extensions/mongodb/runtime/pom.xml
+++ b/extensions/mongodb/runtime/pom.xml
@@ -63,7 +63,7 @@
             <artifactId>mongodb-driver-legacy</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/netty/runtime/pom.xml b/extensions/netty/runtime/pom.xml
index 6136bec..f0dcf36 100644
--- a/extensions/netty/runtime/pom.xml
+++ b/extensions/netty/runtime/pom.xml
@@ -59,7 +59,7 @@
             <artifactId>camel-netty</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/support/common/runtime/pom.xml b/extensions/support/common/runtime/pom.xml
index 56e1bf3..28a192c 100644
--- a/extensions/support/common/runtime/pom.xml
+++ b/extensions/support/common/runtime/pom.xml
@@ -46,7 +46,7 @@
             <artifactId>quarkus-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/support/consul-client/runtime/pom.xml b/extensions/support/consul-client/runtime/pom.xml
index e151c99..28b1ba0 100644
--- a/extensions/support/consul-client/runtime/pom.xml
+++ b/extensions/support/consul-client/runtime/pom.xml
@@ -72,7 +72,7 @@
             <artifactId>camel-quarkus-support-retrofit</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/support/retrofit/runtime/pom.xml b/extensions/support/retrofit/runtime/pom.xml
index f590b75..62e308b 100644
--- a/extensions/support/retrofit/runtime/pom.xml
+++ b/extensions/support/retrofit/runtime/pom.xml
@@ -64,7 +64,7 @@
             <artifactId>retrofit</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/support/spring/runtime/pom.xml b/extensions/support/spring/runtime/pom.xml
index a7262fd..467df99 100644
--- a/extensions/support/spring/runtime/pom.xml
+++ b/extensions/support/spring/runtime/pom.xml
@@ -54,7 +54,7 @@
             <artifactId>spring-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/support/xalan/runtime/pom.xml b/extensions/support/xalan/runtime/pom.xml
index 8278772..9942545 100644
--- a/extensions/support/xalan/runtime/pom.xml
+++ b/extensions/support/xalan/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/xslt/deployment/pom.xml b/extensions/xslt/deployment/pom.xml
index a754844..e59f638 100644
--- a/extensions/xslt/deployment/pom.xml
+++ b/extensions/xslt/deployment/pom.xml
@@ -56,7 +56,7 @@
         </dependency>
 
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
     </dependencies>
diff --git a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/BuildTimeUriResolver.java b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/BuildTimeUriResolver.java
index 2904231..42de1b9 100644
--- a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/BuildTimeUriResolver.java
+++ b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/BuildTimeUriResolver.java
@@ -44,7 +44,7 @@ public class BuildTimeUriResolver {
 
         final String compacted = compact(templateUri, scheme);
         final String transletName = toTransletName(compacted);
-        final URL url = getClass().getClassLoader().getResource(compacted);
+        final URL url = Thread.currentThread().getContextClassLoader().getResource(compacted);
         if (url == null) {
             throw new IllegalStateException("Could not find the XSLT resource " + compacted + " in the classpath");
         }
diff --git a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltProcessor.java b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltProcessor.java
index dba6062..c5f2165 100644
--- a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltProcessor.java
+++ b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltProcessor.java
@@ -79,7 +79,7 @@ class XsltProcessor {
                 recorder.createXsltComponent(config, builder));
     }
 
-    @BuildStep
+    @BuildStep(loadsApplicationClasses = true)
     void xsltResources(
             CamelXsltConfig config,
             BuildProducer<XsltGeneratedClassBuildItem> generatedNames,
@@ -87,7 +87,7 @@ class XsltProcessor {
             BuildProducer<UriResolverEntryBuildItem> uriResolverEntries,
             ArchiveRootBuildItem archiveRoot) throws Exception {
 
-        Path destination = Files.createTempDirectory(XsltFeature.FEATURE);
+        final Path destination = Files.createTempDirectory(XsltFeature.FEATURE);
         final Set<String> translets = new LinkedHashSet<>();
         try {
             final BuildTimeUriResolver resolver = new BuildTimeUriResolver();
diff --git a/integration-tests/core-main/pom.xml b/integration-tests/core-main/pom.xml
index 6c03c8d..262c9f1 100644
--- a/integration-tests/core-main/pom.xml
+++ b/integration-tests/core-main/pom.xml
@@ -54,6 +54,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-integration-test-support-core-main-ext</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-integration-test-support-custom-dataformat</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>io.quarkus</groupId>
diff --git a/integration-tests/core-main/src/main/resources/application.properties b/integration-tests/core-main/src/main/resources/application.properties
index 1cae6b3..614fd2f 100644
--- a/integration-tests/core-main/src/main/resources/application.properties
+++ b/integration-tests/core-main/src/main/resources/application.properties
@@ -14,6 +14,7 @@
 ## See the License for the specific language governing permissions and
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
+
 #
 # Quarkus
 #
diff --git a/integration-tests/core-main/src/test/java/org/apache/camel/quarkus/core/CamelTest.java b/integration-tests/core-main/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
index 214c35f..a9c5892 100644
--- a/integration-tests/core-main/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
+++ b/integration-tests/core-main/src/test/java/org/apache/camel/quarkus/core/CamelTest.java
@@ -108,7 +108,7 @@ public class CamelTest {
                 .hasKeySatisfying(startsWith("META-INF/services/org/apache/camel/dataformat/"))
                 .hasEntrySatisfying(entry(
                         "META-INF/services/org/apache/camel/dataformat/my-dataformat",
-                        "org.apache.camel.quarkus.core.runtime.support.MyDataFormat"));
+                        "org.apache.camel.quarkus.it.support.dataformat.MyDataformat"));
 
         // languages
         assertThat(factoryFinderMap)
diff --git a/integration-tests/fhir/pom.xml b/integration-tests/fhir/pom.xml
index ef8413f..e6b58dd 100644
--- a/integration-tests/fhir/pom.xml
+++ b/integration-tests/fhir/pom.xml
@@ -54,6 +54,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+        </dependency>
 
         <!-- test dependencies -->
         <dependency>
diff --git a/integration-tests/mail/pom.xml b/integration-tests/mail/pom.xml
index 7e768d0..758922a 100644
--- a/integration-tests/mail/pom.xml
+++ b/integration-tests/mail/pom.xml
@@ -48,7 +48,7 @@
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
         <dependency>
-            <groupId>com.oracle.substratevm</groupId>
+            <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
         </dependency>
         <dependency>
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index e7d04af..8809741 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -67,6 +67,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-integration-test-support-custom-dataformat</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-integration-test-support</artifactId>
                 <version>${project.version}</version>
             </dependency>
diff --git a/extensions/support/common/runtime/pom.xml b/integration-tests/support/custom-dataformat/pom.xml
similarity index 62%
copy from extensions/support/common/runtime/pom.xml
copy to integration-tests/support/custom-dataformat/pom.xml
index 56e1bf3..2aac677 100644
--- a/extensions/support/common/runtime/pom.xml
+++ b/integration-tests/support/custom-dataformat/pom.xml
@@ -20,13 +20,15 @@
 <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>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-support-common-parent</artifactId>
         <version>1.1.0-SNAPSHOT</version>
+        <artifactId>camel-quarkus-integration-tests-support-parent</artifactId>
+        <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-support-common</artifactId>
-    <name>Camel Quarkus :: Support :: Common :: Runtime</name>
+    <artifactId>camel-quarkus-integration-test-support-custom-dataformat</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Support :: Custom Dataformat</name>
+    <description>A custom data format</description>
 
     <dependencyManagement>
         <dependencies>
@@ -42,32 +44,24 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.oracle.substratevm</groupId>
-            <artifactId>svm</artifactId>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-api</artifactId>
         </dependency>
     </dependencies>
 
     <build>
         <plugins>
             <plugin>
-                <groupId>io.quarkus</groupId>
-                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
-            </plugin>
-            <plugin>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>io.quarkus</groupId>
-                            <artifactId>quarkus-extension-processor</artifactId>
-                            <version>${quarkus.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
+                <groupId>org.jboss.jandex</groupId>
+                <artifactId>jandex-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>make-index</id>
+                        <goals>
+                            <goal>jandex</goal>
+                        </goals>
+                    </execution>
+                </executions>
             </plugin>
         </plugins>
     </build>
diff --git a/integration-tests/support/core-main/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/MyDataFormat.java b/integration-tests/support/custom-dataformat/src/main/java/org/apache/camel/quarkus/it/support/dataformat/MyDataformat.java
similarity index 92%
rename from integration-tests/support/core-main/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/MyDataFormat.java
rename to integration-tests/support/custom-dataformat/src/main/java/org/apache/camel/quarkus/it/support/dataformat/MyDataformat.java
index 7aec967..9792a82 100644
--- a/integration-tests/support/core-main/runtime/src/main/java/org/apache/camel/quarkus/core/runtime/support/MyDataFormat.java
+++ b/integration-tests/support/custom-dataformat/src/main/java/org/apache/camel/quarkus/it/support/dataformat/MyDataformat.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.core.runtime.support;
+package org.apache.camel.quarkus.it.support.dataformat;
 
 import java.io.InputStream;
 import java.io.OutputStream;
@@ -22,7 +22,7 @@ import java.io.OutputStream;
 import org.apache.camel.Exchange;
 import org.apache.camel.spi.DataFormat;
 
-public class MyDataFormat implements DataFormat {
+public class MyDataformat implements DataFormat {
     @Override
     public void marshal(Exchange exchange, Object graph, OutputStream stream) throws Exception {
     }
diff --git a/integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat b/integration-tests/support/custom-dataformat/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
similarity index 93%
rename from integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
rename to integration-tests/support/custom-dataformat/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
index 8d16b99..06471ea 100644
--- a/integration-tests/support/core-main/runtime/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
+++ b/integration-tests/support/custom-dataformat/src/main/resources/META-INF/services/org/apache/camel/dataformat/my-dataformat
@@ -15,4 +15,4 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
-class = org.apache.camel.quarkus.core.runtime.support.MyDataFormat
\ No newline at end of file
+class=org.apache.camel.quarkus.it.support.dataformat.MyDataformat
\ No newline at end of file
diff --git a/integration-tests/support/pom.xml b/integration-tests/support/pom.xml
index 5d1576b..5c37e80 100644
--- a/integration-tests/support/pom.xml
+++ b/integration-tests/support/pom.xml
@@ -36,6 +36,7 @@
     </description>
 
     <modules>
+        <module>custom-dataformat</module>
         <module>test-support</module>
         <module>testcontainers-support</module>
         <module>core</module>
diff --git a/integration-tests/tagsoup/pom.xml b/integration-tests/tagsoup/pom.xml
index 984f6b2..e88a119 100644
--- a/integration-tests/tagsoup/pom.xml
+++ b/integration-tests/tagsoup/pom.xml
@@ -42,6 +42,10 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
+        <dependency>
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+        </dependency>
 
         <!-- test dependencies -->
         <dependency>
@@ -69,6 +73,12 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/pom.xml b/pom.xml
index e48f8a9..b95a786 100644
--- a/pom.xml
+++ b/pom.xml
@@ -43,12 +43,13 @@
         <ahc.version>2.10.4</ahc.version>
         <camel.version>3.0.1</camel.version>
         <hapi.version>4.1.0</hapi.version>
-        <quarkus.version>1.2.0.Final</quarkus.version>
+        <quarkus.version>1.3.0.Alpha1</quarkus.version>
         <httpmime.version>4.1.3</httpmime.version>
         <jetty.version>9.4.18.v20190429</jetty.version>
         <xstream.version>1.4.11</xstream.version>
         <snakeyaml.version>1.25</snakeyaml.version>
         <xalan.version>2.7.2</xalan.version>
+        <xerces.version>2.12.0</xerces.version>
         <kotlin.version>1.3.21</kotlin.version>
         <spring.version>5.2.1.RELEASE</spring.version>
         <retrofit.version>2.5.0</retrofit.version>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index acc2087..61ad17d 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -78,6 +78,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-api</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-attachments</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1027,6 +1032,11 @@
                 <artifactId>xalan</artifactId>
                 <version>${xalan.version}</version>
             </dependency>
+            <dependency>
+                <groupId>xerces</groupId>
+                <artifactId>xercesImpl</artifactId>
+                <version>${xerces.version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
diff --git a/tooling/scripts/validate-dependencies.groovy b/tooling/scripts/validate-dependencies.groovy
index 220ad67..6d9cbd6 100644
--- a/tooling/scripts/validate-dependencies.groovy
+++ b/tooling/scripts/validate-dependencies.groovy
@@ -86,7 +86,7 @@ if (pomXml.exists()) {
 
         actualRuntimeDeps
             .findAll {
-                !expectedRuntimeDeps.contains(it)
+                !expectedRuntimeDeps.contains(it) && it.second != "quarkus-development-mode-spi"
             }
             .each {
                 parityViolations << "${relativePomPath}  is missing  ${it.first}:${it.second}-deployment  dependency?"