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 2019/10/21 17:21:27 UTC

[camel-quarkus] 02/04: Add a support/xml artifact for common substrate support #294

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

commit f9b20ba5cf3a0cd9c168b0576409837838eac08e
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Oct 21 13:39:41 2019 +0200

    Add a support/xml artifact for common substrate support #294
---
 extensions/aws-eks/deployment/pom.xml              |  2 +-
 extensions/aws-eks/runtime/pom.xml                 |  2 +-
 extensions/aws-s3/deployment/pom.xml               |  2 +-
 extensions/aws-s3/runtime/pom.xml                  |  2 +-
 extensions/aws-sns/deployment/pom.xml              |  2 +-
 extensions/aws-sns/runtime/pom.xml                 |  2 +-
 extensions/aws-sqs/deployment/pom.xml              |  2 +-
 extensions/aws-sqs/runtime/pom.xml                 |  2 +-
 extensions/core-xml/deployment/pom.xml             |  4 ++
 .../component/xml/deployment/XmlProcessor.java     | 22 ---------
 extensions/core-xml/runtime/pom.xml                |  4 ++
 extensions/support/pom.xml                         |  1 +
 .../{aws-eks => support/xml}/deployment/pom.xml    | 16 +++----
 .../support/xml/deployment/XmlSupportFeature.java  | 29 ++++++++++++
 .../xml/deployment/XmlSupportProcessor.java        | 53 ++++++++++++++++++++++
 extensions/support/{ => xml}/pom.xml               | 14 +++---
 .../{core-xml => support/xml}/runtime/pom.xml      | 19 ++++----
 poms/bom-deployment/pom.xml                        |  5 ++
 poms/bom/pom.xml                                   |  5 ++
 19 files changed, 133 insertions(+), 55 deletions(-)

diff --git a/extensions/aws-eks/deployment/pom.xml b/extensions/aws-eks/deployment/pom.xml
index 6e53b8f..6fc237c 100644
--- a/extensions/aws-eks/deployment/pom.xml
+++ b/extensions/aws-eks/deployment/pom.xml
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/aws-eks/runtime/pom.xml b/extensions/aws-eks/runtime/pom.xml
index 49e22c5..6f2897a 100644
--- a/extensions/aws-eks/runtime/pom.xml
+++ b/extensions/aws-eks/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/extensions/aws-s3/deployment/pom.xml b/extensions/aws-s3/deployment/pom.xml
index 4ab1b6c..22e5250 100644
--- a/extensions/aws-s3/deployment/pom.xml
+++ b/extensions/aws-s3/deployment/pom.xml
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/aws-s3/runtime/pom.xml b/extensions/aws-s3/runtime/pom.xml
index d759998..eef491e 100644
--- a/extensions/aws-s3/runtime/pom.xml
+++ b/extensions/aws-s3/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/extensions/aws-sns/deployment/pom.xml b/extensions/aws-sns/deployment/pom.xml
index 4b40f6b..6471939 100644
--- a/extensions/aws-sns/deployment/pom.xml
+++ b/extensions/aws-sns/deployment/pom.xml
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/aws-sns/runtime/pom.xml b/extensions/aws-sns/runtime/pom.xml
index 226100d..ef4da88 100644
--- a/extensions/aws-sns/runtime/pom.xml
+++ b/extensions/aws-sns/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/extensions/aws-sqs/deployment/pom.xml b/extensions/aws-sqs/deployment/pom.xml
index 301a76e..f54524c 100644
--- a/extensions/aws-sqs/deployment/pom.xml
+++ b/extensions/aws-sqs/deployment/pom.xml
@@ -47,7 +47,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions/aws-sqs/runtime/pom.xml b/extensions/aws-sqs/runtime/pom.xml
index 310ff38..89555a9 100644
--- a/extensions/aws-sqs/runtime/pom.xml
+++ b/extensions/aws-sqs/runtime/pom.xml
@@ -51,7 +51,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml</artifactId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/extensions/core-xml/deployment/pom.xml b/extensions/core-xml/deployment/pom.xml
index 2c2c45c..edb0606 100644
--- a/extensions/core-xml/deployment/pom.xml
+++ b/extensions/core-xml/deployment/pom.xml
@@ -51,6 +51,10 @@
             <artifactId>camel-quarkus-core-xml</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
