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

jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit d97494e1a867e0f56a1a63fc5dc2b74eda26a6e0
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Thu Mar 20 16:10:34 2025 +0000

    Exclude infinispan-embeddings transformer service when capability is not 
present
---
 .../infinispan/deployment/InfinispanProcessor.java          | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git 
a/extensions/infinispan/deployment/src/main/java/org/apache/camel/quarkus/component/infinispan/deployment/InfinispanProcessor.java
 
b/extensions/infinispan/deployment/src/main/java/org/apache/camel/quarkus/component/infinispan/deployment/InfinispanProcessor.java
index 8f677f4c72..86d0252a99 100644
--- 
a/extensions/infinispan/deployment/src/main/java/org/apache/camel/quarkus/component/infinispan/deployment/InfinispanProcessor.java
+++ 
b/extensions/infinispan/deployment/src/main/java/org/apache/camel/quarkus/component/infinispan/deployment/InfinispanProcessor.java
@@ -16,10 +16,13 @@
  */
 package org.apache.camel.quarkus.component.infinispan.deployment;
 
+import io.quarkus.deployment.Capabilities;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
 import 
io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
+import 
org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.infinispan.commons.marshall.ProtoStreamMarshaller;
 
 class InfinispanProcessor {
@@ -42,4 +45,14 @@ class InfinispanProcessor {
         // Only required when Camel instantiates and manages its own internal 
CacheContainer
         return 
ReflectiveClassBuildItem.builder(ProtoStreamMarshaller.class).build();
     }
+
+    @BuildStep
+    CamelServicePatternBuildItem camelServicePattern(Capabilities 
capabilities) {
+        // Disable infinispan-embeddings transformer if the required extension 
is missing
+        if (capabilities.isMissing("org.apache.camel.langchain4j.embeddings")) 
{
+            return new 
CamelServicePatternBuildItem(CamelServiceDestination.DISCOVERY, false,
+                    
"META-INF/services/org/apache/camel/transformer/infinispan-embeddings");
+        }
+        return null;
+    }
 }

Reply via email to