This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch dia2
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/dia2 by this push:
     new fba1736b45f6 CAMEL-23400: camel-diagram - prepare for being used in 
maven tooling and also as SPI in camel-core
fba1736b45f6 is described below

commit fba1736b45f6a6c8b6e525298e4c281c73cbc09b
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu May 7 15:40:57 2026 +0200

    CAMEL-23400: camel-diagram - prepare for being used in maven tooling and 
also as SPI in camel-core
---
 .../camel/catalog/main/camel-main-configuration-metadata.json  |  2 +-
 .../resources/META-INF/camel-main-configuration-metadata.json  |  2 +-
 core/camel-main/src/main/docs/main.adoc                        |  2 +-
 .../org/apache/camel/main/DefaultConfigurationProperties.java  | 10 ++++++++++
 4 files changed, 13 insertions(+), 3 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
index 702a8e2364f2..00c0e8ce0082 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/main/camel-main-configuration-metadata.json
@@ -55,7 +55,7 @@
     { "name": "camel.main.contextReloadEnabled", "required": false, 
"description": "Used for enabling context reloading. If enabled then Camel 
allow external systems such as security vaults (AWS secrets manager, etc.) to 
trigger refreshing Camel by updating property placeholders and reload all 
existing routes to take changes into effect.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false },
     { "name": "camel.main.description", "required": false, "description": 
"Sets the description (intended for humans) of the Camel application.", 
"sourceType": "org.apache.camel.main.DefaultConfigurationProperties", "type": 
"string", "javaType": "java.lang.String", "secret": false },
     { "name": "camel.main.devConsoleEnabled", "required": false, 
"description": "Whether to enable developer console (requires camel-console on 
classpath). The developer console is only for assisting during development. 
This is NOT for production usage.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false, "security": 
"insecure:dev" },
-    { "name": "camel.main.dumpRoutes", "required": false, "description": "If 
dumping is enabled then Camel will during startup dump all loaded routes (incl 
rests and route templates) represented as XML\/YAML DSL into the log. This is 
intended for trouble shooting or to assist during development. Sensitive 
information that may be configured in the route endpoints could potentially be 
included in the dump output and is therefore not recommended being used for 
production usage. This require [...]
+    { "name": "camel.main.dumpRoutes", "required": false, "description": "If 
dumping is enabled then Camel will during startup dump all loaded routes (incl 
rests and route templates) represented as XML\/YAML DSL into the log. This is 
intended for trouble shooting or to assist during development. Sensitive 
information that may be configured in the route endpoints could potentially be 
included in the dump output and is therefore not recommended being used for 
production usage. This require [...]
     { "name": "camel.main.dumpRoutesGeneratedIds", "required": false, 
"description": "Whether to include auto generated IDs in the dumped output. 
Default is false.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false },
     { "name": "camel.main.dumpRoutesInclude", "required": false, 
"description": "Controls what to include in output for route dumping. Possible 
values: all, routes, rests, routeConfigurations, routeTemplates, beans, 
dataFormats. Multiple values can be separated by comma. Default is routes.", 
"sourceType": "org.apache.camel.main.DefaultConfigurationProperties", "type": 
"string", "javaType": "java.lang.String", "defaultValue": "routes", "secret": 
false },
     { "name": "camel.main.dumpRoutesLog", "required": false, "description": 
"Whether to log route dumps to Logger", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": true, "secret": false },
diff --git 
a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
 
b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
index 00c0e8ce0082..2ade118a12ff 100644
--- 
a/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
+++ 
b/core/camel-main/src/generated/resources/META-INF/camel-main-configuration-metadata.json
@@ -55,7 +55,7 @@
     { "name": "camel.main.contextReloadEnabled", "required": false, 
"description": "Used for enabling context reloading. If enabled then Camel 
allow external systems such as security vaults (AWS secrets manager, etc.) to 
trigger refreshing Camel by updating property placeholders and reload all 
existing routes to take changes into effect.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false },
     { "name": "camel.main.description", "required": false, "description": 
"Sets the description (intended for humans) of the Camel application.", 
"sourceType": "org.apache.camel.main.DefaultConfigurationProperties", "type": 
"string", "javaType": "java.lang.String", "secret": false },
     { "name": "camel.main.devConsoleEnabled", "required": false, 
"description": "Whether to enable developer console (requires camel-console on 
classpath). The developer console is only for assisting during development. 
This is NOT for production usage.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false, "security": 
"insecure:dev" },
-    { "name": "camel.main.dumpRoutes", "required": false, "description": "If 
dumping is enabled then Camel will during startup dump all loaded routes (incl 
rests and route templates) represented as XML\/YAML DSL into the log. This is 
intended for trouble shooting or to assist during development. Sensitive 
information that may be configured in the route endpoints could potentially be 
included in the dump output and is therefore not recommended being used for 
production usage. This require [...]
+    { "name": "camel.main.dumpRoutes", "required": false, "description": "If 
dumping is enabled then Camel will during startup dump all loaded routes (incl 
rests and route templates) represented as XML\/YAML DSL into the log. This is 
intended for trouble shooting or to assist during development. Sensitive 
information that may be configured in the route endpoints could potentially be 
included in the dump output and is therefore not recommended being used for 
production usage. This require [...]
     { "name": "camel.main.dumpRoutesGeneratedIds", "required": false, 
"description": "Whether to include auto generated IDs in the dumped output. 
Default is false.", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": false, "secret": false },
     { "name": "camel.main.dumpRoutesInclude", "required": false, 
"description": "Controls what to include in output for route dumping. Possible 
values: all, routes, rests, routeConfigurations, routeTemplates, beans, 
dataFormats. Multiple values can be separated by comma. Default is routes.", 
"sourceType": "org.apache.camel.main.DefaultConfigurationProperties", "type": 
"string", "javaType": "java.lang.String", "defaultValue": "routes", "secret": 
false },
     { "name": "camel.main.dumpRoutesLog", "required": false, "description": 
"Whether to log route dumps to Logger", "sourceType": 
"org.apache.camel.main.DefaultConfigurationProperties", "type": "boolean", 
"javaType": "boolean", "defaultValue": true, "secret": false },
diff --git a/core/camel-main/src/main/docs/main.adoc 
b/core/camel-main/src/main/docs/main.adoc
index 0083d1f940c7..84cce8f09284 100644
--- a/core/camel-main/src/main/docs/main.adoc
+++ b/core/camel-main/src/main/docs/main.adoc
@@ -49,7 +49,7 @@ The camel.main supports 131 options, which are listed below.
 | *camel.main.contextReloadEnabled* | Used for enabling context reloading. If 
enabled then Camel allow external systems such as security vaults (AWS secrets 
manager, etc.) to trigger refreshing Camel by updating property placeholders 
and reload all existing routes to take changes into effect. | false | boolean
 | *camel.main.description* | Sets the description (intended for humans) of the 
Camel application. |  | String
 | *camel.main.devConsoleEnabled* | Whether to enable developer console 
(requires camel-console on classpath). The developer console is only for 
assisting during development. This is NOT for production usage. | false | 
boolean
-| *camel.main.dumpRoutes* | If dumping is enabled then Camel will during 
startup dump all loaded routes (incl rests and route templates) represented as 
XML/YAML DSL into the log. This is intended for trouble shooting or to assist 
during development. Sensitive information that may be configured in the route 
endpoints could potentially be included in the dump output and is therefore not 
recommended being used for production usage. This requires to have 
camel-xml-io/camel-yaml-io on the cla [...]
+| *camel.main.dumpRoutes* | If dumping is enabled then Camel will during 
startup dump all loaded routes (incl rests and route templates) represented as 
XML/YAML DSL into the log. This is intended for trouble shooting or to assist 
during development. Sensitive information that may be configured in the route 
endpoints could potentially be included in the dump output and is therefore not 
recommended being used for production usage. This requires to have 
camel-xml-io/camel-yaml-io on the cla [...]
 | *camel.main.dumpRoutesGeneratedIds* | Whether to include auto generated IDs 
in the dumped output. Default is false. | false | boolean
 | *camel.main.dumpRoutesInclude* | Controls what to include in output for 
route dumping. Possible values: all, routes, rests, routeConfigurations, 
routeTemplates, beans, dataFormats. Multiple values can be separated by comma. 
Default is routes. | routes | String
 | *camel.main.dumpRoutesLog* | Whether to log route dumps to Logger | true | 
boolean
diff --git 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
index 03dc3443eec2..33059fba3bee 100644
--- 
a/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
+++ 
b/core/camel-main/src/main/java/org/apache/camel/main/DefaultConfigurationProperties.java
@@ -1578,6 +1578,11 @@ public abstract class DefaultConfigurationProperties<T> {
      *
      * You can also use JSon which dumps the route structure in JSon. The JSon 
does not represent Camel DSL but it
      * useful for tooling to understand the structure of the routes and how 
EIPs are nested together.
+     *
+     * You can also use png to save route diagrams as PNG image files either 
all combined in a single file (default
+     * camel-route-diagrams.png) or to a given folder, where routes are 
grouped by source file name(s) and saved as
+     * corresponding .png files.\ This requires to have camel-diagram on the 
classpath to be able to render PNG
+     * diagrams.
      */
     public void setDumpRoutes(String dumpRoutes) {
         this.dumpRoutes = dumpRoutes;
@@ -2806,6 +2811,11 @@ public abstract class DefaultConfigurationProperties<T> {
      *
      * You can also use JSon which dumps the route structure in JSon. The JSon 
does not represent Camel DSL but it
      * useful for tooling to understand the structure of the routes and how 
EIPs are nested together.
+     *
+     * You can also use png to save route diagrams as PNG image files either 
all combined in a single file (default
+     * camel-route-diagrams.png) or to a given folder, where routes are 
grouped by source file name(s) and saved as
+     * corresponding .png files.\ This requires to have camel-diagram on the 
classpath to be able to render PNG
+     * diagrams.
      */
     public T withDumpRoutes(String dumpRoutes) {
         this.dumpRoutes = dumpRoutes;

Reply via email to