This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.14.x by this push:
new 2807edb5a0f1 CAMEL-22761 - Pick Maven repositories provided on Camel
JBang for (#20317)
2807edb5a0f1 is described below
commit 2807edb5a0f1d858546d66f2265de077827aefdc
Author: Aurélien Pupier <[email protected]>
AuthorDate: Tue Dec 9 18:11:39 2025 +0100
CAMEL-22761 - Pick Maven repositories provided on Camel JBang for (#20317)
actions related to Kamelet
Signed-off-by: Aurélien Pupier <[email protected]>
---
.../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 2 +-
.../org/apache/camel/dsl/jbang/core/commands/Init.java | 6 +++++-
.../camel/dsl/jbang/core/commands/catalog/CatalogDoc.java | 7 ++++---
.../jbang/core/commands/catalog/KameletCatalogHelper.java | 14 ++++++++------
4 files changed, 18 insertions(+), 11 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 34cebfef5908..928531796de6 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -447,7 +447,7 @@ public abstract class ExportBaseCommand extends
CamelCommand {
List<String> lines = RuntimeUtil.loadPropertiesLines(settings);
// check if we use custom and/or official ASF kamelets
- List<String> officialKamelets =
KameletCatalogHelper.findKameletNames(kameletsVersion);
+ List<String> officialKamelets =
KameletCatalogHelper.findKameletNames(kameletsVersion, repositories);
boolean kamelets = false;
boolean asfKamelets = false;
for (String line : lines) {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
index d12c9224ef9c..3221840bb6c0 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Init.java
@@ -76,6 +76,10 @@ public class Init extends CamelCommand {
description = "When creating a yaml file should it be created as a
Pipe CR")
private boolean pipe;
+ @Option(names = { "--repo", "--repos" },
+ description = "Additional maven repositories (Use commas to
separate multiple repositories)")
+ protected String repositories;
+
public Init(CamelJBangMain main) {
super(main);
}
@@ -118,7 +122,7 @@ public class Init extends CamelCommand {
kameletsVersion = VersionHelper.extractKameletsVersion();
}
// load existing kamelet
- is = KameletCatalogHelper.loadKameletYamlSchema(fromKamelet,
kameletsVersion);
+ is = KameletCatalogHelper.loadKameletYamlSchema(fromKamelet,
kameletsVersion, repositories);
} else if (file.contains("source")) {
ext = "kamelet-source.yaml";
} else if (file.contains("sink")) {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
index f12432d38dcb..b843f10c6dc9 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
@@ -144,7 +144,7 @@ public class CatalogDoc extends CamelCommand {
}
if (prefix == null || "kamelet".equals(prefix)) {
- KameletModel km = KameletCatalogHelper.loadKameletModel(name,
kameletsVersion);
+ KameletModel km = KameletCatalogHelper.loadKameletModel(name,
kameletsVersion, repos);
if (km != null) {
docKamelet(km);
return 0;
@@ -185,7 +185,8 @@ public class CatalogDoc extends CamelCommand {
boolean kamelet = name.endsWith("-sink") ||
name.endsWith("-source") || name.endsWith("-action");
if (kamelet) {
// kamelet names
- suggestions =
SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion),
name);
+ suggestions
+ =
SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion,
repos), name);
} else {
// assume its a component
suggestions =
SuggestSimilarHelper.didYouMean(findComponentNames(catalog), name);
@@ -199,7 +200,7 @@ public class CatalogDoc extends CamelCommand {
} else {
List<String> suggestions = switch (prefix) {
case "kamelet" ->
-
SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion),
name);
+
SuggestSimilarHelper.didYouMean(KameletCatalogHelper.findKameletNames(kameletsVersion,
repos), name);
case "component" ->
SuggestSimilarHelper.didYouMean(findComponentNames(catalog), name);
case "dataformat" ->
SuggestSimilarHelper.didYouMean(catalog.findDataFormatNames(), name);
case "language" ->
SuggestSimilarHelper.didYouMean(catalog.findLanguageNames(), name);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
index 3e6aa4763f7b..0511b3e40024 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/KameletCatalogHelper.java
@@ -33,8 +33,8 @@ public final class KameletCatalogHelper {
private KameletCatalogHelper() {
}
- public static List<String> findKameletNames(String version) throws
Exception {
- Map<String, Object> kamelets = loadKamelets(version);
+ public static List<String> findKameletNames(String version, String
repositories) throws Exception {
+ Map<String, Object> kamelets = loadKamelets(version, repositories);
return new ArrayList<>(kamelets.keySet());
}
@@ -140,12 +140,13 @@ public final class KameletCatalogHelper {
return (String) ObjectHelper.invokeMethod(m, meta);
}
- public static Map<String, Object> loadKamelets(String version) throws
Exception {
+ public static Map<String, Object> loadKamelets(String version, String
repositories) throws Exception {
var tccLoader = Thread.currentThread().getContextClassLoader();
try {
ClassLoader cl = createClassLoader();
MavenDependencyDownloader downloader = new
MavenDependencyDownloader();
downloader.setClassLoader(cl);
+ downloader.setRepositories(repositories);
downloader.start();
downloader.downloadDependency("org.apache.camel.kamelets",
"camel-kamelets-catalog", version);
@@ -159,12 +160,13 @@ public final class KameletCatalogHelper {
}
}
- public static InputStream loadKameletYamlSchema(String name, String
version) throws Exception {
+ public static InputStream loadKameletYamlSchema(String name, String
version, String repositories) throws Exception {
var tccLoader = Thread.currentThread().getContextClassLoader();
try {
ClassLoader cl = createClassLoader();
MavenDependencyDownloader downloader = new
MavenDependencyDownloader();
downloader.setClassLoader(cl);
+ downloader.setRepositories(repositories);
downloader.start();
downloader.downloadDependency("org.apache.camel.kamelets",
"camel-kamelets-catalog", version);
Thread.currentThread().setContextClassLoader(cl);
@@ -174,8 +176,8 @@ public final class KameletCatalogHelper {
}
}
- public static KameletModel loadKameletModel(String name, String version)
throws Exception {
- Map<String, Object> kamelets = loadKamelets(version);
+ public static KameletModel loadKameletModel(String name, String version,
String repositories) throws Exception {
+ Map<String, Object> kamelets = loadKamelets(version, repositories);
if (kamelets != null) {
Object k = kamelets.get(name);
if (k != null) {