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/12/17 14:38:26 UTC

[camel-quarkus] branch master updated (f3dca92 -> ccf8d09)

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

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


    from f3dca92  Merge pull request #549 from lburgazzoli/kotlin-extension
     new 89be3be  Fix Jetty dependency convergence issues
     new 073e017  Update Quarkus to 1.1.0.Final
     new 19ff849  Rename GizmoAdaptor to GeneratedClassGizmoAdaptor
     new da352f0  Update the Quarkus config to be supported by new smallrye-config
     new 5d79801  Create substitutions for jsch
     new ccf8d09  Fix formatting

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../quarkus/core/deployment/BuildProcessor.java    |  5 ++--
 .../quarkus/core/runtime/CamelRegistryTest.java    |  3 ++-
 .../org/apache/camel/quarkus/core/CamelConfig.java |  5 ++--
 .../component/dozer/deployment/DozerProcessor.java | 11 +++++----
 .../quarkus/component/dozer/CamelDozerConfig.java  |  7 +++---
 .../component/ftp/deployment/FtpProcessor.java     | 21 +++++++++++++----
 extensions/ftp/runtime/pom.xml                     |  4 ++++
 .../component/ftp/graal/AnyLocalAddress.java       | 18 ++++++++-------
 .../ftp/graal/AnyLocalAddressAccessor.java         |  9 ++++----
 .../camel/quarkus/component/ftp/graal/Flags.java}  | 23 +++++++++---------
 .../ftp/graal/PortWatcherSubstitution.java}        | 27 +++++++++++-----------
 .../opentracing/CamelOpenTracingConfig.java        |  3 ++-
 .../opentracing/CamelOpenTracingRecorder.java      |  4 ++--
 .../component/sql/deployment/SqlProcessor.java     | 18 +++++++++------
 .../quarkus/component/sql/CamelSqlConfig.java      |  7 +++---
 .../xslt/deployment/XsltNativeImageProcessor.java  |  9 ++++++--
 .../component/xslt/deployment/XsltProcessor.java   | 19 +++++++--------
 .../quarkus/component/xslt/CamelXsltConfig.java    |  3 ++-
 pom.xml                                            |  2 +-
 poms/bom/pom.xml                                   | 15 ++++++++++++
 20 files changed, 132 insertions(+), 81 deletions(-)
 copy integration-tests/core-main/src/main/java/org/apache/camel/quarkus/core/CamelRouteFiltered.java => extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddress.java (71%)
 copy integration-tests/sql/src/main/java/org/apache/camel/quarkus/component/sql/it/storedproc/NumberAddStoredProcedure.java => extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddressAccessor.java (80%)
 copy extensions/{platform-http/runtime/src/main/java/org/apache/camel/quarkus/component/platform/http/runtime/PlatformHttpHandlers.java => ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/Flags.java} (62%)
 copy extensions/{infinispan/runtime/src/main/java/org/apache/camel/quarkus/infinispan/runtime/graal/SubstituteInfinispanManager.java => ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/PortWatcherSubstitution.java} (57%)


[camel-quarkus] 05/06: Create substitutions for jsch

Posted by lb...@apache.org.
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 5d79801e1af51ebf16b62f3a5c8857e9598b18e1
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Dec 11 16:32:40 2019 +0100

    Create substitutions for jsch
---
 .../component/ftp/deployment/FtpProcessor.java     | 21 ++++++++++---
 extensions/ftp/runtime/pom.xml                     |  4 +++
 .../component/ftp/graal/AnyLocalAddress.java       | 31 +++++++++++++++++++
 .../ftp/graal/AnyLocalAddressAccessor.java         | 25 +++++++++++++++
 .../camel/quarkus/component/ftp/graal/Flags.java   | 36 ++++++++++++++++++++++
 .../ftp/graal/PortWatcherSubstitution.java         | 35 +++++++++++++++++++++
 6 files changed, 147 insertions(+), 5 deletions(-)