+        </dependency>
+        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jaxb-deployment</artifactId>
         </dependency>
diff --git a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java b/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
index c412bbf..233c10a 100644
--- a/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
+++ b/extensions/core-xml/deployment/src/main/java/org/apache/camel/quarkus/component/xml/deployment/XmlProcessor.java
@@ -16,14 +16,11 @@
  */
 package org.apache.camel.quarkus.component.xml.deployment;
 
-import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
 import io.quarkus.jaxb.deployment.JaxbFileRootBuildItem;
-import org.apache.camel.converter.jaxp.XmlConverter;
 import org.apache.camel.quarkus.component.xml.XmlRecorder;
 import org.apache.camel.quarkus.core.deployment.CamelModelJAXBContextFactoryBuildItem;
 import org.apache.camel.quarkus.core.deployment.CamelRoutesCollectorBuildItem;
@@ -67,23 +64,4 @@ class XmlProcessor {
     void initXmlReifiers(XmlRecorder recorder) {
         recorder.initXmlReifiers();
     }
-
-    @BuildStep
-    void reflective(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
-        reflectiveClass.produce(new ReflectiveClassBuildItem(false, false,
-            "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl",
-            "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl",
-            "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl",
-            "com.sun.xml.internal.stream.XMLInputFactoryImpl",
-            "com.sun.org.apache.xerces.internal.parsers.SAXParser",
-            XmlConverter.class.getCanonicalName()));
-
-        // javax.xml.namespace.QName is needed as it is used as part of the processor
-        // definitions in the DSL and parsers like Jackson (used in camel-k YAML DSL)
-        // fails if this class is cannot be instantiated reflectively.
-        reflectiveClass.produce(
-            new ReflectiveClassBuildItem(true, false, "javax.xml.namespace.QName")
-        );
-    }
-
 }
diff --git a/extensions/core-xml/runtime/pom.xml b/extensions/core-xml/runtime/pom.xml
index 543cf9c..eedcb81 100644
--- a/extensions/core-xml/runtime/pom.xml
+++ b/extensions/core-xml/runtime/pom.xml
@@ -47,6 +47,10 @@
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
+        </dependency>
+        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jaxb</artifactId>
         </dependency>
diff --git a/extensions/support/pom.xml b/extensions/support/pom.xml
index 22c9143..8c8d509 100644
--- a/extensions/support/pom.xml
+++ b/extensions/support/pom.xml
@@ -35,5 +35,6 @@
         <module>common</module>
         <module>jetty</module>
         <module>xstream</module>
+        <module>xml</module>
     </modules>
 </project>
diff --git a/extensions/aws-eks/deployment/pom.xml b/extensions/support/xml/deployment/pom.xml
similarity index 81%
copy from extensions/aws-eks/deployment/pom.xml
copy to extensions/support/xml/deployment/pom.xml
index 6e53b8f..c203da3 100644
--- a/extensions/aws-eks/deployment/pom.xml
+++ b/extensions/support/xml/deployment/pom.xml
@@ -20,13 +20,13 @@
 <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-aws-eks-parent</artifactId>
+        <artifactId>camel-quarkus-support-xml-parent</artifactId>
         <version>0.2.1-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-aws-eks-deployment</artifactId>
-    <name>Camel Quarkus :: AWS EKS :: Deployment</name>
+    <artifactId>camel-quarkus-support-xml-deployment</artifactId>
+    <name>Camel Quarkus :: Support :: XML :: Deployment</name>
 
     <dependencyManagement>
         <dependencies>
