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 <ondrusek.j...@gmail.com> 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} -->