diff --git a/extensions/ftp/deployment/src/main/java/org/apache/camel/quarkus/component/ftp/deployment/FtpProcessor.java b/extensions/ftp/deployment/src/main/java/org/apache/camel/quarkus/component/ftp/deployment/FtpProcessor.java
index 3b48f61..27d781c 100644
--- a/extensions/ftp/deployment/src/main/java/org/apache/camel/quarkus/component/ftp/deployment/FtpProcessor.java
+++ b/extensions/ftp/deployment/src/main/java/org/apache/camel/quarkus/component/ftp/deployment/FtpProcessor.java
@@ -16,16 +16,21 @@
  */
 package org.apache.camel.quarkus.component.ftp.deployment;
 
-import io.quarkus.deployment.annotations.BuildProducer;
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
-import io.quarkus.deployment.builditem.FeatureBuildItem;
-import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import java.util.Arrays;
+import java.util.List;
 
 import org.apache.camel.component.file.remote.FtpConfiguration;
 import org.apache.camel.component.file.remote.FtpsConfiguration;
 import org.apache.camel.component.file.remote.RemoteFileConfiguration;
 import org.apache.camel.component.file.remote.SftpConfiguration;
+import org.apache.camel.quarkus.component.ftp.graal.AnyLocalAddress;
+
+import io.quarkus.deployment.annotations.BuildProducer;
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 
 class FtpProcessor {
 
@@ -100,4 +105,10 @@ class FtpProcessor {
     ExtensionSslNativeSupportBuildItem activateSslNativeSupport() {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
+
+    @BuildStep
+    List<RuntimeInitializedClassBuildItem> runtimeInitializedClasses() {
+        return Arrays.asList(
+                new RuntimeInitializedClassBuildItem(AnyLocalAddress.class.getName()));
+    }
 }
diff --git a/extensions/ftp/runtime/pom.xml b/extensions/ftp/runtime/pom.xml
index 91858a1..00ee45a 100644
--- a/extensions/ftp/runtime/pom.xml
+++ b/extensions/ftp/runtime/pom.xml
@@ -54,6 +54,10 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.oracle.substratevm</groupId>
+            <artifactId>svm</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddress.java b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddress.java
new file mode 100644
index 0000000..cc631c5
--- /dev/null
+++ b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddress.java
@@ -0,0 +1,31 @@
+/*
+ * 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.component.ftp.graal;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+public class AnyLocalAddress {
+    public static InetAddress address;
+
+    static {
+        try {
+            address = InetAddress.getByName("0.0.0.0");
+        } catch (UnknownHostException e) {
+        }
+    }
+}
diff --git a/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddressAccessor.java b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddressAccessor.java
new file mode 100644
index 0000000..dbf03c5
--- /dev/null
+++ b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/AnyLocalAddressAccessor.java
@@ -0,0 +1,25 @@
+/*
+ * 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.component.ftp.graal;
+
+import java.net.InetAddress;
+
+final class AnyLocalAddressAccessor {
+    static InetAddress get() {
+        return AnyLocalAddress.address;
+    }
+}
diff --git a/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/Flags.java b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/Flags.java
new file mode 100644
index 0000000..94139a6
--- /dev/null
+++ b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/Flags.java
@@ -0,0 +1,36 @@
+/*
+ * 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.component.ftp.graal;
+
+import java.util.function.BooleanSupplier;
+
+public final class Flags {
+    private Flags() {
+    }
+
+    public static final class JGitIsNotOnClasspath implements BooleanSupplier {
+        @Override
+        public boolean getAsBoolean() {
+            try {
+                Class.forName("io.quarkus.jgit.runtime.Target_com_jcraft_jsch_PortWatcher");
+                return false;
+            } catch (ClassNotFoundException e) {
+                return true;
+            }
+        }
+    }
+}
diff --git a/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/PortWatcherSubstitution.java b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/PortWatcherSubstitution.java
new file mode 100644
index 0000000..1c436a2
--- /dev/null
+++ b/extensions/ftp/runtime/src/main/java/org/apache/camel/quarkus/component/ftp/graal/PortWatcherSubstitution.java
@@ -0,0 +1,35 @@
+/*
+ * 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.component.ftp.graal;
+
+import java.net.InetAddress;
+
+import com.oracle.svm.core.annotate.Alias;
+import com.oracle.svm.core.annotate.InjectAccessors;
+import com.oracle.svm.core.annotate.TargetClass;
+
+/*
+ * We need to exclude this substitution if JGit is present as substitutions will collide
+ * 
+ *     https://github.com/quarkusio/quarkus/blob/0be78a6813db0d3be7d8e43ac76ace2b808433ef/extensions/jgit/runtime/src/main/java/io/quarkus/jgit/runtime/PortWatcherSubstitutions.java#L14-L20
+ */
+@TargetClass(className = "com.jcraft.jsch.PortWatcher", onlyWith = Flags.JGitIsNotOnClasspath.class)
+final class PortWatcherSubstitution {
+    @Alias
+    @InjectAccessors(AnyLocalAddressAccessor.class)
+    private static InetAddress anyLocalAddress;
+}


[camel-quarkus] 04/06: Update the Quarkus config to be supported by new smallrye-config

Posted by lb...@apache.org.
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 da352f07a7ea8413141900720f1f6367c992d3d7
Author: Guillaume Smet <gu...@gmail.com>
AuthorDate: Tue Dec 10 16:18:29 2019 +0100

    Update the Quarkus config to be supported by new smallrye-config
    
    Potentially empty collections/maps need to be marked with Optional.
---
 .../camel/quarkus/core/deployment/BuildProcessor.java |  5 +++--
 .../org/apache/camel/quarkus/core/CamelConfig.java    |  5 +++--
 .../component/dozer/deployment/DozerProcessor.java    | 11 ++++++-----
 .../quarkus/component/dozer/CamelDozerConfig.java     |  7 ++++---
 .../component/opentracing/CamelOpenTracingConfig.java |  3 ++-
 .../opentracing/CamelOpenTracingRecorder.java         |  4 ++--
 .../component/sql/deployment/SqlProcessor.java        |  6 +++++-
 .../camel/quarkus/component/sql/CamelSqlConfig.java   |  7 ++++---
 .../xslt/deployment/XsltNativeImageProcessor.java     |  9 +++++++--
 .../component/xslt/deployment/XsltProcessor.java      | 19 ++++++++++---------
 .../camel/quarkus/component/xslt/CamelXsltConfig.java |  3 ++-
 11 files changed, 48 insertions(+), 31 deletions(-)

diff --git a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
index dd825be..fb83ff4 100644
--- a/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
+++ b/extensions/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/BuildProcessor.java
@@ -21,6 +21,7 @@ import java.lang.reflect.Modifier;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -320,8 +321,8 @@ class BuildProcessor {
                     .map(ClassInfo::name)
                     .filter(dotName -> CamelSupport.isPathIncluded(
                             dotName.toString('/'),
-                            config.main.routesDiscovery.excludePatterns,
-                            config.main.routesDiscovery.includePatterns))
+                            config.main.routesDiscovery.excludePatterns.orElse(Collections.emptyList()),
+                            config.main.routesDiscovery.includePatterns.orElse(Collections.emptyList())))
                     .map(CamelRoutesBuilderClassBuildItem::new)
                     .collect(Collectors.toList());
         }
