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 bbfa08511f Fixes #8783. Use getRuntimeDependencies() instead of
getDependencies() to avoid matching deployment-only transitives
bbfa08511f is described below
commit bbfa08511f82263cf282bf39d6fb7aa7f5480aee
Author: James Netherton <[email protected]>
AuthorDate: Tue Jun 23 11:03:31 2026 +0100
Fixes #8783. Use getRuntimeDependencies() instead of getDependencies() to
avoid matching deployment-only transitives
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
---
.../support/langchain4j/deployment/SupportLangchain4jProcessor.java | 6 +++---
.../quarkus/support/spring/deployment/SpringKotlinProcessor.java | 2 +-
.../quarkus/component/csimple/deployment/CSimpleProcessor.java | 2 +-
.../camel/quarkus/component/groovy/deployment/GroovyProcessor.java | 2 +-
.../apache/camel/quarkus/component/hl7/deployment/Hl7Processor.java | 2 +-
.../quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java | 2 +-
.../camel/quarkus/component/joor/deployment/JoorProcessor.java | 2 +-
.../camel/quarkus/component/quartz/deployment/QuartzProcessor.java | 2 +-
.../quarkus/component/xchange/deployment/XchangeProcessor.java | 2 +-
integration-tests/amqp/pom.xml | 6 ++++++
10 files changed, 17 insertions(+), 11 deletions(-)
diff --git
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
index 850acfd807..ca0166aa4e 100644
---
a/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
+++
b/extensions-support/langchain4j/deployment/src/main/java/org/apache/camel/quarkus/component/support/langchain4j/deployment/SupportLangchain4jProcessor.java
@@ -79,7 +79,7 @@ class SupportLangchain4jProcessor {
@BuildStep
void indexDependencies(CurateOutcomeBuildItem curateOutcome,
BuildProducer<IndexDependencyBuildItem> indexedDependencies) {
ApplicationModel applicationModel =
curateOutcome.getApplicationModel();
- for (ResolvedDependency dependency :
applicationModel.getDependencies()) {
+ for (ResolvedDependency dependency :
applicationModel.getRuntimeDependencies()) {
if (dependency.getGroupId().equals("dev.langchain4j")) {
indexedDependencies.produce(new
IndexDependencyBuildItem(dependency.getGroupId(), dependency.getArtifactId()));
}
@@ -248,7 +248,7 @@ class SupportLangchain4jProcessor {
BuildProducer<IndexDependencyBuildItem> indexDependency) {
ApplicationModel applicationModel =
curateOutcome.getApplicationModel();
- for (ResolvedDependency dependency :
applicationModel.getDependencies()) {
+ for (ResolvedDependency dependency :
applicationModel.getRuntimeDependencies()) {
String groupId = dependency.getGroupId();
String artifactId = dependency.getArtifactId();
@@ -300,7 +300,7 @@ class SupportLangchain4jProcessor {
nativeImageResource.produce(new
NativeImageResourceBuildItem("native/lib/tokenizers.properties"));
- for (ResolvedDependency dependency :
curateOutcome.getApplicationModel().getDependencies()) {
+ for (ResolvedDependency dependency :
curateOutcome.getApplicationModel().getRuntimeDependencies()) {
String artifactId = dependency.getArtifactId();
// Native image resources for embeddings tokenizer metadata
diff --git
a/extensions-support/spring/deployment/src/main/java/org/apache/camel/quarkus/support/spring/deployment/SpringKotlinProcessor.java
b/extensions-support/spring/deployment/src/main/java/org/apache/camel/quarkus/support/spring/deployment/SpringKotlinProcessor.java
index 10f1f5a52d..756dd9ab33 100644
---
a/extensions-support/spring/deployment/src/main/java/org/apache/camel/quarkus/support/spring/deployment/SpringKotlinProcessor.java
+++
b/extensions-support/spring/deployment/src/main/java/org/apache/camel/quarkus/support/spring/deployment/SpringKotlinProcessor.java
@@ -56,7 +56,7 @@ public class SpringKotlinProcessor {
private boolean isKotlinStdlibAvailable(ApplicationModel applicationModel)
{
return applicationModel
- .getDependencies()
+ .getRuntimeDependencies()
.stream()
.anyMatch(dependency ->
dependency.getArtifactId().startsWith("kotlin-stdlib"));
}
diff --git
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
index a207e424df..9e354bb9cb 100644
---
a/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
+++
b/extensions/csimple/deployment/src/main/java/org/apache/camel/quarkus/component/csimple/deployment/CSimpleProcessor.java
@@ -207,7 +207,7 @@ class CSimpleProcessor {
final RuntimeValue<?> csimpleLanguage =
recorder.buildCSimpleLanguage(builder);
return new CamelBeanBuildItem("csimple",
CSimpleLanguage.class.getName(), csimpleLanguage);
- } else if
(curateOutcomeBuildItem.getApplicationModel().getDependencies().stream().noneMatch(
+ } else if
(curateOutcomeBuildItem.getApplicationModel().getRuntimeDependencies().stream().noneMatch(
x -> x.getGroupId().equals("org.apache.camel") &&
x.getArtifactId().equals("camel-csimple-joor"))) {
LOG.warn(
"The expression extraction process has been disabled or
failed, please add camel-csimple-joor to your classpath to compile the
expressions at runtime");
diff --git
a/extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java
b/extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java
index 136a111d2e..49e8f349b3 100644
---
a/extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java
+++
b/extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java
@@ -128,7 +128,7 @@ class GroovyProcessor {
// Disable InvokeDynamic because it triggers code paths to GraalVM
deleted MethodHandleNatives.setCallSiteTargetNormal
configuration.getOptimizationOptions().put(CompilerConfiguration.INVOKEDYNAMIC,
Boolean.FALSE);
configuration.setClasspathList(
-
curateOutcomeBuildItem.getApplicationModel().getDependencies().stream()
+
curateOutcomeBuildItem.getApplicationModel().getRuntimeDependencies().stream()
.map(ResolvedDependency::getResolvedPaths)
.flatMap(PathCollection::stream)
.map(Objects::toString)
diff --git
a/extensions/hl7/deployment/src/main/java/org/apache/camel/quarkus/component/hl7/deployment/Hl7Processor.java
b/extensions/hl7/deployment/src/main/java/org/apache/camel/quarkus/component/hl7/deployment/Hl7Processor.java
index 107778b8ed..10b477fad3 100644
---
a/extensions/hl7/deployment/src/main/java/org/apache/camel/quarkus/component/hl7/deployment/Hl7Processor.java
+++
b/extensions/hl7/deployment/src/main/java/org/apache/camel/quarkus/component/hl7/deployment/Hl7Processor.java
@@ -46,7 +46,7 @@ class Hl7Processor {
void indexDependencies(BuildProducer<IndexDependencyBuildItem>
indexedDependency, CurateOutcomeBuildItem curateOutcome) {
// Index any optional hapi-structures dependencies present on the
classpath
curateOutcome.getApplicationModel()
- .getDependencies()
+ .getRuntimeDependencies()
.stream()
.filter(appArtifact ->
appArtifact.getGroupId().equals(CA_UHN_HAPI_GROUP_ID)
&&
appArtifact.getArtifactId().startsWith("hapi-structures-"))
diff --git
a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
index 06cc366529..a4c41ada61 100644
---
a/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
+++
b/extensions/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
@@ -93,7 +93,7 @@ public class JavaJoorDslProcessor {
unit,
List.of(
"-classpath",
-
curateOutcomeBuildItem.getApplicationModel().getDependencies().stream()
+
curateOutcomeBuildItem.getApplicationModel().getRuntimeDependencies().stream()
.map(ResolvedDependency::getResolvedPaths)
.flatMap(PathCollection::stream)
.map(Objects::toString)
diff --git
a/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
b/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
index a0a37f6175..9d98746639 100644
---
a/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
+++
b/extensions/joor/deployment/src/main/java/org/apache/camel/quarkus/component/joor/deployment/JoorProcessor.java
@@ -132,7 +132,7 @@ class JoorProcessor {
unit.addClass(source.getClassName(), source.getSourceCode());
}
ApplicationModel model = curateOutcomeBuildItem.getApplicationModel();
- List<ResolvedDependency> dependencies = new
ArrayList<>(model.getDependencies());
+ List<ResolvedDependency> dependencies = new
ArrayList<>(model.getRuntimeDependencies());
dependencies.add(model.getAppArtifact());
LOG.debug("Compiling unit: {}", unit);
CompilationUnit.Result compilationResult = MultiCompile.compileUnit(
diff --git
a/extensions/quartz/deployment/src/main/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzProcessor.java
b/extensions/quartz/deployment/src/main/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzProcessor.java
index 6ddda865b3..53adb245b5 100644
---
a/extensions/quartz/deployment/src/main/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzProcessor.java
+++
b/extensions/quartz/deployment/src/main/java/org/apache/camel/quarkus/component/quartz/deployment/QuartzProcessor.java
@@ -79,7 +79,7 @@ class QuartzProcessor {
IndexView index = combinedIndex.getIndex();
ApplicationModel applicationModel =
curateOutcome.getApplicationModel();
- boolean oracleBlobIsPresent =
applicationModel.getDependencies().stream()
+ boolean oracleBlobIsPresent =
applicationModel.getRuntimeDependencies().stream()
.anyMatch(d ->
d.getGroupId().equals("com.oracle.database.jdbc"));
final String[] delegatesImpl = index
diff --git
a/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
b/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
index 192c72c029..5a89b8503a 100644
---
a/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
+++
b/extensions/xchange/deployment/src/main/java/org/apache/camel/quarkus/component/xchange/deployment/XchangeProcessor.java
@@ -63,7 +63,7 @@ class XchangeProcessor {
CurateOutcomeBuildItem curateOutcome) {
ApplicationModel applicationModel =
curateOutcome.getApplicationModel();
- for (ResolvedDependency dependency :
applicationModel.getDependencies()) {
+ for (ResolvedDependency dependency :
applicationModel.getRuntimeDependencies()) {
if (dependency.getGroupId().equals("org.knowm.xchange")) {
// Index any org.knowm.xchange dependencies present on the
classpath as they contain the APIs for interacting with each crypto exchange
String artifactId = dependency.getArtifactId();
diff --git a/integration-tests/amqp/pom.xml b/integration-tests/amqp/pom.xml
index c5649add15..cc28dd7772 100644
--- a/integration-tests/amqp/pom.xml
+++ b/integration-tests/amqp/pom.xml
@@ -48,6 +48,12 @@
<artifactId>quarkus-pooled-jms</artifactId>
</dependency>
+ <!-- Only present to verify
https://github.com/apache/camel-quarkus/issues/8783 -->
+ <dependency>
+ <groupId>io.quarkus</groupId>
+ <artifactId>quarkus-smallrye-openapi</artifactId>
+ </dependency>
+
<!-- test dependencies -->
<dependency>
<groupId>io.quarkus</groupId>