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

jamesnetherton 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 a8cab5bbaf Configure com.google.protobuf.JavaFeaturesProto for runtime 
initialization in native mode
a8cab5bbaf is described below

commit a8cab5bbaf1a0fbbfeab86ad8c1b8485ba2015b0
Author: James Netherton <[email protected]>
AuthorDate: Thu Oct 23 07:30:22 2025 +0100

    Configure com.google.protobuf.JavaFeaturesProto for runtime initialization 
in native mode
---
 .../component/aws2/kinesis/deployment/Aws2KinesisProcessor.java     | 4 +++-
 .../debezium/oracle/deployment/DebeziumOracleProcessor.java         | 6 ++++++
 .../camel/quarkus/component/fhir/deployment/FhirProcessor.java      | 6 ++++++
 .../google/bigquery/deployment/GoogleBigqueryProcessor.java         | 1 +
 .../component/google/pubsub/deployment/GooglePubsubProcessor.java   | 1 +
 .../secret/manager/deployment/GoogleSecretManagerProcessor.java     | 6 ++++++
 .../component/google/storage/deployment/GoogleStorageProcessor.java | 6 ++++++
 .../camel/quarkus/component/kudu/deployment/KuduProcessor.java      | 6 ++++++
 .../quarkus/component/pinecone/deployment/PineconeProcessor.java    | 1 +
 .../quarkus/component/protobuf/deployment/ProtobufProcessor.java    | 5 +++++
 .../camel/quarkus/component/qdrant/deployment/QdrantProcessor.java  | 6 ++++++
 .../quarkus/component/weaviate/deployment/WeaviateProcessor.java    | 6 ++++++
 12 files changed, 53 insertions(+), 1 deletion(-)

diff --git 
a/extensions/aws2-kinesis/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/deployment/Aws2KinesisProcessor.java
 
