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 9ed763c9fdad CAMEL-23563: Support @CommandLine.Mixin in JBang command 
doc generation (#23401)
9ed763c9fdad is described below

commit 9ed763c9fdad52465becdb7b7ec5a3a7ac0322bb
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu May 21 11:27:07 2026 +0200

    CAMEL-23563: Support @CommandLine.Mixin in JBang command doc generation 
(#23401)
    
    Co-authored-by: Claude <[email protected]>
---
 .../camel-jbang-catalog-component.adoc             |  7 +++++++
 .../camel-jbang-catalog-dataformat.adoc            |  7 +++++++
 .../camel-jbang-catalog-dev-console.adoc           |  7 +++++++
 .../camel-jbang-catalog-language.adoc              |  7 +++++++
 .../jbang-commands/camel-jbang-catalog-other.adoc  |  7 +++++++
 .../camel-jbang-catalog-transformer.adoc           |  7 +++++++
 .../jbang-commands/camel-jbang-cmd-receive.adoc    |  3 +++
 .../pages/jbang-commands/camel-jbang-cmd-send.adoc |  3 +++
 .../pages/jbang-commands/camel-jbang-debug.adoc    |  7 +++++++
 .../camel-jbang-dependency-copy.adoc               |  7 +++++++
 .../camel-jbang-dependency-list.adoc               |  7 +++++++
 .../camel-jbang-dependency-runtime.adoc            |  3 +++
 .../camel-jbang-dependency-update.adoc             |  7 +++++++
 .../ROOT/pages/jbang-commands/camel-jbang-doc.adoc |  7 +++++++
 .../camel-jbang-eval-expression.adoc               |  3 +++
 .../pages/jbang-commands/camel-jbang-export.adoc   |  7 +++++++
 .../ROOT/pages/jbang-commands/camel-jbang-run.adoc |  7 +++++++
 .../pages/jbang-commands/camel-jbang-sbom.adoc     |  7 +++++++
 .../camel-jbang-transform-message.adoc             |  3 +++
 .../camel-jbang-transform-route.adoc               |  3 +++
 .../jbang-commands/camel-jbang-update-run.adoc     | 15 ++++++++++++++
 .../jbang-commands/camel-jbang-version-list.adoc   |  4 ++++
 .../META-INF/camel-jbang-commands-metadata.json    | 24 +++++++++++-----------
 .../packaging/PrepareCamelJBangCommandsMojo.java   | 22 ++++++++++++++++++++
 24 files changed, 169 insertions(+), 12 deletions(-)

diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-component.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-component.adoc
index b57425711439..acf355d941c6 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-component.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-component.adoc
@@ -21,8 +21,15 @@ camel catalog component [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dataformat.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dataformat.adoc
index 4fc18cd1497c..6904df448adb 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dataformat.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dataformat.adoc
@@ -21,8 +21,15 @@ camel catalog dataformat [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dev-console.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dev-console.adoc
index 817b99076c22..a2db946ea8ed 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dev-console.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-dev-console.adoc
@@ -21,8 +21,15 @@ camel catalog dev-console [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-language.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-language.adoc
index c9d691bf3eb2..0273f6435232 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-language.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-language.adoc
@@ -21,8 +21,15 @@ camel catalog language [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-other.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-other.adoc
index 1f1bf2e42777..b0a3795d0979 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-other.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-other.adoc
@@ -21,8 +21,15 @@ camel catalog other [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-transformer.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-transformer.adoc
index a8d40e1cc37f..ada65367d9c1 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-transformer.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-catalog-transformer.adoc
@@ -21,8 +21,15 @@ camel catalog transformer [options]
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
 | `--display-gav` | Display Maven GAV instead of name | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--filter` | Filter by name or description |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--since-after` | Filter by version more recent (inclusive) |  | String
 | `--since-before` | Filter by version older (inclusive) |  | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc
index be7d06f01e2e..10ead1002ddc 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-receive.adoc
@@ -21,9 +21,11 @@ camel cmd receive [options]
 | Option | Description | Default | Type
 | `--action` | Action to start, stop, clear, status, or dump messages | status 
| String
 | `--compact` | Compact output (no empty line separating messages) | true | 
boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--endpoint,--uri` | Endpoint to receive messages from (can be uri or 
pattern to refer to existing endpoint) |  | String
 | `--find` | Find and highlight matching text (ignore case). |  | String
 | `--follow` | Keep following and outputting new messages (press enter to 
exit). | true | boolean
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--grep` | Filter messages to only output matching text (ignore case). |  | 
String
 | `--logging-color` | Use colored logging | true | boolean
 | `--mask` | Whether to mask endpoint URIs to avoid printing sensitive 
information such as password or access keys |  | boolean
@@ -33,6 +35,7 @@ camel cmd receive [options]
 | `--pretty` | Pretty print message body when using JSon or XML format |  | 
boolean
 | `--prop,--property` | Additional properties; override existing (only 
applicable when NOT using an existing running Camel) |  | String
 | `--properties` | comma separated list of properties file (only applicable 
when NOT using an existing running Camel) (ex. 
/path/to/file.properties,/path/to/other.properties |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--short-uri` | List endpoint URI without query parameters (short) |  | 
boolean
 | `--show-body` | Show message body in received messages | true | boolean
 | `--show-exchange-properties` | Show exchange properties in received messages 
| false | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-send.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-send.adoc
index a525a9003d2e..b509f055f75a 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-send.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-cmd-send.adoc
@@ -20,7 +20,9 @@ camel cmd send [options]
 |===
 | Option | Description | Default | Type
 | `--body` | Message body to send (prefix with file: to refer to loading 
message body from file) |  | String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--endpoint,--uri` | Endpoint where to send the message (can be uri, 
pattern, or refer to a route id) |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--header` | Message header (key=value) |  | List
 | `--infra` | Send to infrastructure service (e.g., nats, kafka) |  | String
 | `--logging-color` | Use colored logging | true | boolean
@@ -30,6 +32,7 @@ camel cmd send [options]
 | `--properties` | comma separated list of properties file (only applicable 
when NOT using an existing running Camel) (ex. 
/path/to/file.properties,/path/to/other.properties |  | String
 | `--reply` | Whether to expect a reply message (InOut vs InOut messaging 
style) |  | boolean
 | `--reply-file` | Saves reply message to the file with the given name 
(override if exists) |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--show-body` | Show message body from response message (InOut) | true | 
boolean
 | `--show-exception` | Show exception and stacktrace for failed messages | 
true | boolean
 | `--show-exchange-properties` | Show exchange properties from response 
message (InOut) | false | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc
index ec8d63b16da2..ce2a1538e161 100644
--- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-debug.adoc
@@ -29,9 +29,11 @@ camel debug [options]
 | `--code` | Run the given text or file as Java DSL routes |  | String
 | `--console` | Developer console at /q/dev on local HTTP server (port 8080 by 
default) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--empty` | Run an empty Camel without loading source files | false | boolean
 | `--example` | Run an example by name, or list available examples when no 
name is given. |  | String
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version (used during exporting) |  | 
String
 | `--health` _(deprecated)_ | Deprecated: use --observe instead. Health check 
at /q/health on local HTTP server (port 8080 by default) | false | boolean
 | `--ignore-loading-error` | Whether to ignore route loading and compilation 
errors (use this with care!) | false | boolean
@@ -71,8 +73,13 @@ camel debug [options]
 | `--prompt` | Allow user to type in required parameters in prompt if not 
present in application | false | boolean
 | `--prop,--property` | Additional properties (override existing) |  | String
 | `--properties` | comma separated list of properties file (ex. 
/path/to/file.properties,/path/to/other.properties |  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--reload,--dev` | Enables dev mode (live reload when source files are 
updated and saved) |  | boolean
 | `--remote-attach` | Attaches debugger remotely to an existing running Camel 
integration. (Add camel-cli-debug JAR to the existing Camel application and run 
before attaching this debugger) |  | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) | camel-main | 
RuntimeType
 | `--show-body` | Show message body in debug messages | true | boolean
 | `--show-exception` | Show exception and stacktrace for failed messages | 
true | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc
index 5165a1ebee44..1b85fcf61a1a 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-copy.adoc
@@ -25,8 +25,10 @@ camel dependency copy [options]
 | `--clean-dir` | If exporting to current directory (default) then all 
existing files are preserved. Enabling this option will force cleaning current 
directory including all sub dirs (use this with care) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
 | `--dir,--directory` | Directory where the project will be exported | . | 
String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--dry-run` | Preview export without writing files | false | boolean
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version |  | String
 | `--groovy-pre-compiled` | Whether to include pre-compiled Groovy classes in 
the export (only supported with runtime=camel-main) | false | boolean
 | `--hawtio` | Whether to include Hawtio web console (only available for 
exporting to Spring Boot or Quarkus) | false | boolean
@@ -55,8 +57,13 @@ camel dependency copy [options]
 | `--port` | Embeds a local HTTP server on this port |  | int
 | `--profile` | Profile to export (dev, test, prod). |  | String
 | `--prop,--property` | Camel application properties, ex. --property=prop1=foo 
|  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
 | `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | 
fast-jar | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--quiet` | Will be quiet, only print when error occurs | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--skip-plugins` | Skip plugins during export | false | boolean
 | `--spring-boot-version` | Spring Boot version | 
RuntimeType.SPRING_BOOT_VERSION | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc
index 058bc8ae9f31..eac74643b73c 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-list.adoc
@@ -25,8 +25,10 @@ camel dependency list [options]
 | `--clean-dir` | If exporting to current directory (default) then all 
existing files are preserved. Enabling this option will force cleaning current 
directory including all sub dirs (use this with care) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
 | `--dir,--directory` | Directory where the project will be exported | . | 
String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--dry-run` | Preview export without writing files | false | boolean
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version |  | String
 | `--groovy-pre-compiled` | Whether to include pre-compiled Groovy classes in 
the export (only supported with runtime=camel-main) | false | boolean
 | `--hawtio` | Whether to include Hawtio web console (only available for 
exporting to Spring Boot or Quarkus) | false | boolean
@@ -54,8 +56,13 @@ camel dependency list [options]
 | `--port` | Embeds a local HTTP server on this port |  | int
 | `--profile` | Profile to export (dev, test, prod). |  | String
 | `--prop,--property` | Camel application properties, ex. --property=prop1=foo 
|  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
 | `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | 
fast-jar | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--quiet` | Will be quiet, only print when error occurs | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--skip-plugins` | Skip plugins during export | false | boolean
 | `--spring-boot-version` | Spring Boot version | 
RuntimeType.SPRING_BOOT_VERSION | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-runtime.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-runtime.adoc
index dd3fd7920b51..1bcdc411d27e 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-runtime.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-runtime.adoc
@@ -19,7 +19,10 @@ camel dependency runtime [options]
 [cols="2,5,1,2",options="header"]
 |===
 | Option | Description | Default | Type
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--json` | Output in JSON Format |  | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `-h,--help` | Display the help and sub-commands |  | boolean
 |===
 
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc
index 21fecb9cb4a3..6fbb722f4360 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-dependency-update.adoc
@@ -26,8 +26,10 @@ camel dependency update [options]
 | `--clean-dir` | If exporting to current directory (default) then all 
existing files are preserved. Enabling this option will force cleaning current 
directory including all sub dirs (use this with care) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
 | `--dir,--directory` | Directory where the project will be exported | . | 
String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--dry-run` | Preview export without writing files | false | boolean
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version |  | String
 | `--groovy-pre-compiled` | Whether to include pre-compiled Groovy classes in 
the export (only supported with runtime=camel-main) | false | boolean
 | `--hawtio` | Whether to include Hawtio web console (only available for 
exporting to Spring Boot or Quarkus) | false | boolean
@@ -55,8 +57,13 @@ camel dependency update [options]
 | `--port` | Embeds a local HTTP server on this port |  | int
 | `--profile` | Profile to export (dev, test, prod). |  | String
 | `--prop,--property` | Camel application properties, ex. --property=prop1=foo 
|  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
 | `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | 
fast-jar | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--quiet` | Will be quiet, only print when error occurs | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--scan-routes` | Sync dependencies from route definitions. Only manages 
org.apache.camel dependencies, preserving non-Camel dependencies. Removes 
unused Camel dependencies. |  | boolean
 | `--skip-plugins` | Skip plugins during export | false | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-doc.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-doc.adoc
index c22f7bfd88d6..3bf6b1ae3b91 100644
--- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-doc.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-doc.adoc
@@ -20,11 +20,18 @@ camel doc [options]
 |===
 | Option | Description | Default | Type
 | `--camel-version` | To use a different Camel version than the default 
version |  | String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--example` | Prints a minimal working YAML route snippet for the component 
| false | boolean
 | `--filter` | Filter option listed in tables by name, description, or group | 
 | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--header` | Whether to display component message headers | false | boolean
 | `--kamelets-version` | Apache Camel Kamelets version | 
RuntimeType.KAMELETS_VERSION | String
 | `--open-url` | Opens the online documentation form the Camel website in the 
web browser | false | boolean
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--url` | Prints the link to the online documentation on the Camel website | 
false | boolean
 | `-h,--help` | Display the help and sub-commands |  | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-eval-expression.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-eval-expression.adoc
index 074162530159..fad65d52ced2 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-eval-expression.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-eval-expression.adoc
@@ -21,10 +21,13 @@ camel eval expression [options]
 | Option | Description | Default | Type
 | `--body` | Message body (prefix with file: to refer to loading message body 
from file) |  | String
 | `--camel-version` | To run using a different Camel version than the default 
version. |  | String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--header` | Message header (key=value) |  | List
 | `--isolated` | Whether to run evaluation isolated in local process | false | 
boolean
 | `--language` | Language to use | simple | String
 | `--predicate` | Whether to force evaluating as predicate | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--template` | The template to use for evaluating (prefix with file: to 
refer to loading template from file) |  | String
 | `--timeout` | Timeout in millis waiting for evaluation to be done | 10000 | 
long
 | `--watch` | Execute periodically and showing output fullscreen |  | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc
index 78319c3a6871..dec20b4cb352 100644
--- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-export.adoc
@@ -25,8 +25,10 @@ camel export [options]
 | `--clean-dir` | If exporting to current directory (default) then all 
existing files are preserved. Enabling this option will force cleaning current 
directory including all sub dirs (use this with care) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
 | `--dir,--directory` | Directory where the project will be exported | . | 
String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--dry-run` | Preview export without writing files | false | boolean
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version |  | String
 | `--groovy-pre-compiled` | Whether to include pre-compiled Groovy classes in 
the export (only supported with runtime=camel-main) | false | boolean
 | `--hawtio` | Whether to include Hawtio web console (only available for 
exporting to Spring Boot or Quarkus) | false | boolean
@@ -53,8 +55,13 @@ camel export [options]
 | `--port` | Embeds a local HTTP server on this port |  | int
 | `--profile` | Profile to export (dev, test, prod). |  | String
 | `--prop,--property` | Camel application properties, ex. --property=prop1=foo 
|  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
 | `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | 
fast-jar | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--quiet` | Will be quiet, only print when error occurs | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--skip-plugins` | Skip plugins during export | false | boolean
 | `--spring-boot-version` | Spring Boot version | 
RuntimeType.SPRING_BOOT_VERSION | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc
index 7bcb661fafcf..189ae3be182b 100644
--- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-run.adoc
@@ -27,9 +27,11 @@ camel run [options]
 | `--code` | Run the given text or file as Java DSL routes |  | String
 | `--console` | Developer console at /q/dev on local HTTP server (port 8080 by 
default) | false | boolean
 | `--dep,--dependency` | Add additional dependencies |  | List
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--empty` | Run an empty Camel without loading source files | false | boolean
 | `--example` | Run an example by name, or list available examples when no 
name is given. |  | String
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version (used during exporting) |  | 
String
 | `--health` _(deprecated)_ | Deprecated: use --observe instead. Health check 
at /q/health on local HTTP server (port 8080 by default) | false | boolean
 | `--ignore-loading-error` | Whether to ignore route loading and compilation 
errors (use this with care!) | false | boolean
@@ -65,7 +67,12 @@ camel run [options]
 | `--prompt` | Allow user to type in required parameters in prompt if not 
present in application | false | boolean
 | `--prop,--property` | Additional properties (override existing) |  | String
 | `--properties` | comma separated list of properties file (ex. 
/path/to/file.properties,/path/to/other.properties |  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--reload,--dev` | Enables dev mode (live reload when source files are 
updated and saved) |  | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) | camel-main | 
RuntimeType
 | `--skip-plugins` | Skip resolving plugin dependencies | false | boolean
 | `--source-dir` | Source directory for dynamically loading Camel file(s) to 
run. When using this, then files cannot be specified at the same time. |  | 
String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc
index 952194e58a14..7d81ebe299d6 100644
--- a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-sbom.adoc
@@ -26,8 +26,10 @@ camel sbom [options]
 | `--cyclonedx-plugin-version` | The CycloneDX Maven Plugin version | 2.9.1 | 
String
 | `--dep,--dependency` | Add additional dependencies |  | List
 | `--dir,--directory` | Directory where the project will be exported | . | 
String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--dry-run` | Preview export without writing files | false | boolean
 | `--exclude` | Exclude files by name or pattern |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--gav` | The Maven group:artifact:version |  | String
 | `--groovy-pre-compiled` | Whether to include pre-compiled Groovy classes in 
the export (only supported with runtime=camel-main) | false | boolean
 | `--hawtio` | Whether to include Hawtio web console (only available for 
exporting to Spring Boot or Quarkus) | false | boolean
@@ -56,8 +58,13 @@ camel sbom [options]
 | `--port` | Embeds a local HTTP server on this port |  | int
 | `--profile` | Profile to export (dev, test, prod). |  | String
 | `--prop,--property` | Camel application properties, ex. --property=prop1=foo 
|  | String
+| `--quarkus-artifact-id` _(deprecated)_ | Deprecated. This value is not used 
anymore. It is kept only for backwards compatibility and will be removed in 
Camel 5.x. Camel commands may use either 'quarkus-bom' or 'quarkus-camel-bom' 
artifactIds depending on the context. | quarkus-bom | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkus-group-id` | groupId of Quarkus Platform BOM; honored only if 
--quarkus-version is set | io.quarkus.platform | String
 | `--quarkus-package-type` | Quarkus package type (uber-jar or fast-jar) | 
fast-jar | String
+| `--quarkus-version` | version of Quarkus Platform BOM; the default value is 
looked up in Quarkus Extension Registry |  | String
 | `--quiet` | Will be quiet, only print when error occurs | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) |  | RuntimeType
 | `--sbom-format` | The SBOM format, possible values are cyclonedx or spdx | 
CYCLONEDX_FORMAT | String
 | `--sbom-output-format` | The SBOM output format, possible values are json or 
xml | SBOM_JSON_FORMAT | String
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-message.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-message.adoc
index 1dd228ec9460..634ac9b8a5a1 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-message.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-message.adoc
@@ -23,12 +23,15 @@ camel transform message [options]
 | `--camel-version` | To run using a different Camel version than the default 
version. |  | String
 | `--component` | The component to use for message transformation |  | String
 | `--dataformat` | The dataformat to use for message transformation |  | String
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--header` | Message header (key=value) |  | List
 | `--language` | The language to use for message transformation |  | String
 | `--logging-color` | Use colored logging | true | boolean
 | `--option` | Option for additional configuration of the used language, 
component or dataformat (key=value) |  | List
 | `--output` | File to store output. If none provide then output is printed to 
console. |  | String
 | `--pretty` | Pretty print message body when using JSon or XML format |  | 
boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--show-body` | Show message body from the output message | true | boolean
 | `--show-exception` | Show exception and stacktrace for failed transformation 
| true | boolean
 | `--show-exchange-properties` | Show exchange properties from the output 
message | false | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc
index 0420d476056b..4db629cee52f 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-transform-route.adoc
@@ -19,9 +19,12 @@ camel transform route [options]
 [cols="2,5,1,2",options="header"]
 |===
 | Option | Description | Default | Type
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--format` | Output format (xml, yaml), if only yaml files are provided, the 
format defaults to xml and vice versa |  | String
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--ignore-loading-error` | Whether to ignore route loading and compilation 
errors (use this with care!) |  | boolean
 | `--output` | File or directory to store transformed files. If none provide 
then output is printed to console. Use clipboard as name to copy content into 
clipboard. |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--resolve-placeholders` | Whether to resolve property placeholders in the 
dumped output | false | boolean
 | `--uri-as-parameters` | Whether to expand URIs into separated key/value 
parameters (only in use for YAML format) | true | boolean
 | `-h,--help` | Display the help and sub-commands |  | boolean
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-update-run.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-update-run.adoc
index cb162b49efb9..f4d696fb917a 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-update-run.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-update-run.adoc
@@ -19,6 +19,21 @@ camel update run [options]
 [cols="2,5,1,2",options="header"]
 |===
 | Option | Description | Default | Type
+| `--camelArtifact` | The Maven artifact coordinates for the Camel upgrade 
recipes. | camel-upgrade-recipes | String
+| `--camelSpringBootArtifact` | The Maven artifact coordinates for the Camel 
Spring Boot upgrade recipes. | camel-spring-boot-upgrade-recipes | String
+| `--debug` | Enables debug logging if set to true. | false | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
+| `--dryRun` | If set to true, performs a dry run of the update process 
without making any changes. | false | boolean
+| `--extraActiveRecipes` | Comma separated list of recipes to be executed 
after the Camel one, make sure the artifact containing the recipes is added via 
extraRecipeArtifactCoordinates |  | List
+| `--extraRecipeArtifactCoordinates` | Comma separated list of artifact 
coordinates containing extraActiveRecipes, ex.my.org:recipes:1.0.0 |  | List
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
+| `--openRewriteVersion` | The version of OpenRewrite to use during the update 
process. | 6.0.4 | String
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
+| `--quarkusMavenPluginGroupId` | The group ID of the Quarkus Maven plugin. | 
io.quarkus.platform | String
+| `--quarkusMavenPluginVersion` | The version of the Quarkus Maven plugin to 
use; the default value is looked up in Quarkus Extension Registry |  | String
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
+| `--runtime` | Runtime (camel-main, spring-boot, quarkus) | camel-main | 
RuntimeType
+| `--upgradeTimeout` | Time to wait, in seconds, before shutting down the 
upgrade process | 240 | int
 | `-h,--help` | Display the help and sub-commands |  | boolean
 |===
 
diff --git 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc
 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc
index 0687363a1b8d..bd86014fad09 100644
--- 
a/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc
+++ 
b/docs/user-manual/modules/ROOT/pages/jbang-commands/camel-jbang-version-list.adoc
@@ -21,13 +21,17 @@ camel version list [options]
 | Option | Description | Default | Type
 | `--date-format` | The format to show the date (such as dd-MM-yyyy) | 
DEFAULT_DATE_FORMAT | String
 | `--days` | Whether to include days since release | true | boolean
+| `--download` | Whether to allow automatic downloading JAR dependencies (over 
the internet) | true | boolean
 | `--eol` | Include releases that are end-of-life | true | boolean
+| `--fresh` | Make sure we use fresh (i.e. non-cached) resources | false | 
boolean
 | `--from-date` | Filter by release date (inclusive) |  | String
 | `--from-version` | Filter by Camel version (inclusive). Will start from 4.0 
if no version ranges provided. |  | String
 | `--json` | Output in JSON Format | false | boolean
 | `--lts` | Only show LTS supported releases | false | boolean
 | `--patch` | Whether to include patch releases (x.y.z) | true | boolean
+| `--quarkus-ext-registry` | The base URI of Quarkus Extension Registry. The 
default is {@value RuntimeType#QUARKUS_EXTENSION_REGISTRY_BASE_URL} unless 
camel.jbang.quarkus.platform.url system property is set (the /client/platforms 
suffix is removed if present). |  | String
 | `--rc` | Include also milestone or RC releases | false | boolean
+| `--repo,--repos` | Additional maven repositories for download on-demand (Use 
commas to separate multiple repositories) |  | String
 | `--runtime` | Runtime (camel-main, spring-boot, quarkus) | camel-main | 
RuntimeType
 | `--sort` | Sort by (version, date, or days) | version | String
 | `--tail` | The number of lines from the end of the table to show. |  | int
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json
 
b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json
index d029ed138d9e..689a7bf27e85 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/generated/resources/META-INF/camel-jbang-commands-metadata.json
@@ -1,18 +1,18 @@
 {
   "commands": [
     { "name": "bind", "fullName": "bind", "description": "DEPRECATED: Bind 
source and sink Kamelets as a new Camel integration", "deprecated": true, 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.bind.Bind", "options": 
[ { "names": "--error-handler", "description": "Add error handler 
(none|log|sink:<endpoint>). Sink endpoints are expected in the format 
[[apigroup\/]version:]kind:[namespace\/]name, plain Camel URIs or Kamelet 
name.", "javaType": "java.lang.String", "type": "stri [...]
-    { "name": "catalog", "fullName": "catalog", "description": "List artifacts 
from Camel Catalog", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.catalog.CatalogCommand", "options": [ 
{ "names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"component", "fullName": "catalog component", "description": "List components 
from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.co [...]
-    { "name": "cmd", "fullName": "cmd", "description": "Performs commands in 
the running Camel integrations, such as start\/stop route, or change logging 
levels.", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.action.CamelAction", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"browse", "fullName": "cmd browse", "description": "Browse pending messages on 
endpoints [...]
+    { "name": "catalog", "fullName": "catalog", "description": "List artifacts 
from Camel Catalog", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.catalog.CatalogCommand", "options": [ 
{ "names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"component", "fullName": "catalog component", "description": "List components 
from the Camel Catalog", "sourceClass": "org.apache.camel.dsl.jbang.co [...]
+    { "name": "cmd", "fullName": "cmd", "description": "Performs commands in 
the running Camel integrations, such as start\/stop route, or change logging 
levels.", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.action.CamelAction", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"browse", "fullName": "cmd browse", "description": "Browse pending messages on 
endpoints [...]
     { "name": "completion", "fullName": "completion", "description": "Generate 
completion script for bash\/zsh", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Complete", "options": [ { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ] },
     { "name": "config", "fullName": "config", "description": "Get and set user 
configuration values", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.config.ConfigCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", 
"fullName": "config get", "description": "Display user configuration value", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.config. [...]
-    { "name": "debug", "fullName": "debug", "description": "Debug local Camel 
integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", 
"options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd 
HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background", "description": "Run in the background", "defaultValue": 
"false", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background-wait", "description": "To  [...]
-    { "name": "dependency", "fullName": "dependency", "description": "Displays 
all Camel dependencies required to run", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"copy", "fullName": "dependency copy", "description": "Copies all Camel 
dependencies required to run to a specific directory", "sourc [...]
+    { "name": "debug", "fullName": "debug", "description": "Debug local Camel 
integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Debug", 
"options": [ { "names": "--ago", "description": "Use ago instead of yyyy-MM-dd 
HH:mm:ss in timestamp.", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background", "description": "Run in the background", "defaultValue": 
"false", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background-wait", "description": "To  [...]
+    { "name": "dependency", "fullName": "dependency", "description": "Displays 
all Camel dependencies required to run", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.DependencyCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"copy", "fullName": "dependency copy", "description": "Copies all Camel 
dependencies required to run to a specific directory", "sourc [...]
     { "name": "dirty", "fullName": "dirty", "description": "Check if there are 
dirty files from previous Camel runs that did not terminate gracefully", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.process.Dirty", 
"options": [ { "names": "--clean", "description": "Clean dirty files which are 
no longer in use", "defaultValue": "false", "javaType": "boolean", "type": 
"boolean" }, { "names": "-h,--help", "description": "Display the help and 
sub-commands", "javaType": "boolean", " [...]
-    { "name": "doc", "fullName": "doc", "description": "Shows documentation 
for kamelet, component, and other Camel resources", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDoc", "options": [ { 
"names": "--camel-version", "description": "To use a different Camel version 
than the default version", "javaType": "java.lang.String", "type": "string" }, 
{ "names": "--example", "description": "Prints a minimal working YAML route 
snippet for the component", "defaultVal [...]
+    { "name": "doc", "fullName": "doc", "description": "Shows documentation 
for kamelet, component, and other Camel resources", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDoc", "options": [ { 
"names": "--camel-version", "description": "To use a different Camel version 
than the default version", "javaType": "java.lang.String", "type": "string" }, 
{ "names": "--download", "description": "Whether to allow automatic downloading 
JAR dependencies (over the internet [...]
     { "name": "doctor", "fullName": "doctor", "description": "Checks the 
environment and reports potential issues", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Doctor", "options": [ { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ] },
-    { "name": "eval", "fullName": "eval", "description": "Evaluate Camel 
expressions and scripts", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.EvalCommand", "options": [ { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ], "subcommands": [ { "name": "expression", 
"fullName": "eval expression", "description": "Evaluates Camel expression", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.EvalEx [...]
+    { "name": "eval", "fullName": "eval", "description": "Evaluate Camel 
expressions and scripts", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.EvalCommand", "options": [ { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ], "subcommands": [ { "name": "expression", 
"fullName": "eval expression", "description": "Evaluates Camel expression", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.action.EvalEx [...]
     { "name": "explain", "fullName": "explain", "description": "Explain what a 
Camel route does using AI\/LLM", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Explain", "options": [ { "names": 
"--api-key", "description": "API key for authentication. Also reads 
OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", 
"type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' 
or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", "javaTyp [...]
-    { "name": "export", "fullName": "export", "description": "Export to other 
runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": 
"--build-property", "description": "Maven build properties, ex. 
--build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { 
"names": "--camel-spring-boot-version", "description": "Camel version to use 
with Spring Boot", "javaType": "java.lang.String", "ty [...]
+    { "name": "export", "fullName": "export", "description": "Export to other 
runtimes (Camel Main, Spring Boot, or Quarkus)", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Export", "options": [ { "names": 
"--build-property", "description": "Maven build properties, ex. 
--build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { 
"names": "--camel-spring-boot-version", "description": "Camel version to use 
with Spring Boot", "javaType": "java.lang.String", "ty [...]
     { "name": "get", "fullName": "get", "description": "Get status of Camel 
integrations", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.process.CamelStatus", "options": [ { 
"names": "--watch", "description": "Execute periodically and showing output 
fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ], "subcommands": [ { "name": "bean", 
"fullName": "get  [...]
     { "name": "harden", "fullName": "harden", "description": "Suggest security 
hardening for Camel routes using AI\/LLM", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Harden", "options": [ { "names": 
"--api-key", "description": "API key for authentication. Also reads 
OPENAI_API_KEY or LLM_API_KEY env vars", "javaType": "java.lang.String", 
"type": "string" }, { "names": "--api-type", "description": "API type: 'ollama' 
or 'openai' (OpenAI-compatible)", "defaultValue": "ollama", [...]
     { "name": "hawtio", "fullName": "hawtio", "description": "Launch Hawtio 
web console", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.process.Hawtio", "options": [ { 
"names": "--host", "description": "Hostname to bind the Hawtio web console to", 
"defaultValue": "127.0.0.1", "javaType": "java.lang.String", "type": "string" 
}, { "names": "--openUrl", "description": "To automatic open Hawtio web console 
in the web browser", "defaultValue": "true", "javaType": "boolean", "type": 
[...]
@@ -23,16 +23,16 @@
     { "name": "nano", "fullName": "nano", "description": "Nano editor to edit 
file", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Nano", 
"options": [ { "names": "-h,--help", "description": "Display the help and 
sub-commands", "javaType": "boolean", "type": "boolean" } ] },
     { "name": "plugin", "fullName": "plugin", "description": "Manage plugins 
that add sub-commands to this CLI", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.plugin.PluginCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "add", 
"fullName": "plugin add", "description": "Add new plugin", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.plugin.PluginA [...]
     { "name": "ps", "fullName": "ps", "description": "List running Camel 
integrations", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.process.ListProcess", "options": [ { 
"names": "--json", "description": "Output in JSON Format", "javaType": 
"boolean", "type": "boolean" }, { "names": "--pid", "description": "List only 
pid in the output", "javaType": "boolean", "type": "boolean" }, { "names": 
"--remote", "description": "Break down counters into remote\/total pairs", 
"javaType": [...]
-    { "name": "run", "fullName": "run", "description": "Run as local Camel 
integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", 
"options": [ { "names": "--background", "description": "Run in the background", 
"defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background-wait", "description": "To wait for run in background to startup 
successfully, before returning", "defaultValue": "true", "javaType": "boolean", 
"type": "boolean" }, { [...]
-    { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX 
or SPDX SBOM for a specific project", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { 
"names": "--build-property", "description": "Maven build properties, ex. 
--build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { 
"names": "--camel-spring-boot-version", "description": "Camel version to use 
with Spring Boot", "javaType": "java.lang.String", "type" [...]
+    { "name": "run", "fullName": "run", "description": "Run as local Camel 
integration", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Run", 
"options": [ { "names": "--background", "description": "Run in the background", 
"defaultValue": "false", "javaType": "boolean", "type": "boolean" }, { "names": 
"--background-wait", "description": "To wait for run in background to startup 
successfully, before returning", "defaultValue": "true", "javaType": "boolean", 
"type": "boolean" }, { [...]
+    { "name": "sbom", "fullName": "sbom", "description": "Generate a CycloneDX 
or SPDX SBOM for a specific project", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.SBOMGenerator", "options": [ { 
"names": "--build-property", "description": "Maven build properties, ex. 
--build-property=prop1=foo", "javaType": "java.util.List", "type": "array" }, { 
"names": "--camel-spring-boot-version", "description": "Camel version to use 
with Spring Boot", "javaType": "java.lang.String", "type" [...]
     { "name": "script", "fullName": "script", "description": "Run Camel 
integration as shell script for terminal scripting", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.Script", "options": [ { "names": 
"--logging", "description": "Can be used to turn on logging (logs to file in 
<user home>\/.camel directory)", "defaultValue": "false", "javaType": 
"boolean", "type": "boolean" }, { "names": "--logging-level", "description": 
"Logging level (ERROR, WARN, INFO, DEBUG, TRACE)", "d [...]
     { "name": "shell", "fullName": "shell", "description": "Interactive Camel 
JBang shell.", "sourceClass": "org.apache.camel.dsl.jbang.core.commands.Shell", 
"options": [ { "names": "-h,--help", "description": "Display the help and 
sub-commands", "javaType": "boolean", "type": "boolean" } ] },
     { "name": "stop", "fullName": "stop", "description": "Shuts down running 
Camel integrations", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.process.StopProcess", "options": [ { 
"names": "--kill", "description": "To force killing the process (SIGKILL)", 
"javaType": "boolean", "type": "boolean" }, { "names": "-h,--help", 
"description": "Display the help and sub-commands", "javaType": "boolean", 
"type": "boolean" } ] },
     { "name": "top", "fullName": "top", "description": "Top status of Camel 
integrations", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.process.CamelTop", "options": [ { 
"names": "--watch", "description": "Execute periodically and showing output 
fullscreen", "javaType": "boolean", "type": "boolean" }, { "names": 
"-h,--help", "description": "Display the help and sub-commands", "javaType": 
"boolean", "type": "boolean" } ], "subcommands": [ { "name": "context", 
"fullName": "top  [...]
     { "name": "trace", "fullName": "trace", "description": "Tail message 
traces from running Camel integrations", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.action.CamelTraceAction", "options": 
[ { "names": "--action", "description": "Action to start, stop, clear, list 
status, or dump traces", "defaultValue": "status", "javaType": 
"java.lang.String", "type": "string" }, { "names": "--ago", "description": "Use 
ago instead of yyyy-MM-dd HH:mm:ss in timestamp.", "javaType": "b [...]
-    { "name": "transform", "fullName": "transform", "description": "Transform 
message or Camel routes", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.TransformCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"dataweave", "fullName": "transform dataweave", "description": "Convert 
DataWeave scripts to DataSonnet format", "sourceClass": "org.apache.camel.dsl. 
[...]
-    { "name": "update", "fullName": "update", "description": "Update Camel 
project", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.update.UpdateCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"list", "fullName": "update list", "description": "List available update 
versions for Camel and its runtime variants", "sourceClass": 
"org.apache.camel.dsl.jbang.cor [...]
-    { "name": "version", "fullName": "version", "description": "Manage Camel 
versions", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ 
{ "names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", 
"fullName": "version get", "description": "Displays current Camel version", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", 
[...]
+    { "name": "transform", "fullName": "transform", "description": "Transform 
message or Camel routes", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.TransformCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"dataweave", "fullName": "transform dataweave", "description": "Convert 
DataWeave scripts to DataSonnet format", "sourceClass": "org.apache.camel.dsl. 
[...]
+    { "name": "update", "fullName": "update", "description": "Update Camel 
project", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.update.UpdateCommand", "options": [ { 
"names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": 
"list", "fullName": "update list", "description": "List available update 
versions for Camel and its runtime variants", "sourceClass": 
"org.apache.camel.dsl.jbang.cor [...]
+    { "name": "version", "fullName": "version", "description": "Manage Camel 
versions", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.version.VersionCommand", "options": [ 
{ "names": "-h,--help", "description": "Display the help and sub-commands", 
"javaType": "boolean", "type": "boolean" } ], "subcommands": [ { "name": "get", 
"fullName": "version get", "description": "Displays current Camel version", 
"sourceClass": "org.apache.camel.dsl.jbang.core.commands.version.VersionGet", 
[...]
     { "name": "wrapper", "fullName": "wrapper", "description": "Install Camel 
wrapper scripts for version pinning", "sourceClass": 
"org.apache.camel.dsl.jbang.core.commands.WrapperCommand", "options": [ { 
"names": "--camel-version", "description": "Camel version to pin (defaults to 
current version)", "javaType": "java.lang.String", "type": "string" }, { 
"names": "--command-name", "description": "The name of the command to use 
(camel or camelw)", "defaultValue": "camel", "javaType": "java [...]
   ]
 }
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java
index 44d099505283..8a829c39e4c6 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCamelJBangCommandsMojo.java
@@ -382,6 +382,22 @@ public class PrepareCamelJBangCommandsMojo extends 
AbstractGeneratorMojo {
                 }
             }
         }
+
+        // Also parse options from @CommandLine.Mixin fields
+        for (FieldSource<JavaClassSource> field : clazz.getFields()) {
+            if (hasMixinAnnotation(field)) {
+                String mixinTypeName = field.getType().getName();
+                File mixinFile = findClassFile(baseDir, mixinTypeName);
+                if (mixinFile != null && mixinFile.exists()) {
+                    try {
+                        JavaClassSource mixinClazz = (JavaClassSource) 
Roaster.parse(mixinFile);
+                        parseOptionsFromClassHierarchy(mixinClazz, options, 
mixinFile.getParentFile());
+                    } catch (Exception e) {
+                        getLog().debug("Could not parse mixin class: " + 
mixinTypeName + " - " + e.getMessage());
+                    }
+                }
+            }
+        }
     }
 
     private File findClassFile(File dir, String className) {
@@ -441,6 +457,12 @@ public class PrepareCamelJBangCommandsMojo extends 
AbstractGeneratorMojo {
         return null;
     }
 
+    private boolean hasMixinAnnotation(FieldSource<JavaClassSource> field) {
+        return field.getAnnotation("picocli.CommandLine.Mixin") != null
+                || field.getAnnotation("CommandLine.Mixin") != null
+                || field.getAnnotation("Mixin") != null;
+    }
+
     private AnnotationSource<?> findAnnotation(JavaClassSource clazz, String 
annotationName) {
         AnnotationSource<?> ann = clazz.getAnnotation("picocli.CommandLine." + 
annotationName);
         if (ann == null) {

Reply via email to