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;