This is an automated email from the ASF dual-hosted git repository.
ppalaga pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push:
new a92a48feed Zendesk test cannot be compiled to native with Camel 4 and
Quarkus 3 #4514
a92a48feed is described below
commit a92a48feed54f53c883c45caaf1c4314c430152d
Author: JiriOndrusek <[email protected]>
AuthorDate: Mon Feb 20 16:02:33 2023 +0100
Zendesk test cannot be compiled to native with Camel 4 and Quarkus 3 #4514
---
.../ahc/deployment/SupportAhcProcessor.java | 6 ++++
extensions-support/ahc/runtime/pom.xml | 17 +++++++++
.../ahc/runtime/graal/AhcSubstitutions.java | 41 ++++++++++++++++++++++
pom.xml | 3 +-
poms/bom/pom.xml | 13 +++++++
poms/bom/src/main/generated/flattened-full-pom.xml | 15 +++++++-
.../src/main/generated/flattened-reduced-pom.xml | 15 +++++++-
.../generated/flattened-reduced-verbose-pom.xml | 15 +++++++-
8 files changed, 121 insertions(+), 4 deletions(-)
diff --git
a/extensions-support/ahc/deployment/src/main/java/org/apache/camel/quarkus/component/support/ahc/deployment/SupportAhcProcessor.java
b/extensions-support/ahc/deployment/src/main/java/org/apache/camel/quarkus/component/support/ahc/deployment/SupportAhcProcessor.java
index f9b9121237..d415b7612c 100644
---
a/extensions-support/ahc/deployment/src/main/java/org/apache/camel/quarkus/component/support/ahc/deployment/SupportAhcProcessor.java
+++
b/extensions-support/ahc/deployment/src/main/java/org/apache/camel/quarkus/component/support/ahc/deployment/SupportAhcProcessor.java
@@ -18,6 +18,7 @@ package
org.apache.camel.quarkus.component.support.ahc.deployment;
import java.util.stream.Stream;
+import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
import io.quarkus.deployment.annotations.BuildProducer;
import io.quarkus.deployment.annotations.BuildStep;
import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
@@ -40,6 +41,11 @@ class SupportAhcProcessor {
return new ExtensionSslNativeSupportBuildItem(FEATURE);
}
+ @BuildStep
+ RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+ return new
RuntimeInitializedClassBuildItem(IOUringEventLoopGroup.class.getName());
+ }
+
@BuildStep
void
runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem>
runtimeInitializedClass) {
Stream.of("org.asynchttpclient.netty.channel.ChannelManager",
diff --git a/extensions-support/ahc/runtime/pom.xml
b/extensions-support/ahc/runtime/pom.xml
index 017ecf206a..d314493e92 100644
--- a/extensions-support/ahc/runtime/pom.xml
+++ b/extensions-support/ahc/runtime/pom.xml
@@ -47,6 +47,23 @@
<groupId>org.asynchttpclient</groupId>
<artifactId>async-http-client</artifactId>
</dependency>
+ <dependency>
+ <artifactId>netty-transport-classes-epoll</artifactId>
+ <groupId>io.netty</groupId>
+ </dependency>
+ <dependency>
+ <artifactId>netty-transport-classes-kqueue</artifactId>
+ <groupId>io.netty</groupId>
+ </dependency>
+ <dependency>
+ <groupId>io.netty.incubator</groupId>
+ <artifactId>netty-incubator-transport-classes-io_uring</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.graalvm.sdk</groupId>
+ <artifactId>graal-sdk</artifactId>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<build>
diff --git
a/extensions-support/ahc/runtime/src/main/java/org/apache/camel/quarkus/component/support/ahc/runtime/graal/AhcSubstitutions.java
b/extensions-support/ahc/runtime/src/main/java/org/apache/camel/quarkus/component/support/ahc/runtime/graal/AhcSubstitutions.java
new file mode 100644
index 0000000000..9ccb42756d
--- /dev/null
+++
b/extensions-support/ahc/runtime/src/main/java/org/apache/camel/quarkus/component/support/ahc/runtime/graal/AhcSubstitutions.java
@@ -0,0 +1,41 @@
+/*
+ * 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.support.ahc.runtime.graal;
+
+import java.util.concurrent.ThreadFactory;
+
+import com.oracle.svm.core.annotate.Substitute;
+import com.oracle.svm.core.annotate.TargetClass;
+import io.netty.incubator.channel.uring.IOUringEventLoopGroup;
+import io.netty.incubator.channel.uring.IOUringSocketChannel;
+
+final class AhcSubstitutions {
+}
+
+@TargetClass(className =
"org.asynchttpclient.netty.channel.IoUringIncubatorTransportFactory")
+final class IoUringIncubatorTransportFactorySubstitutions {
+
+ @Substitute
+ public IOUringSocketChannel newChannel() {
+ throw new RuntimeException("not supported!");
+ }
+
+ @Substitute
+ public IOUringEventLoopGroup newEventLoopGroup(int ioThreadsCount,
ThreadFactory threadFactory) {
+ throw new RuntimeException("not supported!");
+ }
+}
diff --git a/pom.xml b/pom.xml
index 19d20c00ab..d6b38c23b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -65,7 +65,7 @@
<!-- Compile dependency versions (keep sorted alphabetically) -->
<!-- Items annotated with @sync can be updated by running mvn
cq:sync-versions -N -e -->
- <ahc.version>2.12.3</ahc.version><!-- @sync
com.cloudbees.thirdparty:zendesk-java-client:${zendesk-client-version}
dep:org.asynchttpclient:async-http-client -->
+ <ahc.version>3.0.0.Beta1</ahc.version><!-- todo update client once
available, see https://github.com/apache/camel-quarkus/issues/4591 @sync
com.cloudbees.thirdparty:zendesk-java-client:${zendesk-client-version}
dep:org.asynchttpclient:async-http-client -->
<angus-mail.version>${angus-mail-version}</angus-mail.version>
<animal-sniffer.version>1.18</animal-sniffer.version>
<antlr3.version>3.5.2</antlr3.version><!-- Spark, Stringtemplate and
probably others -->
@@ -108,6 +108,7 @@
<htrace.version>4.2.0-incubating</htrace.version><!-- Mess in hbase
transitive deps -->
<httpclient5.version>5.2.1</httpclient5.version><!-- Saxon and
Wiremock -->
<influxdb.version>${influx-java-driver-version}</influxdb.version>
+ <io-netty-iouring.version>0.0.16.Final</io-netty-iouring.version><!--
@sync org.asynchttpclient:async-http-client-project:${ahc.version}
prop:netty.iouring -->
<jackson.version>2.14.2</jackson.version><!-- @sync
io.quarkus:quarkus-bom:${quarkus.version}
dep:com.fasterxml.jackson.core:jackson-core -->
<jackson1.version>1.9.13</jackson1.version><!-- Mess in the transitive
dependencies of hbase-testing-util -->
<jackson-asl.version>${jackson1.version}</jackson-asl.version><!-- Can
be different from jackson1.version on some occasions -->
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 74f62df8ad..5db76ce5ca 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1162,10 +1162,18 @@
<artifactId>camel-google-storage</artifactId>
<version>${camel.version}</version>
<exclusions>
+ <exclusion>
+ <groupId>com.google.android</groupId>
+ <artifactId>annotations</artifactId>
+ </exclusion>
<exclusion>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-annotations</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -6295,6 +6303,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>io.netty.incubator</groupId>
+
<artifactId>netty-incubator-transport-classes-io_uring</artifactId>
+ <version>${io-netty-iouring.version}</version>
+ </dependency>
<!--<dependency>
<groupId>io.smallrye.reactive</groupId>
<artifactId>smallrye-reactive-messaging-camel</artifactId>
diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml
b/poms/bom/src/main/generated/flattened-full-pom.xml
index 61b4ef9a86..1368d1ddf4 100644
--- a/poms/bom/src/main/generated/flattened-full-pom.xml
+++ b/poms/bom/src/main/generated/flattened-full-pom.xml
@@ -1101,10 +1101,18 @@
<artifactId>camel-google-storage</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.0.0-M1</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<exclusions>
+ <exclusion>
+ <groupId>com.google.android</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>annotations</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
<exclusion>
<groupId>org.checkerframework</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>checker-qual</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</exclusion>
+ <exclusion>
+ <groupId>org.codehaus.mojo</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>animal-sniffer-annotations</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -6166,6 +6174,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>io.netty.incubator</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+
<artifactId>netty-incubator-transport-classes-io_uring</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>0.0.16.Final</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>jakarta.jms</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>jakarta.jms-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6340,7 +6353,7 @@
<dependency>
<groupId>org.asynchttpclient</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>async-http-client</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>2.12.3</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.0.0.Beta1</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<exclusions>
<exclusion>
<groupId>com.sun.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-pom.xml
index fcc9141755..df8b72caf4 100644
--- a/poms/bom/src/main/generated/flattened-reduced-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml
@@ -1101,10 +1101,18 @@
<artifactId>camel-google-storage</artifactId>
<version>4.0.0-M1</version>
<exclusions>
+ <exclusion>
+ <groupId>com.google.android</groupId>
+ <artifactId>annotations</artifactId>
+ </exclusion>
<exclusion>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>animal-sniffer-annotations</artifactId>
+ </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -6145,6 +6153,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>io.netty.incubator</groupId>
+ <artifactId>netty-incubator-transport-classes-io_uring</artifactId>
+ <version>0.0.16.Final</version>
+ </dependency>
<dependency>
<groupId>jakarta.jms</groupId>
<artifactId>jakarta.jms-api</artifactId>
@@ -6293,7 +6306,7 @@
<dependency>
<groupId>org.asynchttpclient</groupId>
<artifactId>async-http-client</artifactId>
- <version>2.12.3</version>
+ <version>3.0.0.Beta1</version>
<exclusions>
<exclusion>
<groupId>com.sun.activation</groupId>
diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
index de126916ea..48f44a22da 100644
--- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
+++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml
@@ -1101,10 +1101,18 @@
<artifactId>camel-google-storage</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<version>4.0.0-M1</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<exclusions>
+ <exclusion>
+ <groupId>com.google.android</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>annotations</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
<exclusion>
<groupId>org.checkerframework</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>checker-qual</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
</exclusion>
+ <exclusion>
+ <groupId>org.codehaus.mojo</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <artifactId>animal-sniffer-annotations</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </exclusion>
</exclusions>
</dependency>
<dependency>
@@ -6145,6 +6153,11 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>io.netty.incubator</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+
<artifactId>netty-incubator-transport-classes-io_uring</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>0.0.16.Final</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ </dependency>
<dependency>
<groupId>jakarta.jms</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>jakarta.jms-api</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
@@ -6293,7 +6306,7 @@
<dependency>
<groupId>org.asynchttpclient</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<artifactId>async-http-client</artifactId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
- <version>2.12.3</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
+ <version>3.0.0.Beta1</version><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->
<exclusions>
<exclusion>
<groupId>com.sun.activation</groupId><!--
org.apache.camel.quarkus:camel-quarkus-bom:${project.version} -->