@@ -42,16 +42,12 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core-xml-deployment</artifactId>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-aws-eks</artifactId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportFeature.java b/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportFeature.java
new file mode 100644
index 0000000..0a4030d
--- /dev/null
+++ b/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportFeature.java
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.support.xml.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+public class XmlSupportFeature {
+    private static final String FEATURE = "camel-support-xml";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportProcessor.java b/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportProcessor.java
new file mode 100644
index 0000000..633c1fa
--- /dev/null
+++ b/extensions/support/xml/deployment/src/main/java/org/apache/camel/quarkus/support/xml/deployment/XmlSupportProcessor.java
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+package org.apache.camel.quarkus.support.xml.deployment;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.substrate.ReflectiveClassBuildItem;
+
+public class XmlSupportProcessor {
+    @BuildStep
+    void reflective(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
+        reflectiveClass.produce(
+            new ReflectiveClassBuildItem(
+                false,
+                false,
+                "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl",
+                "com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl",
+                "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl",
+                "com.sun.xml.internal.stream.XMLInputFactoryImpl",
+                "com.sun.org.apache.xerces.internal.parsers.SAXParser"
+            )
+        );
+
+        reflectiveClass.produce(
+            new ReflectiveClassBuildItem(
+                false,
+                false,
+                "org.apache.camel.converter.jaxp.XmlConverter"
+            )
+        );
+
+        // javax.xml.namespace.QName is needed as it is used as part of the processor
+        // definitions in the DSL and parsers like Jackson (used in camel-k YAML DSL)
+        // fails if this class is cannot be instantiated reflectively.
+        reflectiveClass.produce(
+            new ReflectiveClassBuildItem(true, false, "javax.xml.namespace.QName")
+        );
+    }
+}
diff --git a/extensions/support/pom.xml b/extensions/support/xml/pom.xml
similarity index 80%
copy from extensions/support/pom.xml
copy to extensions/support/xml/pom.xml
index 22c9143..f28cd65 100644
--- a/extensions/support/pom.xml
+++ b/extensions/support/xml/pom.xml
@@ -21,19 +21,19 @@
 
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-extensions</artifactId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
         <version>0.2.1-SNAPSHOT</version>
+        <relativePath>../../../poms/build-parent/pom.xml</relativePath>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-extensions-support</artifactId>
-    <name>Camel Quarkus :: Support</name>
+    <artifactId>camel-quarkus-support-xml-parent</artifactId>
+    <name>Camel Quarkus :: Support :: XML</name>
     <packaging>pom</packaging>
-
     <modules>
-        <module>common</module>
-        <module>jetty</module>
-        <module>xstream</module>
+        <module>deployment</module>
+        <module>runtime</module>
     </modules>
+
 </project>
diff --git a/extensions/core-xml/runtime/pom.xml b/extensions/support/xml/runtime/pom.xml
similarity index 86%
copy from extensions/core-xml/runtime/pom.xml
copy to extensions/support/xml/runtime/pom.xml
index 543cf9c..f554f86 100644
--- a/extensions/core-xml/runtime/pom.xml
+++ b/extensions/support/xml/runtime/pom.xml
@@ -18,16 +18,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">
-    <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-core-xml-parent</artifactId>
+        <artifactId>camel-quarkus-support-xml-parent</artifactId>
         <version>0.2.1-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
     </parent>
+    <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-quarkus-core-xml</artifactId>
-    <name>Camel Quarkus :: Core :: XML :: Runtime</name>
+    <artifactId>camel-quarkus-support-xml</artifactId>
+    <name>Camel Quarkus :: Support :: XML :: Runtime</name>
 
     <dependencyManagement>
         <dependencies>
@@ -43,13 +42,18 @@
 
     <dependencies>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-core</artifactId>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-core</artifactId>
         </dependency>
         <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-jaxb</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-jaxp</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
@@ -59,7 +63,6 @@
                 <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
                     <annotationProcessorPaths>
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index f88f300..d39f8ec 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -78,6 +78,11 @@
                 <artifactId>camel-quarkus-support-xstream-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-xml-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
 
             <!-- Camel Quarkus deployment modules, in alphabetical order -->
             <dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index bd4c620..b1c9442 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -268,6 +268,11 @@
                 <artifactId>camel-quarkus-support-xstream</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-support-xml</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
 
             <!-- Camel Quarkus Common (in alphabetical order) -->
             <dependency>