diff --git a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
index f328df6..d10f6f5 100644
--- a/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
+++ b/extensions/core/runtime/src/main/java/org/apache/camel/quarkus/core/CamelConfig.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.core;
 
 import java.util.List;
+import java.util.Optional;
 
 import io.quarkus.runtime.annotations.ConfigGroup;
 import io.quarkus.runtime.annotations.ConfigItem;
@@ -70,7 +71,7 @@ public class CamelConfig {
          * And to exclude all routes from two specific packages use: com/mycompany/bar/&#42;,com/mycompany/stuff/&#42;
          */
         @ConfigItem
-        public List<String> excludePatterns;
+        public Optional<List<String>> excludePatterns;
 
         /**
          * Used for inclusive filtering scanning of RouteBuilder classes.
@@ -84,6 +85,6 @@ public class CamelConfig {
          * And to include all routes from two specific packages use: com/mycompany/foo/&#42;,com/mycompany/stuff/&#42;
          */
         @ConfigItem
-        public List<String> includePatterns;
+        public Optional<List<String>> includePatterns;
     }
 }
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 5b37179..eeb48c1 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
@@ -33,6 +33,7 @@ import java.net.URL;
 import java.sql.Time;
 import java.sql.Timestamp;
 import java.util.Calendar;
+import java.util.Collections;
 import java.util.Date;
 
 import com.github.dozermapper.core.DozerBeanMapperBuilder;
