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 2025/11/19 10:24:49 UTC
(camel) branch main updated: CAMEL-22696: camel-jbang: make modeline optional as its only used for jbang //DEPS style that is not relevant for traditional CSB/CEQ (#19980)
This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 81b3e72136b3 CAMEL-22696: camel-jbang: make modeline optional as its only used for jbang //DEPS style that is not relevant for traditional CSB/CEQ (#19980)
81b3e72136b3 is described below
commit 81b3e72136b31c30afd8cdc55c0885f884e6d8c1
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Nov 19 11:24:43 2025 +0100
CAMEL-22696: camel-jbang: make modeline optional as its only used for jbang //DEPS style that is not relevant for traditional CSB/CEQ (#19980)
---
.../java/org/apache/camel/impl/engine/DefaultRoutesLoader.java | 10 ++++++----
.../java/org/apache/camel/impl/engine/SimpleCamelContext.java | 8 ++------
.../src/main/java/org/apache/camel/main/RoutesConfigurer.java | 10 ++++++----
.../src/main/java/org/apache/camel/support/PluginHelper.java | 2 +-
4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
index 7faf18c30ceb..fc462f70087a 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRoutesLoader.java
@@ -132,11 +132,13 @@ public class DefaultRoutesLoader extends ServiceSupport implements RoutesLoader,
// first we need to parse for modeline to gather all the configurations
if (camelContext.isModeline()) {
+ // parse modelines for all resources (if camel-dsl-modeline JAR is on classpath)
ModelineFactory factory = PluginHelper.getModelineFactory(camelContext);
- for (Map.Entry<RoutesBuilderLoader, List<Resource>> entry : groups.entrySet()) {
- // parse modelines for all resources
- for (Resource resource : entry.getValue()) {
- factory.parseModeline(resource);
+ if (factory != null) {
+ for (Map.Entry<RoutesBuilderLoader, List<Resource>> entry : groups.entrySet()) {
+ for (Resource resource : entry.getValue()) {
+ factory.parseModeline(resource);
+ }
}
}
}
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index 9b855ffac68b..d96b9658a92e 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -273,12 +273,8 @@ public class SimpleCamelContext extends AbstractCamelContext {
ModelineFactory.FACTORY,
ModelineFactory.class);
- if (result.isPresent()) {
- return result.get();
- } else {
- throw new IllegalArgumentException(
- "Cannot find ModelineFactory on classpath. Add camel-dsl-modeline to classpath.");
- }
+ // camel-dsl-modeline is optional
+ return result.orElse(null);
}
@Override
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
index 1931ddbce0b1..eeba7982a96c 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/RoutesConfigurer.java
@@ -480,11 +480,13 @@ public class RoutesConfigurer extends ServiceSupport implements NonManagedServic
step = recorder.beginStep(RoutesConfigurer.class, "parseModeline", "Routes Configurer");
if (camelContext.isModeline()) {
- // parse modelines for all resources
+ // parse modelines for all resources (if camel-dsl-modeline JAR is on classpath)
ModelineFactory factory = PluginHelper.getModelineFactory(camelContext);
- for (Map.Entry<RoutesBuilderLoader, List<Resource>> entry : groups.entrySet()) {
- for (Resource resource : entry.getValue()) {
- factory.parseModeline(resource);
+ if (factory != null) {
+ for (Map.Entry<RoutesBuilderLoader, List<Resource>> entry : groups.entrySet()) {
+ for (Resource resource : entry.getValue()) {
+ factory.parseModeline(resource);
+ }
}
}
}
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
index 1ee27042bfa9..d69f86035151 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
@@ -253,7 +253,7 @@ public final class PluginHelper {
}
/**
- * Gets the {@link ModelineFactory}.
+ * Gets the {@link ModelineFactory} if present.
*/
public static ModelineFactory getModelineFactory(CamelContext camelContext) {
return getModelineFactory(camelContext.getCamelContextExtension());