b/extensions/aws2-kinesis/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/deployment/Aws2KinesisProcessor.java
index 038270fb19..ac118db0f2 100644
--- 
a/extensions/aws2-kinesis/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/deployment/Aws2KinesisProcessor.java
+++ 
b/extensions/aws2-kinesis/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/kinesis/deployment/Aws2KinesisProcessor.java
@@ -36,7 +36,9 @@ class Aws2KinesisProcessor {
 
     @BuildStep
     void 
runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> 
runtimeInitializedClass) {
-        
Stream.of("software.amazon.awssdk.services.dynamodb.DynamoDbRetryPolicy",
+        Stream.of(
+                "com.google.protobuf.JavaFeaturesProto",
+                "software.amazon.awssdk.services.dynamodb.DynamoDbRetryPolicy",
                 "software.amazon.kinesis.lifecycle.ShutdownTask")
                 .map(RuntimeInitializedClassBuildItem::new)
                 .forEach(runtimeInitializedClass::produce);
diff --git 
a/extensions/debezium-oracle/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/oracle/deployment/DebeziumOracleProcessor.java
 
b/extensions/debezium-oracle/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/oracle/deployment/DebeziumOracleProcessor.java
index 64a0345916..bab4e3ae75 100644
--- 
a/extensions/debezium-oracle/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/oracle/deployment/DebeziumOracleProcessor.java
+++ 
b/extensions/debezium-oracle/deployment/src/main/java/org/apache/camel/quarkus/component/debezium/oracle/deployment/DebeziumOracleProcessor.java
@@ -27,6 +27,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import oracle.jdbc.driver.OracleDriver;
 
 class DebeziumOracleProcessor {
@@ -55,4 +56,9 @@ class DebeziumOracleProcessor {
     void addDependencies(BuildProducer<IndexDependencyBuildItem> 
indexDependency) {
         indexDependency.produce(new IndexDependencyBuildItem("io.debezium", 
"debezium-connector-oracle"));
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
 
b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
index 917dcaa883..439ffd8847 100644
--- 
a/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
+++ 
b/extensions/fhir/deployment/src/main/java/org/apache/camel/quarkus/component/fhir/deployment/FhirProcessor.java
@@ -34,6 +34,7 @@ import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.GeneratedClassBuildItem;
 import 
io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import io.quarkus.deployment.pkg.steps.NativeOrNativeSourcesBuild;
 import io.quarkus.gizmo.ClassCreator;
 import io.quarkus.gizmo.Gizmo;
@@ -136,6 +137,11 @@ final class FhirProcessor {
         }
     }
 
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
+
     static final class IsFhirServerAbsent implements BooleanSupplier {
         @Override
         public boolean getAsBoolean() {
diff --git 
a/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
 
b/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
index f1392401c4..51a93827ee 100644
--- 
a/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
+++ 
b/extensions/google-bigquery/deployment/src/main/java/org/apache/camel/quarkus/component/google/bigquery/deployment/GoogleBigqueryProcessor.java
@@ -33,6 +33,7 @@ class GoogleBigqueryProcessor {
     @BuildStep
     public List<RuntimeInitializedClassBuildItem> runtimeInitializedClass() {
         return List.of(
+                new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto"),
                 new 
RuntimeInitializedClassBuildItem("org.apache.arrow.memory.BaseAllocator"),
                 new 
RuntimeInitializedClassBuildItem("org.apache.arrow.memory.DefaultAllocationManagerFactory"),
                 new 
RuntimeInitializedClassBuildItem("org.apache.arrow.memory.NettyAllocationManager"));
diff --git 
a/extensions/google-pubsub/deployment/src/main/java/org/apache/camel/quarkus/component/google/pubsub/deployment/GooglePubsubProcessor.java
 
b/extensions/google-pubsub/deployment/src/main/java/org/apache/camel/quarkus/component/google/pubsub/deployment/GooglePubsubProcessor.java
index 9f4ef850aa..5c4e9a9992 100644
--- 
a/extensions/google-pubsub/deployment/src/main/java/org/apache/camel/quarkus/component/google/pubsub/deployment/GooglePubsubProcessor.java
+++ 
b/extensions/google-pubsub/deployment/src/main/java/org/apache/camel/quarkus/component/google/pubsub/deployment/GooglePubsubProcessor.java
@@ -58,6 +58,7 @@ class GooglePubsubProcessor {
     @BuildStep
     void 
runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> 
runtimeInitializedClass) {
         Stream.of(
+                "com.google.protobuf.JavaFeaturesProto",
                 "io.grpc.internal.RetriableStream" // Consider moving this to 
a separate support extension if we need this in multiple top level extensions
         )
                 .map(RuntimeInitializedClassBuildItem::new)
diff --git 
a/extensions/google-secret-manager/deployment/src/main/java/org/apache/camel/quarkus/component/google/secret/manager/deployment/GoogleSecretManagerProcessor.java
 
b/extensions/google-secret-manager/deployment/src/main/java/org/apache/camel/quarkus/component/google/secret/manager/deployment/GoogleSecretManagerProcessor.java
index 6cbd9bd4f4..85e230cd23 100644
--- 
a/extensions/google-secret-manager/deployment/src/main/java/org/apache/camel/quarkus/component/google/secret/manager/deployment/GoogleSecretManagerProcessor.java
+++ 
b/extensions/google-secret-manager/deployment/src/main/java/org/apache/camel/quarkus/component/google/secret/manager/deployment/GoogleSecretManagerProcessor.java
@@ -18,6 +18,7 @@ package 
org.apache.camel.quarkus.component.google.secret.manager.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import org.jboss.logging.Logger;
 
 class GoogleSecretManagerProcessor {
@@ -29,4 +30,9 @@ class GoogleSecretManagerProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
 
b/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
index 347f9fc5c6..aecf90f3de 100644
--- 
a/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
+++ 
b/extensions/google-storage/deployment/src/main/java/org/apache/camel/quarkus/component/google/storage/deployment/GoogleStorageProcessor.java
@@ -19,6 +19,7 @@ package 
org.apache.camel.quarkus.component.google.storage.deployment;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 
 class GoogleStorageProcessor {
 
@@ -33,4 +34,9 @@ class GoogleStorageProcessor {
     ExtensionSslNativeSupportBuildItem activateSslNativeSupport() {
         return new ExtensionSslNativeSupportBuildItem(FEATURE);
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/kudu/deployment/src/main/java/org/apache/camel/quarkus/component/kudu/deployment/KuduProcessor.java
 
b/extensions/kudu/deployment/src/main/java/org/apache/camel/quarkus/component/kudu/deployment/KuduProcessor.java
index 53a37a54b9..fc42fe5569 100644
--- 
a/extensions/kudu/deployment/src/main/java/org/apache/camel/quarkus/component/kudu/deployment/KuduProcessor.java
+++ 
b/extensions/kudu/deployment/src/main/java/org/apache/camel/quarkus/component/kudu/deployment/KuduProcessor.java
@@ -30,6 +30,7 @@ import 
io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import 
io.quarkus.deployment.builditem.nativeimage.NativeImageSecurityProviderBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import 
io.quarkus.deployment.builditem.nativeimage.RuntimeReinitializedClassBuildItem;
 
 class KuduProcessor {
@@ -82,4 +83,9 @@ class KuduProcessor {
                 .map(RuntimeReinitializedClassBuildItem::new)
                 .forEach(runtimeReinitializedClass::produce);
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/pinecone/deployment/src/main/java/org/apache/camel/quarkus/component/pinecone/deployment/PineconeProcessor.java
 
b/extensions/pinecone/deployment/src/main/java/org/apache/camel/quarkus/component/pinecone/deployment/PineconeProcessor.java
index b43da48454..bf22f477b1 100644
--- 
a/extensions/pinecone/deployment/src/main/java/org/apache/camel/quarkus/component/pinecone/deployment/PineconeProcessor.java
+++ 
b/extensions/pinecone/deployment/src/main/java/org/apache/camel/quarkus/component/pinecone/deployment/PineconeProcessor.java
@@ -62,5 +62,6 @@ class PineconeProcessor {
     @BuildStep
     void 
runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> 
runtimeInitializedClass) {
         runtimeInitializedClass.produce(new 
RuntimeInitializedClassBuildItem(Configuration.class.getName()));
+        runtimeInitializedClass.produce(new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto"));
     }
 }
diff --git 
a/extensions/protobuf/deployment/src/main/java/org/apache/camel/quarkus/component/protobuf/deployment/ProtobufProcessor.java
 
b/extensions/protobuf/deployment/src/main/java/org/apache/camel/quarkus/component/protobuf/deployment/ProtobufProcessor.java
index 95725b08fe..a3f6594b9a 100644
--- 
a/extensions/protobuf/deployment/src/main/java/org/apache/camel/quarkus/component/protobuf/deployment/ProtobufProcessor.java
+++ 
b/extensions/protobuf/deployment/src/main/java/org/apache/camel/quarkus/component/protobuf/deployment/ProtobufProcessor.java
@@ -23,6 +23,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.IndexView;
 import org.jboss.logging.Logger;
@@ -55,4 +56,8 @@ class ProtobufProcessor {
         }
     }
 
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/qdrant/deployment/src/main/java/org/apache/camel/quarkus/component/qdrant/deployment/QdrantProcessor.java
 
b/extensions/qdrant/deployment/src/main/java/org/apache/camel/quarkus/component/qdrant/deployment/QdrantProcessor.java
index f54188a0d3..1473927f7d 100644
--- 
a/extensions/qdrant/deployment/src/main/java/org/apache/camel/quarkus/component/qdrant/deployment/QdrantProcessor.java
+++ 
b/extensions/qdrant/deployment/src/main/java/org/apache/camel/quarkus/component/qdrant/deployment/QdrantProcessor.java
@@ -18,6 +18,7 @@ package org.apache.camel.quarkus.component.qdrant.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import org.jboss.logging.Logger;
 
 class QdrantProcessor {
@@ -29,4 +30,9 @@ class QdrantProcessor {
     FeatureBuildItem feature() {
         return new FeatureBuildItem(FEATURE);
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }
diff --git 
a/extensions/weaviate/deployment/src/main/java/org/apache/camel/quarkus/component/weaviate/deployment/WeaviateProcessor.java
 
b/extensions/weaviate/deployment/src/main/java/org/apache/camel/quarkus/component/weaviate/deployment/WeaviateProcessor.java
index fcbc8d12ba..ae80b9d8b0 100644
--- 
a/extensions/weaviate/deployment/src/main/java/org/apache/camel/quarkus/component/weaviate/deployment/WeaviateProcessor.java
+++ 
b/extensions/weaviate/deployment/src/main/java/org/apache/camel/quarkus/component/weaviate/deployment/WeaviateProcessor.java
@@ -21,6 +21,7 @@ import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.builditem.IndexDependencyBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import 
io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem;
 import org.jboss.jandex.IndexView;
 
 class WeaviateProcessor {
@@ -50,4 +51,9 @@ class WeaviateProcessor {
     IndexDependencyBuildItem registerDependencyForIndex() {
         return new IndexDependencyBuildItem("io.weaviate", "client");
     }
+
+    @BuildStep
+    RuntimeInitializedClassBuildItem runtimeInitializedClasses() {
+        return new 
RuntimeInitializedClassBuildItem("com.google.protobuf.JavaFeaturesProto");
+    }
 }

Reply via email to