This is an automated email from the ASF dual-hosted git repository. orpiske pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push: new 6e04e35 CAMEL-17230: cleanup loading unpublished local Kamelets 6e04e35 is described below commit 6e04e3570a675f2bb7d412b692b39bebf3612f8d Author: Otavio Rodolfo Piske <opi...@redhat.com> AuthorDate: Thu Nov 25 11:26:32 2021 +0100 CAMEL-17230: cleanup loading unpublished local Kamelets --- .../org/apache/camel/dsl/jbang/core/commands/Run.java | 13 ++++++++----- .../src/main/java/org/apache/camel/main/KameletMain.java | 16 +++++++++++++--- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java index f6ec074..35ee8f8 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java @@ -109,7 +109,14 @@ class Run implements Callable<Integer> { // configure logging first RuntimeUtil.configureLog(loggingLevel); - KameletMain main = new KameletMain(); + KameletMain main; + + if (localKameletDir == null) { + main = new KameletMain(); + } else { + main = new KameletMain("file://" + localKameletDir); + } + main.addInitialProperty("camel.main.name", name); // shutdown quickly main.addInitialProperty("camel.main.shutdownTimeout", "5"); @@ -127,10 +134,6 @@ class Run implements Callable<Integer> { main.addInitialProperty("camel.main.durationMaxIdleSeconds", String.valueOf(maxIdleSeconds)); } - if (localKameletDir != null && !localKameletDir.isEmpty()) { - main.addInitialProperty("camel.component.kamelet.location", "file://" + localKameletDir); - } - if (fileLock) { lockFile = createLockFile(); if (!lockFile.exists()) { diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java index bb655ff..356fad4 100644 --- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java +++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java @@ -17,6 +17,7 @@ package org.apache.camel.main; import java.util.Map; +import java.util.Objects; import groovy.lang.GroovyClassLoader; import org.apache.camel.CamelContext; @@ -29,13 +30,22 @@ import org.apache.camel.spi.Registry; * A Main class for booting up Camel with Kamelet in standalone mode. */ public class KameletMain extends MainCommandLineSupport { + public static final String DEFAULT_KAMELETS_LOCATION = "classpath:/kamelets,github:apache:camel-kamelets/kamelets"; private static ClassLoader kameletClassLoader; protected final MainRegistry registry = new MainRegistry(); private boolean download = true; public KameletMain() { - configureInitialProperties(); + configureInitialProperties(DEFAULT_KAMELETS_LOCATION); + } + + public KameletMain(String overrides) { + Objects.requireNonNull(overrides); + + String locations = overrides + "," + DEFAULT_KAMELETS_LOCATION; + + configureInitialProperties(locations); } public static void main(String... args) throws Exception { @@ -170,8 +180,8 @@ public class KameletMain extends MainCommandLineSupport { /** * Sets initial properties that are specific to camel-kamelet-main */ - protected void configureInitialProperties() { - addInitialProperty("camel.component.kamelet.location", "classpath:/kamelets,github:apache:camel-kamelets/kamelets"); + protected void configureInitialProperties(String location) { + addInitialProperty("camel.component.kamelet.location", location); } }