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/08/13 09:26:13 UTC
(camel) branch main updated: CAMEL-24388: Guard against duplicate plugin subcommand registration
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 b9f9d833f1f0 CAMEL-24388: Guard against duplicate plugin subcommand registration
b9f9d833f1f0 is described below
commit b9f9d833f1f0e7ca2621cc3e948994b28a9d30d7
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Aug 13 11:26:07 2026 +0200
CAMEL-24388: Guard against duplicate plugin subcommand registration
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
.../org/apache/camel/dsl/jbang/core/common/PluginHelper.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
index a28c5c7c9eb7..1638540992c9 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginHelper.java
@@ -170,8 +170,9 @@ public final class PluginHelper {
// Maven resolution for plugins unrelated to the current command.
Map<String, Plugin> plugins = getActivePlugins(main, repos, target);
for (Map.Entry<String, Plugin> plugin : plugins.entrySet()) {
- // Skip if this plugin was already loaded from embedded plugins
- if (foundEmbeddedPlugins && commandLine.getSubcommands().containsKey(plugin.getKey())) {
+ // Skip if this plugin command is already registered (e.g. loaded from embedded plugins,
+ // or stale JSON config listing a plugin that is now built-in)
+ if (commandLine.getSubcommands().containsKey(plugin.getKey())) {
continue;
}
@@ -756,6 +757,11 @@ public final class PluginHelper {
}
}
+ // Skip if this plugin command is already registered
+ if (command != null && commandLine.getSubcommands().containsKey(command)) {
+ return true;
+ }
+
plugin.customize(commandLine, main);
return true;
}