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; + } }