@@ -78,7 +79,7 @@ class DozerProcessor {
             CamelDozerConfig camelDozerConfig) {
 
         // Add user Dozer mapping files to the image
-        camelDozerConfig.mappingFiles
+        camelDozerConfig.mappingFiles.orElse(Collections.emptyList())
                 .stream()
                 .map(this::mappingPathToURI)
                 // No scheme means classpath URI
@@ -145,10 +146,10 @@ class DozerProcessor {
                 VariableDefinition.class,
                 VariablesDefinition.class));
 
-        if (!camelDozerConfig.mappingFiles.isEmpty()) {
+        if (camelDozerConfig.mappingFiles.isPresent()) {
             // Register for reflection any classes participating in Dozer mapping
             Mapper mapper = DozerBeanMapperBuilder.create()
-                    .withMappingFiles(camelDozerConfig.mappingFiles)
+                    .withMappingFiles(camelDozerConfig.mappingFiles.get())
                     .build();
 
             mapper.getMappingMetadata()
@@ -167,12 +168,12 @@ class DozerProcessor {
 
         CamelBeanBuildItem camelBeanBuildItem = null;
 
-        if (!camelDozerConfig.mappingFiles.isEmpty()) {
+        if (camelDozerConfig.mappingFiles.isPresent()) {
             // Bind DozerBeanMapperConfiguration to the Camel registry for the user provided Dozer mapping files
             camelBeanBuildItem = new CamelBeanBuildItem(
                     "dozerBeanMappingConfiguration",
                     DozerBeanMapperConfiguration.class.getName(),
-                    camelDozerRecorder.createDozerBeanMapperConfiguration(camelDozerConfig.mappingFiles));
+                    camelDozerRecorder.createDozerBeanMapperConfiguration(camelDozerConfig.mappingFiles.get()));
         }
 
         return camelBeanBuildItem;
diff --git a/extensions/dozer/runtime/src/main/java/org/apache/camel/quarkus/component/dozer/CamelDozerConfig.java b/extensions/dozer/runtime/src/main/java/org/apache/camel/quarkus/component/dozer/CamelDozerConfig.java
index 3441c04..1a0d11b 100644
--- a/extensions/dozer/runtime/src/main/java/org/apache/camel/quarkus/component/dozer/CamelDozerConfig.java
+++ b/extensions/dozer/runtime/src/main/java/org/apache/camel/quarkus/component/dozer/CamelDozerConfig.java
@@ -16,12 +16,13 @@
  */
 package org.apache.camel.quarkus.component.dozer;
 
+import java.util.List;
+import java.util.Optional;
+
 import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
 import io.quarkus.runtime.annotations.ConfigRoot;
 
-import java.util.List;
-
 @ConfigRoot(name = "camel.dozer", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
 public class CamelDozerConfig {
 
@@ -29,7 +30,7 @@ public class CamelDozerConfig {
      * A comma separated list of Dozer XML mapping configuration file URIs.
      */
     @ConfigItem
-    public List<String> mappingFiles;
+    public Optional<List<String>> mappingFiles;
 
     /**
      * Sets whether to configure the DozerTypeConverter for the CamelContext
diff --git a/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingConfig.java b/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingConfig.java
index 8c1d87a..73d4364 100644
--- a/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingConfig.java
+++ b/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingConfig.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.component.opentracing;
 
 import java.util.List;
+import java.util.Optional;
 
 import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
@@ -35,5 +36,5 @@ public final class CamelOpenTracingConfig {
      * Sets whether to disable tracing for endpoint URIs that match the given patterns
      */
     @ConfigItem
-    public List<String> excludePatterns;
+    public Optional<List<String>> excludePatterns;
 }
diff --git a/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingRecorder.java b/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingRecorder.java
index 26c15f6..4331f02 100644
--- a/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingRecorder.java
+++ b/extensions/opentracing/runtime/src/main/java/org/apache/camel/quarkus/component/opentracing/CamelOpenTracingRecorder.java
@@ -35,8 +35,8 @@ public class CamelOpenTracingRecorder {
         if (tracer != null) {
             openTracingTracer.setTracer(tracer);
             openTracingTracer.setEncoding(camelOpenTracingConfig.encoding);
-            if (camelOpenTracingConfig.excludePatterns != null) {
-                openTracingTracer.setExcludePatterns(new LinkedHashSet<>(camelOpenTracingConfig.excludePatterns));
+            if (camelOpenTracingConfig.excludePatterns.isPresent()) {
+                openTracingTracer.setExcludePatterns(new LinkedHashSet<>(camelOpenTracingConfig.excludePatterns.get()));
             }
         }
         return new RuntimeValue<>(openTracingTracer);
diff --git a/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java b/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
index a15eb56..b09fb6a 100644
--- a/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
+++ b/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
@@ -47,7 +47,11 @@ class SqlProcessor {
 
     @BuildStep
     void sqlNativeImageResources(BuildProducer<NativeImageResourceBuildItem> nativeImage, CamelSqlConfig config) {
-        config.scriptFiles
+        if (!config.scriptFiles.isPresent()) {
+            return;
+        }
+
+        config.scriptFiles.get()
                 .stream()
                 .map(scriptFile -> new NativeImageResourceBuildItem(scriptFile.replace("classpath:", "")))
                 .forEach(nativeImage::produce);
diff --git a/extensions/sql/runtime/src/main/java/org/apache/camel/quarkus/component/sql/CamelSqlConfig.java b/extensions/sql/runtime/src/main/java/org/apache/camel/quarkus/component/sql/CamelSqlConfig.java
index db15f7e..bb83a24 100644
--- a/extensions/sql/runtime/src/main/java/org/apache/camel/quarkus/component/sql/CamelSqlConfig.java
+++ b/extensions/sql/runtime/src/main/java/org/apache/camel/quarkus/component/sql/CamelSqlConfig.java
@@ -16,12 +16,13 @@
  */
 package org.apache.camel.quarkus.component.sql;
 
+import java.util.List;
+import java.util.Optional;
+
 import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
 import io.quarkus.runtime.annotations.ConfigRoot;
 
-import java.util.List;
-
 @ConfigRoot(name = "camel.sql", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
 public class CamelSqlConfig {
 
@@ -34,5 +35,5 @@ public class CamelSqlConfig {
      * classpath:sql/my-script.sql). Other URI schemes are not supported.
      */
     @ConfigItem
-    public List<String> scriptFiles;
+    public Optional<List<String>> scriptFiles;
 }
diff --git a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltNativeImageProcessor.java b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltNativeImageProcessor.java
index 65cffdb..8c78c3b 100644
--- a/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltNativeImageProcessor.java
+++ b/extensions/xslt/deployment/src/main/java/org/apache/camel/quarkus/component/xslt/deployment/XsltNativeImageProcessor.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.component.xslt.deployment;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -45,9 +46,13 @@ class XsltNativeImageProcessor {
 
     @BuildStep
     List<NativeImageResourceBuildItem> xsltResources(CamelXsltConfig config) {
-        List<NativeImageResourceBuildItem> items = new ArrayList<>(config.sources.size());
+        if (!config.sources.isPresent()) {
+            return Collections.emptyList();
+        }
+
+        List<NativeImageResourceBuildItem> items = new ArrayList<>(config.sources.get().size());
 
-        for (String source : config.sources) {
+        for (String source : config.sources.get()) {
             String scheme = ResourceHelper.getScheme(source);
 
             if (Objects.isNull(scheme) || Objects.equals(scheme, CLASSPATH_SCHEME)) {
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 b0c6084..d33b1b9 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
@@ -20,6 +20,7 @@ import java.io.File;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.LinkedHashSet;
 import java.util.List;
@@ -28,24 +29,24 @@ import java.util.Set;
 import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 
-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.ArchiveRootBuildItem;
-import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
 import org.apache.camel.component.xslt.XsltComponent;
-import org.apache.camel.quarkus.component.xslt.deployment.BuildTimeUriResolver.ResolutionResult;
 import org.apache.camel.quarkus.component.xslt.CamelXsltConfig;
 import org.apache.camel.quarkus.component.xslt.CamelXsltErrorListener;
 import org.apache.camel.quarkus.component.xslt.CamelXsltRecorder;
 import org.apache.camel.quarkus.component.xslt.RuntimeUriResolver.Builder;
-import org.apache.camel.quarkus.core.deployment.CamelServiceFilter;
+import org.apache.camel.quarkus.component.xslt.deployment.BuildTimeUriResolver.ResolutionResult;
 import org.apache.camel.quarkus.core.deployment.CamelBeanBuildItem;
+import org.apache.camel.quarkus.core.deployment.CamelServiceFilter;
 import org.apache.camel.quarkus.core.deployment.CamelServiceFilterBuildItem;
 import org.apache.camel.quarkus.support.xalan.XalanTransformerFactory;
 import org.apache.commons.lang3.StringUtils;
 
+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.ArchiveRootBuildItem;
+import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
 import io.quarkus.runtime.RuntimeValue;
 
 class XsltProcessor {
@@ -91,7 +92,7 @@ class XsltProcessor {
         final Set<String> translets = new LinkedHashSet<>();
         try {
             final BuildTimeUriResolver resolver = new BuildTimeUriResolver();
-            for (String uri : config.sources) {
+            for (String uri : config.sources.orElse(Collections.emptyList())) {
                 ResolutionResult resolvedUri = resolver.resolve(uri);
                 uriResolverEntries.produce(resolvedUri.toBuildItem());
                 final String translet = resolvedUri.transletClassName;
diff --git a/extensions/xslt/runtime/src/main/java/org/apache/camel/quarkus/component/xslt/CamelXsltConfig.java b/extensions/xslt/runtime/src/main/java/org/apache/camel/quarkus/component/xslt/CamelXsltConfig.java
index 6a2cc7a..ed7c684 100644
--- a/extensions/xslt/runtime/src/main/java/org/apache/camel/quarkus/component/xslt/CamelXsltConfig.java
+++ b/extensions/xslt/runtime/src/main/java/org/apache/camel/quarkus/component/xslt/CamelXsltConfig.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.component.xslt;
 
 import java.util.List;
+import java.util.Optional;
 
 import io.quarkus.runtime.annotations.ConfigItem;
 import io.quarkus.runtime.annotations.ConfigPhase;
@@ -28,7 +29,7 @@ public class CamelXsltConfig {
      * A comma separated list of templates to compile.
      */
     @ConfigItem
-    public List<String> sources;
+    public Optional<List<String>> sources;
 
     /**
      * The package name for the generated classes.


[camel-quarkus] 01/06: Fix Jetty dependency convergence issues

Posted by lb...@apache.org.
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 89be3be23fadf01b31e5578210c97e08055f4f37
Author: Guillaume Smet <gu...@gmail.com>
AuthorDate: Tue Dec 10 15:45:47 2019 +0100

    Fix Jetty dependency convergence issues
    
    Quarkus doesn't define the Jetty versions anymore.
---
 poms/bom/pom.xml | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index b9d2544..23d64b2 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -775,6 +775,21 @@
                 <version>${jetty.version}</version>
             </dependency>
             <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-io</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.eclipse.jetty</groupId>
+                <artifactId>jetty-util-ajax</artifactId>
+                <version>${jetty.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.yaml</groupId>
                 <artifactId>snakeyaml</artifactId>
                 <version>${snakeyaml.version}</version>


[camel-quarkus] 02/06: Update Quarkus to 1.1.0.Final

Posted by lb...@apache.org.
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 073e017afbd04252ad3919d34a77b56169d75ccd
Author: Guillaume Smet <gu...@gmail.com>
AuthorDate: Tue Dec 17 10:26:31 2019 +0100

    Update Quarkus to 1.1.0.Final
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 0241c1c..f169b18 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,7 +42,7 @@
 
         <camel.version>3.0.0</camel.version>
         <hapi.version>4.1.0</hapi.version>
-        <quarkus.version>1.0.1.Final</quarkus.version>
+        <quarkus.version>1.1.0.Final</quarkus.version>
         <jetty.version>9.4.18.v20190429</jetty.version>
         <xstream.version>1.4.11</xstream.version>
         <snakeyaml.version>1.25</snakeyaml.version>


[camel-quarkus] 06/06: Fix formatting

Posted by lb...@apache.org.
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 ccf8d0920f8d6c25453bef66a002a75c4edf7378
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Dec 16 21:08:56 2019 +0100

    Fix formatting
---
 .../java/org/apache/camel/quarkus/core/runtime/CamelRegistryTest.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/runtime/CamelRegistryTest.java b/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/runtime/CamelRegistryTest.java
index e0de1a3..96cf229 100644
--- a/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/runtime/CamelRegistryTest.java
+++ b/extensions/core/deployment/src/test/java/org/apache/camel/quarkus/core/runtime/CamelRegistryTest.java
@@ -156,7 +156,8 @@ public class CamelRegistryTest {
         @Named("my-processor")
         @Produces
         public Processor processor() {
-            return e -> {};
+            return e -> {
+            };
         }
     }
 


[camel-quarkus] 03/06: Rename GizmoAdaptor to GeneratedClassGizmoAdaptor

Posted by lb...@apache.org.
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 19ff84978f055e21422fb61e5906b8f1bfb36463
Author: Guillaume Smet <gu...@gmail.com>
AuthorDate: Tue Dec 10 15:46:22 2019 +0100

    Rename GizmoAdaptor to GeneratedClassGizmoAdaptor
---
 .../camel/quarkus/component/sql/deployment/SqlProcessor.java | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java b/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
index a1cf3e0..a15eb56 100644
--- a/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
+++ b/extensions/sql/deployment/src/main/java/org/apache/camel/quarkus/component/sql/deployment/SqlProcessor.java
@@ -16,7 +16,11 @@
  */
 package org.apache.camel.quarkus.component.sql.deployment;
 
-import io.quarkus.deployment.GizmoAdaptor;
+import java.sql.Types;
+
+import org.apache.camel.quarkus.component.sql.CamelSqlConfig;
+
+import io.quarkus.deployment.GeneratedClassGizmoAdaptor;
 import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
@@ -27,10 +31,6 @@ import io.quarkus.deployment.pkg.steps.NativeBuild;
 import io.quarkus.gizmo.ClassCreator;
 import io.quarkus.gizmo.ClassOutput;
 
-import java.sql.Types;
-
-import org.apache.camel.quarkus.component.sql.CamelSqlConfig;
-
 class SqlProcessor {
 
     private static final String FEATURE = "camel-sql";
@@ -57,7 +57,7 @@ class SqlProcessor {
     void generateKParameterClass(BuildProducer<GeneratedClassBuildItem> generatedClass) {
         // TODO: Investigate removing this. See https://github.com/apache/camel-quarkus/issues/534
         // The native image build fails with a NoClassDefFoundError without this. Possibly similar to https://github.com/oracle/graal/issues/656.
-        ClassOutput classOutput = new GizmoAdaptor(generatedClass, false);
+        ClassOutput classOutput = new GeneratedClassGizmoAdaptor(generatedClass, false);
         ClassCreator.builder()
                 .className("kotlin.reflect.KParameter")
                 .classOutput(classOutput)