You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/02/28 14:26:35 UTC

(camel) 05/05: CAMEL-23102: camel-jbang - Automatic keep up to date list of Camel FactoryFinder as known dependencies

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

davsclaus pushed a commit to branch gradle
in repository https://gitbox.apache.org/repos/asf/camel.git

commit fc6b7335b1e081048bc0a3709332dffb8e1aa7bd
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Feb 28 14:42:30 2026 +0100

    CAMEL-23102: camel-jbang - Automatic keep up to date list of Camel FactoryFinder as known dependencies
---
 .../camel/main/download/DependencyDownloadFactoryFinder.java   | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloadFactoryFinder.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloadFactoryFinder.java
index f91038333b12..8691795cc0bc 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloadFactoryFinder.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloadFactoryFinder.java
@@ -46,6 +46,16 @@ public class DependencyDownloadFactoryFinder extends DefaultFactoryFinder {
         return super.findClass(key);
     }
 
+    @Override
+    public Optional<Class<?>> findOptionalClass(String key) {
+        // this is not optional so we can auto download the JAR as it's intended to be on the classpath
+        MavenGav gav = knownDependenciesResolver.mavenGavForClass(FactoryFinder.DEFAULT_PATH + key);
+        if (gav != null) {
+            downloadLoader(gav.getGroupId(), gav.getArtifactId(), gav.getVersion());
+        }
+        return super.findOptionalClass(key);
+    }
+
     private void downloadLoader(String groupId, String artifactId, String version) {
         if (!downloader.alreadyOnClasspath(groupId, artifactId, version)) {
             downloader.downloadDependency(groupId, artifactId, version);