You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2021/04/08 21:40:20 UTC

[camel] branch master updated (bf64346 -> 68680f2)

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

lburgazzoli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from bf64346  Sync deps
     new ea8fd08  dsl(groovy): use java to implement the route buiolder loader instead of groovy
     new 5e1d9c1  dsl: add common dsl module
     new 4b9091e  dsl: adapt to latest RouteBuilder support
     new 68680f2  dsl(kotlin): update license header

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 bom/camel-bom/pom.xml                              |  10 ++
 dsl/camel-dsl-support/pom.xml                      |  68 ++++++++
 .../support/EndpointRouteBuilderLoaderSupport.java |  42 +++++
 .../dsl/support/RouteBuilderLoaderSupport.java     |  79 +++++++++
 .../camel-groovy-dsl-common/pom.xml                |  99 ++++++++++++
 .../camel/dsl/groovy/common}/GroovyDSL.groovy      |  10 +-
 .../extensions/CamelContextExtensions.groovy       |   2 +-
 .../extensions/ExpressionClauseExtensions.groovy   |   2 +-
 .../ProcessorDefinitionExtensions.groovy           |   2 +-
 .../groovy/common}/model/BeanConfiguration.groovy  |   2 +-
 .../groovy/common}/model/BeansConfiguration.groovy |   2 +-
 .../groovy/common}/model/CamelConfiguration.groovy |   2 +-
 .../dsl/groovy/common}/model/Components.groovy     |   2 +-
 .../common}/model/ComponentsConfiguration.groovy   |   2 +-
 .../common}/model/DataFormatsConfiguration.groovy  |   2 +-
 .../common}/model/LanguagesConfiguration.groovy    |   2 +-
 .../groovy/common}/model/RestConfiguration.groovy  |   2 +-
 .../common}/model/RestVerbConfiguration.groovy     |   2 +-
 .../org.codehaus.groovy.runtime.ExtensionModule    |   6 +-
 .../src/main/resources/integration.gdsl            |   2 +-
 .../{ => camel-groovy-dsl-test}/pom.xml            |  40 +----
 .../dsl/groovy/GroovyRouteBuilderLoaderTest.groovy |   0
 .../apache/camel/dsl/groovy/support/MyBean.groovy  |   0
 .../src/test/resources/log4j2-test.properties      |   0
 .../test/resources/routes/issues/github-529.groovy |   0
 .../test/resources/routes/routes-with-beans.groovy |   0
 ...ith-component-wrong-method-configuration.groovy |   0
 ...h-component-wrong-property-configuration.groovy |   0
 .../routes-with-components-configuration.groovy    |   0
 .../routes-with-dataformats-configuration.groovy   |   0
 .../test/resources/routes/routes-with-eip.groovy   |   0
 .../routes/routes-with-endpoint-dsl.groovy         |   0
 .../routes/routes-with-error-handler.groovy        |   0
 .../routes-with-languages-configuration.groovy     |   0
 .../test/resources/routes/routes-with-rest.groovy  |   0
 .../src/test/resources/routes/routes.groovy        |   0
 dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml      |  82 ++++++++++
 .../services/org/apache/camel/routes-loader/groovy |   0
 .../src/main/docs/groovy-dsl.adoc                  |   0
 .../dsl/groovy/GroovyRoutesBuilderLoader.java      |  64 ++++++++
 dsl/camel-groovy-dsl/pom.xml                       | 178 ++-------------------
 .../dsl/groovy/GroovyRoutesBuilderLoader.groovy    |  68 --------
 .../dsl/groovy/GroovyRoutesBuilderSupport.groovy   |  44 -----
 dsl/camel-java-joor-dsl/pom.xml                    |   4 +
 .../dsl/java/joor/JavaRoutesBuilderLoader.java     |  38 +----
 dsl/camel-js-dsl/pom.xml                           |   2 +-
 .../dsl/js/JavaScriptRoutesBuilderLoader.java      |  43 +----
 dsl/camel-kotlin-dsl/pom.xml                       |   2 +-
 .../dsl/kotlin/KotlinCompilationConfiguration.kt   |   2 +-
 .../org/apache/camel/dsl/kotlin/KotlinConstants.kt |   2 +-
 .../org/apache/camel/dsl/kotlin/KotlinDSL.kt       |   2 +-
 .../camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt  |  42 +----
 .../camel/dsl/kotlin/model/BeansConfiguration.kt   |   2 +-
 .../camel/dsl/kotlin/model/CamelConfiguration.kt   |   2 +-
 .../dsl/kotlin/model/ComponentsConfiguration.kt    |   2 +-
 .../dsl/kotlin/model/DataFormatsConfiguration.kt   |   2 +-
 .../dsl/kotlin/model/LanguagesConfiguration.kt     |   2 +-
 .../dsl/kotlin/model/RegistryConfiguration.kt      |   2 +-
 .../camel/dsl/kotlin/model/RestConfiguration.kt    |   2 +-
 .../dsl/kotlin/model/RestVerbConfiguration.kt      |   2 +-
 dsl/camel-xml-io-dsl/pom.xml                       |   4 +
 .../camel/dsl/xml/io/XmlRoutesBuilderLoader.java   |  65 +++-----
 dsl/camel-xml-jaxb-dsl/pom.xml                     |   4 +
 .../dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java   |  65 +++-----
 dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml          |   6 +-
 .../camel/dsl/yaml/YamlRoutesBuilderLoader.java    |  30 +---
 dsl/pom.xml                                        |   1 +
 parent/pom.xml                                     |  10 ++
 68 files changed, 580 insertions(+), 574 deletions(-)
 create mode 100644 dsl/camel-dsl-support/pom.xml
 create mode 100644 dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/EndpointRouteBuilderLoaderSupport.java
 create mode 100644 dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
 create mode 100644 dsl/camel-groovy-dsl/camel-groovy-dsl-common/pom.xml
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/GroovyDSL.groovy (93%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/extensions/CamelContextExtensions.groovy (96%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/extensions/ExpressionClauseExtensions.groovy (97%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/extensions/ProcessorDefinitionExtensions.groovy (97%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/BeanConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/BeansConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/CamelConfiguration.groovy (97%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/Components.groovy (96%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/ComponentsConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/DataFormatsConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/LanguagesConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/RestConfiguration.groovy (96%)
 rename dsl/camel-groovy-dsl/{src/main/groovy/org/apache/camel/dsl/groovy => camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common}/model/RestVerbConfiguration.groovy (98%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-common}/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule (78%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-common}/src/main/resources/integration.gdsl (91%)
 copy dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/pom.xml (82%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/groovy/org/apache/camel/dsl/groovy/GroovyRouteBuilderLoaderTest.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/groovy/org/apache/camel/dsl/groovy/support/MyBean.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/log4j2-test.properties (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/issues/github-529.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-beans.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-component-wrong-method-configuration.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-component-wrong-property-configuration.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-components-configuration.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-dataformats-configuration.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-eip.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-endpoint-dsl.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-error-handler.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-languages-configuration.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes-with-rest.groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl-test}/src/test/resources/routes/routes.groovy (100%)
 create mode 100644 dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl}/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/groovy (100%)
 rename dsl/camel-groovy-dsl/{ => camel-groovy-dsl}/src/main/docs/groovy-dsl.adoc (100%)
 create mode 100644 dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
 delete mode 100644 dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.groovy
 delete mode 100644 dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.groovy

[camel] 01/04: dsl(groovy): use java to implement the route buiolder loader instead of groovy

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit ea8fd08a2f13cb5e5fe0b6950ebbbc6eb55e218f
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Apr 8 15:13:26 2021 +0200

    dsl(groovy): use java to implement the route buiolder loader instead of groovy
---
 bom/camel-bom/pom.xml                              |   5 +
 .../camel-groovy-dsl-common/pom.xml                |  99 ++++++++++++
 .../camel/dsl/groovy/common}/GroovyDSL.groovy      |  10 +-
 .../extensions/CamelContextExtensions.groovy       |   2 +-
 .../extensions/ExpressionClauseExtensions.groovy   |   2 +-
 .../ProcessorDefinitionExtensions.groovy           |   2 +-
 .../groovy/common}/model/BeanConfiguration.groovy  |   2 +-
 .../groovy/common}/model/BeansConfiguration.groovy |   2 +-
 .../groovy/common}/model/CamelConfiguration.groovy |   2 +-
 .../dsl/groovy/common}/model/Components.groovy     |   2 +-
 .../common}/model/ComponentsConfiguration.groovy   |   2 +-
 .../common}/model/DataFormatsConfiguration.groovy  |   2 +-
 .../common}/model/LanguagesConfiguration.groovy    |   2 +-
 .../groovy/common}/model/RestConfiguration.groovy  |   2 +-
 .../common}/model/RestVerbConfiguration.groovy     |   2 +-
 .../org.codehaus.groovy.runtime.ExtensionModule    |   6 +-
 .../src/main/resources/integration.gdsl            |   2 +-
 .../{ => camel-groovy-dsl-test}/pom.xml            |  40 +----
 .../dsl/groovy/GroovyRouteBuilderLoaderTest.groovy |   0
 .../apache/camel/dsl/groovy/support/MyBean.groovy  |   0
 .../src/test/resources/log4j2-test.properties      |   0
 .../test/resources/routes/issues/github-529.groovy |   0
 .../test/resources/routes/routes-with-beans.groovy |   0
 ...ith-component-wrong-method-configuration.groovy |   0
 ...h-component-wrong-property-configuration.groovy |   0
 .../routes-with-components-configuration.groovy    |   0
 .../routes-with-dataformats-configuration.groovy   |   0
 .../test/resources/routes/routes-with-eip.groovy   |   0
 .../routes/routes-with-endpoint-dsl.groovy         |   0
 .../routes/routes-with-error-handler.groovy        |   0
 .../routes-with-languages-configuration.groovy     |   0
 .../test/resources/routes/routes-with-rest.groovy  |   0
 .../src/test/resources/routes/routes.groovy        |   0
 dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml      |  78 +++++++++
 .../services/org/apache/camel/routes-loader/groovy |   0
 .../src/main/docs/groovy-dsl.adoc                  |   0
 .../dsl/groovy/GroovyRoutesBuilderLoader.java}     |  48 +++---
 .../dsl/groovy/GroovyRoutesBuilderSupport.java     |  53 ++++++
 dsl/camel-groovy-dsl/pom.xml                       | 178 ++-------------------
 .../dsl/groovy/GroovyRoutesBuilderSupport.groovy   |  44 -----
 parent/pom.xml                                     |   5 +
 41 files changed, 302 insertions(+), 290 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 4a52281..5dadc0e 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -839,6 +839,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-groovy-dsl-common</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-grpc</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl-common/pom.xml b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/pom.xml
new file mode 100644
index 0000000..1170df7
--- /dev/null
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/pom.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-groovy-dsl-parent</artifactId>
+        <version>3.10.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-groovy-dsl-common</artifactId>
+    <packaging>jar</packaging>
+    <name>Camel :: Groovy DSL :: Common</name>
+    <description>Camel DSL with Groovy (Common)</description>
+
+    <properties>
+        <sourcecheckExcludes>
+            **/resources/**/My*.java
+        </sourcecheckExcludes>
+        <sourcecheckExcludesComma>
+            ${sourcecheckExcludes},
+        </sourcecheckExcludesComma>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-model</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-endpointdsl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.gmavenplus</groupId>
+                <artifactId>gmavenplus-plugin</artifactId>
+                <version>${gmavenplus-plugin-version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>addSources</goal>
+                            <goal>addTestSources</goal>
+                            <goal>compile</goal>
+                            <goal>compileTests</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <invokeDynamic>true</invokeDynamic>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-package-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate-spi</id>
+                        <goals>
+                            <goal>generate-spi</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyDSL.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/GroovyDSL.groovy
similarity index 93%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyDSL.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/GroovyDSL.groovy
index 81fba6c..171fea4 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyDSL.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/GroovyDSL.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy
+package org.apache.camel.dsl.groovy.common
 
 import org.apache.camel.Exchange
 import org.apache.camel.Predicate
@@ -24,10 +24,10 @@ import org.apache.camel.builder.EndpointConsumerBuilder
 import org.apache.camel.builder.ErrorHandlerBuilder
 import org.apache.camel.builder.endpoint.EndpointBuilderFactory
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder
-import org.apache.camel.dsl.groovy.model.BeansConfiguration
-import org.apache.camel.dsl.groovy.model.CamelConfiguration
-import org.apache.camel.dsl.groovy.model.Components
-import org.apache.camel.dsl.groovy.model.RestConfiguration
+import org.apache.camel.dsl.groovy.common.model.BeansConfiguration
+import org.apache.camel.dsl.groovy.common.model.CamelConfiguration
+import org.apache.camel.dsl.groovy.common.model.Components
+import org.apache.camel.dsl.groovy.common.model.RestConfiguration
 import org.apache.camel.model.InterceptDefinition
 import org.apache.camel.model.InterceptFromDefinition
 import org.apache.camel.model.InterceptSendToEndpointDefinition
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/CamelContextExtensions.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/CamelContextExtensions.groovy
similarity index 96%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/CamelContextExtensions.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/CamelContextExtensions.groovy
index 39065e1..6387950 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/CamelContextExtensions.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/CamelContextExtensions.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.extensions
+package org.apache.camel.dsl.groovy.common.extensions
 
 import groovy.transform.CompileStatic
 import org.apache.camel.CamelContext
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ExpressionClauseExtensions.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ExpressionClauseExtensions.groovy
similarity index 97%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ExpressionClauseExtensions.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ExpressionClauseExtensions.groovy
index 9257f13..0696af4 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ExpressionClauseExtensions.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ExpressionClauseExtensions.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.extensions
+package org.apache.camel.dsl.groovy.common.extensions
 
 import groovy.transform.CompileStatic
 import org.apache.camel.Message
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ProcessorDefinitionExtensions.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ProcessorDefinitionExtensions.groovy
similarity index 97%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ProcessorDefinitionExtensions.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ProcessorDefinitionExtensions.groovy
index d23d97f..38f7300 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/extensions/ProcessorDefinitionExtensions.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/extensions/ProcessorDefinitionExtensions.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.extensions
+package org.apache.camel.dsl.groovy.common.extensions
 
 import groovy.transform.CompileStatic
 import org.apache.camel.Exchange
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeanConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeanConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy
index ecf5756..018e9c9 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeanConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeanConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.ExtendedCamelContext
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeansConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeansConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeansConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeansConfiguration.groovy
index 8676217..fed4ea4 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/BeansConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/BeansConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.Exchange
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/CamelConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/CamelConfiguration.groovy
similarity index 97%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/CamelConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/CamelConfiguration.groovy
index ae9c732..51c2f29 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/CamelConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/CamelConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/Components.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/Components.groovy
similarity index 96%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/Components.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/Components.groovy
index b2af1b8..c63d9b7 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/Components.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/Components.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.Component
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/ComponentsConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/ComponentsConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/ComponentsConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/ComponentsConfiguration.groovy
index 2d5cff1..3fd738c 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/ComponentsConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/ComponentsConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.Component
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/DataFormatsConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/DataFormatsConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/DataFormatsConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/DataFormatsConfiguration.groovy
index 237d352..9c68712 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/DataFormatsConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/DataFormatsConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.spi.DataFormat
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/LanguagesConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/LanguagesConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/LanguagesConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/LanguagesConfiguration.groovy
index a34dc17..ce23df9 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/LanguagesConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/LanguagesConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.CamelContext
 import org.apache.camel.spi.Language
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestConfiguration.groovy
similarity index 96%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestConfiguration.groovy
index ccaae28..fc974ea 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.builder.RouteBuilder
 import org.apache.camel.model.rest.RestConfigurationDefinition
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestVerbConfiguration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestVerbConfiguration.groovy
similarity index 98%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestVerbConfiguration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestVerbConfiguration.groovy
index ec76e5f..a833702 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/model/RestVerbConfiguration.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/groovy/org/apache/camel/dsl/groovy/common/model/RestVerbConfiguration.groovy
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy.model
+package org.apache.camel.dsl.groovy.common.model
 
 import org.apache.camel.builder.RouteBuilder
 import org.apache.camel.model.rest.RestDefinition
diff --git a/dsl/camel-groovy-dsl/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
similarity index 78%
rename from dsl/camel-groovy-dsl/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
index 1202b5b..f55cd66 100644
--- a/dsl/camel-groovy-dsl/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule
@@ -18,6 +18,6 @@
 moduleName=camel-k-loader-groovy
 moduleVersion=1.0.0
 extensionClasses=\
-  org.apache.camel.dsl.groovy.extensions.ExpressionClauseExtensions,\
-  org.apache.camel.dsl.groovy.extensions.ProcessorDefinitionExtensions,\
-  org.apache.camel.dsl.groovy.extensions.CamelContextExtensions
+  org.apache.camel.dsl.groovy.common.extensions.ExpressionClauseExtensions,\
+  org.apache.camel.dsl.groovy.common.extensions.ProcessorDefinitionExtensions,\
+  org.apache.camel.dsl.groovy.common.extensions.CamelContextExtensions
diff --git a/dsl/camel-groovy-dsl/src/main/resources/integration.gdsl b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/integration.gdsl
similarity index 91%
rename from dsl/camel-groovy-dsl/src/main/resources/integration.gdsl
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/integration.gdsl
index 05aff0e..408cf3d 100644
--- a/dsl/camel-groovy-dsl/src/main/resources/integration.gdsl
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-common/src/main/resources/integration.gdsl
@@ -17,5 +17,5 @@
 def ctx = context(scope: scriptScope())
 
 contributor(ctx) {
-    delegatesTo(findClass('org.apache.camel.dsl.groovy.GroovyDSL'))
+    delegatesTo(findClass('org.apache.camel.dsl.groovy.common.GroovyDSL'))
 }
\ No newline at end of file
diff --git a/dsl/camel-groovy-dsl/pom.xml b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/pom.xml
similarity index 82%
copy from dsl/camel-groovy-dsl/pom.xml
copy to dsl/camel-groovy-dsl/camel-groovy-dsl-test/pom.xml
index dd73859..2e0d129 100644
--- a/dsl/camel-groovy-dsl/pom.xml
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/pom.xml
@@ -24,19 +24,18 @@
 
     <parent>
         <groupId>org.apache.camel</groupId>
-        <artifactId>dsl</artifactId>
+        <artifactId>camel-groovy-dsl-parent</artifactId>
         <version>3.10.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>camel-groovy-dsl</artifactId>
+    <artifactId>camel-groovy-dsl-test</artifactId>
     <packaging>jar</packaging>
-    <name>Camel :: Groovy DSL</name>
-    <description>Camel DSL with Groovy</description>
+    <name>Camel :: Groovy DSL :: Test</name>
+    <description>Camel DSL with Groovy (Test)</description>
 
     <properties>
-        <firstVersion>3.9.0</firstVersion>
         <sourcecheckExcludes>
-            **/resources/**/My*.java
+            **/resources/**/*.groovy
         </sourcecheckExcludes>
         <sourcecheckExcludesComma>
             ${sourcecheckExcludes},
@@ -46,24 +45,11 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-model</artifactId>
+            <artifactId>camel-groovy-dsl</artifactId>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-endpointdsl</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
             <artifactId>camel-main</artifactId>
             <scope>test</scope>
         </dependency>
@@ -182,18 +168,6 @@
                     <invokeDynamic>true</invokeDynamic>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-package-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>generate-spi</id>
-                        <goals>
-                            <goal>generate-spi</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
     </build>
 
diff --git a/dsl/camel-groovy-dsl/src/test/groovy/org/apache/camel/dsl/groovy/GroovyRouteBuilderLoaderTest.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/groovy/org/apache/camel/dsl/groovy/GroovyRouteBuilderLoaderTest.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/groovy/org/apache/camel/dsl/groovy/GroovyRouteBuilderLoaderTest.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/groovy/org/apache/camel/dsl/groovy/GroovyRouteBuilderLoaderTest.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/groovy/org/apache/camel/dsl/groovy/support/MyBean.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/groovy/org/apache/camel/dsl/groovy/support/MyBean.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/groovy/org/apache/camel/dsl/groovy/support/MyBean.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/groovy/org/apache/camel/dsl/groovy/support/MyBean.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/log4j2-test.properties b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/log4j2-test.properties
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/log4j2-test.properties
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/log4j2-test.properties
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/issues/github-529.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/issues/github-529.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/issues/github-529.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/issues/github-529.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-beans.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-beans.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-beans.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-beans.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-component-wrong-method-configuration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-component-wrong-method-configuration.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-component-wrong-method-configuration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-component-wrong-method-configuration.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-component-wrong-property-configuration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-component-wrong-property-configuration.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-component-wrong-property-configuration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-component-wrong-property-configuration.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-components-configuration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-components-configuration.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-components-configuration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-components-configuration.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-dataformats-configuration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-dataformats-configuration.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-dataformats-configuration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-dataformats-configuration.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-eip.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-eip.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-eip.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-eip.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-endpoint-dsl.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-endpoint-dsl.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-endpoint-dsl.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-endpoint-dsl.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-error-handler.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-error-handler.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-error-handler.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-error-handler.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-languages-configuration.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-languages-configuration.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-languages-configuration.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-languages-configuration.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-rest.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-rest.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes-with-rest.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes-with-rest.groovy
diff --git a/dsl/camel-groovy-dsl/src/test/resources/routes/routes.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes.groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/test/resources/routes/routes.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl-test/src/test/resources/routes/routes.groovy
diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
new file mode 100644
index 0000000..fba542c
--- /dev/null
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-groovy-dsl-parent</artifactId>
+        <version>3.10.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-groovy-dsl</artifactId>
+    <packaging>jar</packaging>
+    <name>Camel :: Groovy DSL</name>
+    <description>Camel DSL with Groovy</description>
+
+    <properties>
+        <firstVersion>3.9.0</firstVersion>
+        <sourcecheckExcludes>
+            **/resources/**/My*.java
+        </sourcecheckExcludes>
+        <sourcecheckExcludesComma>
+            ${sourcecheckExcludes},
+        </sourcecheckExcludesComma>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-model</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-groovy-dsl-common</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-package-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate-spi</id>
+                        <goals>
+                            <goal>generate-spi</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/groovy
similarity index 100%
rename from dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl/src/generated/resources/META-INF/services/org/apache/camel/routes-loader/groovy
diff --git a/dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
similarity index 100%
rename from dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
rename to dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.groovy b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
similarity index 57%
rename from dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.groovy
rename to dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
index 2ad2a05..470d928 100644
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.groovy
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
@@ -14,54 +14,54 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.dsl.groovy
+package org.apache.camel.dsl.groovy;
 
-import org.apache.camel.Experimental
-import org.apache.camel.ExtendedCamelContext
-import org.apache.camel.RoutesBuilder
-import org.apache.camel.StartupStep
-import org.apache.camel.api.management.ManagedAttribute
-import org.apache.camel.api.management.ManagedResource
-import org.apache.camel.builder.endpoint.EndpointRouteBuilder
-import org.apache.camel.spi.Resource
-import org.apache.camel.spi.StartupStepRecorder
-import org.apache.camel.spi.annotations.RoutesLoader
-import org.apache.camel.support.RoutesBuilderLoaderSupport
+import org.apache.camel.Experimental;
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.StartupStep;
+import org.apache.camel.api.management.ManagedAttribute;
+import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
+import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.StartupStepRecorder;
+import org.apache.camel.spi.annotations.RoutesLoader;
+import org.apache.camel.support.RoutesBuilderLoaderSupport;
 
 @Experimental
 @ManagedResource(description = "Managed GroovyRoutesBuilderLoader")
-@RoutesLoader(EXTENSION)
-class GroovyRoutesBuilderLoader  extends RoutesBuilderLoaderSupport {
-    public static final String EXTENSION = "groovy"
+@RoutesLoader(GroovyRoutesBuilderLoader.EXTENSION)
+public class GroovyRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+    public static final String EXTENSION = "groovy";
 
-    private StartupStepRecorder recorder
+    private StartupStepRecorder recorder;
 
     @Override
     protected void doBuild() throws Exception {
-        super.doBuild()
+        super.doBuild();
 
         if (getCamelContext() != null) {
-            this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder()
+            this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
         }
     }
 
     @ManagedAttribute(description = "Supported file extension")
     @Override
-    String getSupportedExtension() {
-        return EXTENSION
+    public String getSupportedExtension() {
+        return EXTENSION;
     }
 
     @Override
-    RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
         StartupStep step = recorder != null
                 ? recorder.beginStep(GroovyRoutesBuilderLoader.class, resource.getLocation(), "Compiling RouteBuilder")
-                : null
+                : null;
 
         try {
-            return EndpointRouteBuilder.loadEndpointRoutesBuilder(resource, GroovyRoutesBuilderSupport::load)
+            return EndpointRouteBuilder.loadEndpointRoutesBuilder(resource, GroovyRoutesBuilderSupport::load);
         } finally {
             if (recorder != null) {
-                recorder.endStep(step)
+                recorder.endStep(step);
             }
         }
     }
diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java
new file mode 100644
index 0000000..a28ed79
--- /dev/null
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dsl.groovy;
+
+import java.io.Reader;
+
+import groovy.lang.Binding;
+import groovy.lang.GroovyShell;
+import groovy.util.DelegatingScript;
+import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
+import org.apache.camel.dsl.groovy.common.GroovyDSL;
+import org.codehaus.groovy.control.CompilerConfiguration;
+import org.codehaus.groovy.control.customizers.ImportCustomizer;
+
+public final class GroovyRoutesBuilderSupport {
+    private GroovyRoutesBuilderSupport() {
+    }
+
+    static void load(Reader reader, EndpointRouteBuilder builder) {
+        ImportCustomizer ic = new ImportCustomizer();
+        ic.addStarImports("org.apache.camel");
+        ic.addStarImports("org.apache.camel.spi");
+
+        CompilerConfiguration cc = new CompilerConfiguration();
+        cc.addCompilationCustomizers(ic);
+        cc.setScriptBaseClass(DelegatingScript.class.getName());
+
+        ClassLoader cl = builder.getContext().getApplicationContextClassLoader() != null
+                ? builder.getContext().getApplicationContextClassLoader()
+                : Thread.currentThread().getContextClassLoader();
+
+        GroovyShell sh = new GroovyShell(cl, new Binding(), cc);
+        DelegatingScript script = (DelegatingScript) sh.parse(reader);
+
+        // set the delegate target
+        script.setDelegate(new GroovyDSL(builder));
+        script.run();
+    }
+}
diff --git a/dsl/camel-groovy-dsl/pom.xml b/dsl/camel-groovy-dsl/pom.xml
index dd73859..e0dc529 100644
--- a/dsl/camel-groovy-dsl/pom.xml
+++ b/dsl/camel-groovy-dsl/pom.xml
@@ -28,173 +28,15 @@
         <version>3.10.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>camel-groovy-dsl</artifactId>
-    <packaging>jar</packaging>
-    <name>Camel :: Groovy DSL</name>
-    <description>Camel DSL with Groovy</description>
-
-    <properties>
-        <firstVersion>3.9.0</firstVersion>
-        <sourcecheckExcludes>
-            **/resources/**/My*.java
-        </sourcecheckExcludes>
-        <sourcecheckExcludesComma>
-            ${sourcecheckExcludes},
-        </sourcecheckExcludesComma>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-support</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-model</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-endpointdsl</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-main</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-direct</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-rest</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-mock</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-core-languages</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-bean</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-log</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-telegram</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-seda</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-jackson</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-timer</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.junit.jupiter</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.spockframework</groupId>
-            <artifactId>spock-core</artifactId>
-            <version>${spock-version}</version>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.codehaus.groovy</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>junit</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-slf4j-impl</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.logging.log4j</groupId>
-            <artifactId>log4j-jcl</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.gmavenplus</groupId>
-                <artifactId>gmavenplus-plugin</artifactId>
-                <version>${gmavenplus-plugin-version}</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>addSources</goal>
-                            <goal>addTestSources</goal>
-                            <goal>compile</goal>
-                            <goal>compileTests</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <invokeDynamic>true</invokeDynamic>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.camel</groupId>
-                <artifactId>camel-package-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>generate-spi</id>
-                        <goals>
-                            <goal>generate-spi</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
+    <artifactId>camel-groovy-dsl-parent</artifactId>
+    <packaging>pom</packaging>
+    <name>Camel :: Groovy DSL :: Parent</name>
+    <description>Camel DSL with Groovy (Parent)</description>
+
+    <modules>
+        <module>camel-groovy-dsl-common</module>
+        <module>camel-groovy-dsl</module>
+        <module>camel-groovy-dsl-test</module>
+    </modules>
 
 </project>
\ No newline at end of file
diff --git a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.groovy b/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.groovy
deleted file mode 100644
index b4e8a4a..0000000
--- a/dsl/camel-groovy-dsl/src/main/groovy/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.groovy
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dsl.groovy
-
-import org.apache.camel.builder.endpoint.EndpointRouteBuilder
-import org.codehaus.groovy.control.CompilerConfiguration
-import org.codehaus.groovy.control.customizers.ImportCustomizer
-
-class GroovyRoutesBuilderSupport {
-    private GroovyRoutesBuilderSupport() {
-    }
-
-    static void load(Reader reader, EndpointRouteBuilder builder) {
-        def ic = new ImportCustomizer()
-        ic.addStarImports('org.apache.camel')
-        ic.addStarImports('org.apache.camel.spi')
-
-        def cc = new CompilerConfiguration()
-        cc.addCompilationCustomizers(ic)
-        cc.setScriptBaseClass(DelegatingScript.class.getName())
-
-        def cl = builder.context.applicationContextClassLoader ?: Thread.currentThread().getContextClassLoader()
-        def sh = new GroovyShell(cl, new Binding(), cc)
-        def script = (DelegatingScript) sh.parse(reader)
-
-        // set the delegate target
-        script.setDelegate(new GroovyDSL(builder))
-        script.run()
-    }
-}
diff --git a/parent/pom.xml b/parent/pom.xml
index 6ffa3dc..0373a3f 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -2726,6 +2726,11 @@
 				<artifactId>camel-groovy-dsl</artifactId>
 				<version>${project.version}</version>
 			</dependency>
+			<dependency>
+				<groupId>org.apache.camel</groupId>
+				<artifactId>camel-groovy-dsl-common</artifactId>
+				<version>${project.version}</version>
+			</dependency>
 
             <!-- camel catalog -->
             <dependency>

[camel] 04/04: dsl(kotlin): update license header

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 68680f250da200bcdbfd1bd9038340f01a98a28f
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Apr 8 16:29:45 2021 +0200

    dsl(kotlin): update license header
---
 .../org/apache/camel/dsl/kotlin/KotlinCompilationConfiguration.kt       | 2 +-
 .../src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinConstants.kt      | 2 +-
 .../src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinDSL.kt            | 2 +-
 .../kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt     | 2 +-
 .../main/kotlin/org/apache/camel/dsl/kotlin/model/BeansConfiguration.kt | 2 +-
 .../main/kotlin/org/apache/camel/dsl/kotlin/model/CamelConfiguration.kt | 2 +-
 .../kotlin/org/apache/camel/dsl/kotlin/model/ComponentsConfiguration.kt | 2 +-
 .../org/apache/camel/dsl/kotlin/model/DataFormatsConfiguration.kt       | 2 +-
 .../kotlin/org/apache/camel/dsl/kotlin/model/LanguagesConfiguration.kt  | 2 +-
 .../kotlin/org/apache/camel/dsl/kotlin/model/RegistryConfiguration.kt   | 2 +-
 .../main/kotlin/org/apache/camel/dsl/kotlin/model/RestConfiguration.kt  | 2 +-
 .../kotlin/org/apache/camel/dsl/kotlin/model/RestVerbConfiguration.kt   | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinCompilationConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinCompilationConfiguration.kt
index 805cd18..b41d307 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinCompilationConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinCompilationConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinConstants.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinConstants.kt
index 5c4050f..73567b6 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinConstants.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinConstants.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinDSL.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinDSL.kt
index 0054999..27212ce 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinDSL.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinDSL.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
index cb195ac..cb659c7 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/BeansConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/BeansConfiguration.kt
index 0edc573..6b7c63c 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/BeansConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/BeansConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/CamelConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/CamelConfiguration.kt
index 6e65fdf..151ad32 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/CamelConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/CamelConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/ComponentsConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/ComponentsConfiguration.kt
index ad47723..ae62c38 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/ComponentsConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/ComponentsConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/DataFormatsConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/DataFormatsConfiguration.kt
index a5f8d0d..9e89ef3 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/DataFormatsConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/DataFormatsConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/LanguagesConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/LanguagesConfiguration.kt
index b26046d..bab0573 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/LanguagesConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/LanguagesConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RegistryConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RegistryConfiguration.kt
index ca394de..e555d03 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RegistryConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RegistryConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestConfiguration.kt
index ee734aa..0870fa1 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestVerbConfiguration.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestVerbConfiguration.kt
index 57d50ba..2c98619 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestVerbConfiguration.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/model/RestVerbConfiguration.kt
@@ -1,4 +1,4 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
  * contributor license agreements.  See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.

[camel] 02/04: dsl: add common dsl module

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 5e1d9c11bb9edd268d613d4d3168377432063ba1
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Apr 8 15:45:30 2021 +0200

    dsl: add common dsl module
---
 bom/camel-bom/pom.xml                              |  5 ++
 dsl/camel-dsl-support/pom.xml                      | 68 +++++++++++++++++++
 .../support/EndpointRouteBuilderLoaderSupport.java | 42 ++++++++++++
 .../dsl/support/RouteBuilderLoaderSupport.java     | 79 ++++++++++++++++++++++
 dsl/pom.xml                                        |  1 +
 parent/pom.xml                                     |  5 ++
 6 files changed, 200 insertions(+)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 5dadc0e..9ea693d 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -644,6 +644,11 @@
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
+        <artifactId>camel-dsl-support</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
         <artifactId>camel-ehcache</artifactId>
         <version>${project.version}</version>
       </dependency>
diff --git a/dsl/camel-dsl-support/pom.xml b/dsl/camel-dsl-support/pom.xml
new file mode 100644
index 0000000..47e2a82
--- /dev/null
+++ b/dsl/camel-dsl-support/pom.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>dsl</artifactId>
+        <version>3.10.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-dsl-support</artifactId>
+    <packaging>jar</packaging>
+    <name>Camel :: DSL :: Support</name>
+    <description>Camel DSL (Support))</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-core-model</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-endpointdsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-package-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>generate-spi</id>
+                        <goals>
+                            <goal>generate-spi</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/EndpointRouteBuilderLoaderSupport.java b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/EndpointRouteBuilderLoaderSupport.java
new file mode 100644
index 0000000..863e82e
--- /dev/null
+++ b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/EndpointRouteBuilderLoaderSupport.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dsl.support;
+
+import java.io.Reader;
+
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
+import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.RoutesBuilderLoader;
+
+import static org.apache.camel.builder.endpoint.EndpointRouteBuilder.loadEndpointRoutesBuilder;
+
+/**
+ * Base class for {@link RoutesBuilderLoader} implementations.
+ */
+public abstract class EndpointRouteBuilderLoaderSupport extends RouteBuilderLoaderSupport {
+    protected EndpointRouteBuilderLoaderSupport(String extension) {
+        super(extension);
+    }
+
+    @Override
+    public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
+        return loadEndpointRoutesBuilder(resource, this::doLoadEndpointRouteBuilder);
+    }
+
+    protected abstract void doLoadEndpointRouteBuilder(Reader reader, EndpointRouteBuilder builder) throws Exception;
+}
diff --git a/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
new file mode 100644
index 0000000..021d007
--- /dev/null
+++ b/dsl/camel-dsl-support/src/main/java/org/apache/camel/dsl/support/RouteBuilderLoaderSupport.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dsl.support;
+
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.StartupStep;
+import org.apache.camel.api.management.ManagedAttribute;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteBuilderLifecycleStrategy;
+import org.apache.camel.spi.Resource;
+import org.apache.camel.spi.RoutesBuilderLoader;
+import org.apache.camel.spi.StartupStepRecorder;
+import org.apache.camel.support.RoutesBuilderLoaderSupport;
+
+/**
+ * Base class for {@link RoutesBuilderLoader} implementations.
+ */
+public abstract class RouteBuilderLoaderSupport extends RoutesBuilderLoaderSupport {
+    private final String extension;
+
+    private StartupStepRecorder recorder;
+
+    protected RouteBuilderLoaderSupport(String extension) {
+        this.extension = extension;
+    }
+
+    @ManagedAttribute(description = "Supported file extension")
+    @Override
+    public String getSupportedExtension() {
+        return extension;
+    }
+
+    @Override
+    protected void doBuild() throws Exception {
+        super.doBuild();
+
+        if (getCamelContext() != null) {
+            this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
+        }
+    }
+
+    @Override
+    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+        final RouteBuilder builder = doLoadRouteBuilder(resource);
+
+        if (recorder != null) {
+            StartupStep step = recorder.beginStep(
+                    getClass(),
+                    resource.getLocation(),
+                    "Loading route from: " + resource.getLocation());
+
+            builder.addLifecycleInterceptor(new RouteBuilderLifecycleStrategy() {
+                @Override
+                public void afterConfigure(RouteBuilder builder) {
+                    step.endStep();
+                }
+            });
+        }
+
+        return builder;
+    }
+
+    protected abstract RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception;
+}
diff --git a/dsl/pom.xml b/dsl/pom.xml
index 5e4457c..9ae56e6 100644
--- a/dsl/pom.xml
+++ b/dsl/pom.xml
@@ -34,6 +34,7 @@
     <description>Camel DSLs Modules</description>
 
     <modules>
+        <module>camel-dsl-support</module>
         <module>camel-groovy-dsl</module>
         <module>camel-java-joor-dsl</module>
         <module>camel-xml-io-dsl</module>
diff --git a/parent/pom.xml b/parent/pom.xml
index 0373a3f..810b5c5 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -1290,6 +1290,11 @@
 			</dependency>
 			<dependency>
 				<groupId>org.apache.camel</groupId>
+				<artifactId>camel-dsl-support</artifactId>
+				<version>${project.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>org.apache.camel</groupId>
 				<artifactId>camel-ehcache</artifactId>
 				<version>${project.version}</version>
 			</dependency>

[camel] 03/04: dsl: adapt to latest RouteBuilder support

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 4b9091eafe959f6bf5da6ad7679739440c8b2a39
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Apr 8 15:17:16 2021 +0200

    dsl: adapt to latest RouteBuilder support
---
 dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml      |  4 ++
 .../dsl/groovy/GroovyRoutesBuilderLoader.java      | 60 ++++++++++----------
 .../dsl/groovy/GroovyRoutesBuilderSupport.java     | 53 ------------------
 dsl/camel-java-joor-dsl/pom.xml                    |  4 ++
 .../dsl/java/joor/JavaRoutesBuilderLoader.java     | 38 +++----------
 dsl/camel-js-dsl/pom.xml                           |  2 +-
 .../dsl/js/JavaScriptRoutesBuilderLoader.java      | 43 ++------------
 dsl/camel-kotlin-dsl/pom.xml                       |  2 +-
 .../camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt  | 40 +------------
 dsl/camel-xml-io-dsl/pom.xml                       |  4 ++
 .../camel/dsl/xml/io/XmlRoutesBuilderLoader.java   | 65 +++++++---------------
 dsl/camel-xml-jaxb-dsl/pom.xml                     |  4 ++
 .../dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java   | 65 +++++++---------------
 dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml          |  6 +-
 .../camel/dsl/yaml/YamlRoutesBuilderLoader.java    | 30 ++--------
 15 files changed, 107 insertions(+), 313 deletions(-)

diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
index fba542c..a21a50e 100644
--- a/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/pom.xml
@@ -54,6 +54,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-dsl-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-groovy-dsl-common</artifactId>
         </dependency>
     </dependencies>
diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
index 470d928..ad98d84 100644
--- a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
+++ b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderLoader.java
@@ -16,53 +16,49 @@
  */
 package org.apache.camel.dsl.groovy;
 
+import java.io.Reader;
+
+import groovy.lang.Binding;
+import groovy.lang.GroovyShell;
+import groovy.util.DelegatingScript;
 import org.apache.camel.Experimental;
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
-import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
+import org.apache.camel.dsl.groovy.common.GroovyDSL;
+import org.apache.camel.dsl.support.EndpointRouteBuilderLoaderSupport;
 import org.apache.camel.spi.annotations.RoutesLoader;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
+import org.codehaus.groovy.control.CompilerConfiguration;
+import org.codehaus.groovy.control.customizers.ImportCustomizer;
 
 @Experimental
 @ManagedResource(description = "Managed GroovyRoutesBuilderLoader")
 @RoutesLoader(GroovyRoutesBuilderLoader.EXTENSION)
-public class GroovyRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+public class GroovyRoutesBuilderLoader extends EndpointRouteBuilderLoaderSupport {
     public static final String EXTENSION = "groovy";
 
-    private StartupStepRecorder recorder;
+    public GroovyRoutesBuilderLoader() {
+        super(EXTENSION);
+    }
 
     @Override
-    protected void doBuild() throws Exception {
-        super.doBuild();
+    protected void doLoadEndpointRouteBuilder(Reader reader, EndpointRouteBuilder builder) {
+        ImportCustomizer ic = new ImportCustomizer();
+        ic.addStarImports("org.apache.camel");
+        ic.addStarImports("org.apache.camel.spi");
 
-        if (getCamelContext() != null) {
-            this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
-        }
-    }
+        CompilerConfiguration cc = new CompilerConfiguration();
+        cc.addCompilationCustomizers(ic);
+        cc.setScriptBaseClass(DelegatingScript.class.getName());
 
-    @ManagedAttribute(description = "Supported file extension")
-    @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
-    }
+        ClassLoader cl = builder.getContext().getApplicationContextClassLoader() != null
+                ? builder.getContext().getApplicationContextClassLoader()
+                : Thread.currentThread().getContextClassLoader();
 
-    @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
-        StartupStep step = recorder != null
-                ? recorder.beginStep(GroovyRoutesBuilderLoader.class, resource.getLocation(), "Compiling RouteBuilder")
-                : null;
+        GroovyShell sh = new GroovyShell(cl, new Binding(), cc);
+        DelegatingScript script = (DelegatingScript) sh.parse(reader);
 
-        try {
-            return EndpointRouteBuilder.loadEndpointRoutesBuilder(resource, GroovyRoutesBuilderSupport::load);
-        } finally {
-            if (recorder != null) {
-                recorder.endStep(step);
-            }
-        }
+        // set the delegate target
+        script.setDelegate(new GroovyDSL(builder));
+        script.run();
     }
 }
diff --git a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java b/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java
deleted file mode 100644
index a28ed79..0000000
--- a/dsl/camel-groovy-dsl/camel-groovy-dsl/src/main/java/org/apache/camel/dsl/groovy/GroovyRoutesBuilderSupport.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.dsl.groovy;
-
-import java.io.Reader;
-
-import groovy.lang.Binding;
-import groovy.lang.GroovyShell;
-import groovy.util.DelegatingScript;
-import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
-import org.apache.camel.dsl.groovy.common.GroovyDSL;
-import org.codehaus.groovy.control.CompilerConfiguration;
-import org.codehaus.groovy.control.customizers.ImportCustomizer;
-
-public final class GroovyRoutesBuilderSupport {
-    private GroovyRoutesBuilderSupport() {
-    }
-
-    static void load(Reader reader, EndpointRouteBuilder builder) {
-        ImportCustomizer ic = new ImportCustomizer();
-        ic.addStarImports("org.apache.camel");
-        ic.addStarImports("org.apache.camel.spi");
-
-        CompilerConfiguration cc = new CompilerConfiguration();
-        cc.addCompilationCustomizers(ic);
-        cc.setScriptBaseClass(DelegatingScript.class.getName());
-
-        ClassLoader cl = builder.getContext().getApplicationContextClassLoader() != null
-                ? builder.getContext().getApplicationContextClassLoader()
-                : Thread.currentThread().getContextClassLoader();
-
-        GroovyShell sh = new GroovyShell(cl, new Binding(), cc);
-        DelegatingScript script = (DelegatingScript) sh.parse(reader);
-
-        // set the delegate target
-        script.setDelegate(new GroovyDSL(builder));
-        script.run();
-    }
-}
diff --git a/dsl/camel-java-joor-dsl/pom.xml b/dsl/camel-java-joor-dsl/pom.xml
index 4167ff9..a5512e4 100644
--- a/dsl/camel-java-joor-dsl/pom.xml
+++ b/dsl/camel-java-joor-dsl/pom.xml
@@ -52,6 +52,10 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-core-model</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-dsl-support</artifactId>
+        </dependency>
 
         <!-- requires Java 11 or 14 -->
         <dependency>
diff --git a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
index 949618b..f134840 100644
--- a/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
+++ b/dsl/camel-java-joor-dsl/src/main/java/org/apache/camel/dsl/java/joor/JavaRoutesBuilderLoader.java
@@ -20,58 +20,34 @@ import java.io.InputStream;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
 import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.annotations.RoutesLoader;
 import org.apache.camel.support.ResourceHelper;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
 import org.apache.camel.util.FileUtil;
 import org.apache.camel.util.IOHelper;
 import org.joor.Reflect;
 
 @ManagedResource(description = "Managed JavaRoutesBuilderLoader")
 @RoutesLoader(JavaRoutesBuilderLoader.EXTENSION)
-public class JavaRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+public class JavaRoutesBuilderLoader extends RouteBuilderLoaderSupport {
     public static final String EXTENSION = "java";
     public static final Pattern PACKAGE_PATTERN = Pattern.compile(
             "^\\s*package\\s+([a-zA-Z][\\.\\w]*)\\s*;.*$", Pattern.MULTILINE);
 
-    private StartupStepRecorder recorder;
-
-    @Override
-    protected void doBuild() throws Exception {
-        super.doBuild();
-        recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
-    }
-
-    @ManagedAttribute(description = "Supported file extension")
-    @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
+    public JavaRoutesBuilderLoader() {
+        super(EXTENSION);
     }
 
     @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+    public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
         try (InputStream is = resource.getInputStream()) {
             final String content = IOHelper.loadText(is);
             final String name = determineName(resource, content);
 
-            StartupStep step = recorder != null
-                    ? recorder.beginStep(JavaRoutesBuilderLoader.class, name, "Compiling RouteBuilder")
-                    : null;
-
-            try {
-                return Reflect.compile(name, content).create().get();
-            } finally {
-                if (recorder != null) {
-                    recorder.endStep(step);
-                }
-            }
+            return Reflect.compile(name, content).create().get();
         }
     }
 
diff --git a/dsl/camel-js-dsl/pom.xml b/dsl/camel-js-dsl/pom.xml
index aace007..1e7c93f 100644
--- a/dsl/camel-js-dsl/pom.xml
+++ b/dsl/camel-js-dsl/pom.xml
@@ -54,7 +54,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-endpointdsl</artifactId>
+            <artifactId>camel-dsl-support</artifactId>
         </dependency>
 
         <!-- requires Java 11 or 14 -->
diff --git a/dsl/camel-js-dsl/src/main/java/org/apache/camel/dsl/js/JavaScriptRoutesBuilderLoader.java b/dsl/camel-js-dsl/src/main/java/org/apache/camel/dsl/js/JavaScriptRoutesBuilderLoader.java
index 6d9a052..b79c8ab 100644
--- a/dsl/camel-js-dsl/src/main/java/org/apache/camel/dsl/js/JavaScriptRoutesBuilderLoader.java
+++ b/dsl/camel-js-dsl/src/main/java/org/apache/camel/dsl/js/JavaScriptRoutesBuilderLoader.java
@@ -19,17 +19,11 @@ package org.apache.camel.dsl.js;
 import java.io.Reader;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder;
-import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
+import org.apache.camel.dsl.support.EndpointRouteBuilderLoaderSupport;
 import org.apache.camel.spi.annotations.RoutesLoader;
 import org.apache.camel.support.LifecycleStrategySupport;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
 import org.graalvm.polyglot.Context;
 import org.graalvm.polyglot.Value;
 
@@ -37,43 +31,16 @@ import static org.graalvm.polyglot.Source.newBuilder;
 
 @ManagedResource(description = "Managed JavaScriptRoutesBuilderLoader")
 @RoutesLoader(JavaScriptRoutesBuilderLoader.EXTENSION)
-public class JavaScriptRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+public class JavaScriptRoutesBuilderLoader extends EndpointRouteBuilderLoaderSupport {
     public static final String EXTENSION = "js";
     public static final String LANGUAGE_ID = "js";
 
-    private StartupStepRecorder recorder;
-
-    @Override
-    protected void doBuild() throws Exception {
-        super.doBuild();
-
-        if (getCamelContext() != null) {
-            this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
-        }
-    }
-
-    @ManagedAttribute(description = "Supported file extension")
-    @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
+    public JavaScriptRoutesBuilderLoader() {
+        super(EXTENSION);
     }
 
     @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
-        StartupStep step = recorder != null
-                ? recorder.beginStep(JavaScriptRoutesBuilderLoader.class, resource.getLocation(), "Compiling RouteBuilder")
-                : null;
-
-        try {
-            return EndpointRouteBuilder.loadEndpointRoutesBuilder(resource, this::load);
-        } finally {
-            if (recorder != null) {
-                recorder.endStep(step);
-            }
-        }
-    }
-
-    private void load(Reader reader, EndpointRouteBuilder builder) {
+    protected void doLoadEndpointRouteBuilder(Reader reader, EndpointRouteBuilder builder) {
         final Context context = Context.newBuilder(LANGUAGE_ID).allowAllAccess(true).build();
         final Value bindings = context.getBindings(LANGUAGE_ID);
 
diff --git a/dsl/camel-kotlin-dsl/pom.xml b/dsl/camel-kotlin-dsl/pom.xml
index a876cb4..3e316ea 100644
--- a/dsl/camel-kotlin-dsl/pom.xml
+++ b/dsl/camel-kotlin-dsl/pom.xml
@@ -54,7 +54,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-endpointdsl</artifactId>
+            <artifactId>camel-dsl-support</artifactId>
         </dependency>
 
         <dependency>
diff --git a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
index e916b18..cb195ac 100644
--- a/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
+++ b/dsl/camel-kotlin-dsl/src/main/kotlin/org/apache/camel/dsl/kotlin/KotlinRoutesBuilderLoader.kt
@@ -17,19 +17,13 @@
 package org.apache.camel.dsl.kotlin
 
 import org.apache.camel.Experimental
-import org.apache.camel.ExtendedCamelContext
-import org.apache.camel.RoutesBuilder
 import org.apache.camel.RuntimeCamelException
-import org.apache.camel.api.management.ManagedAttribute
 import org.apache.camel.api.management.ManagedResource
 import org.apache.camel.builder.endpoint.EndpointRouteBuilder
-import org.apache.camel.spi.Resource
-import org.apache.camel.spi.StartupStepRecorder
+import org.apache.camel.dsl.support.EndpointRouteBuilderLoaderSupport
 import org.apache.camel.spi.annotations.RoutesLoader
-import org.apache.camel.support.RoutesBuilderLoaderSupport
 import org.slf4j.LoggerFactory
 import java.io.Reader
-import java.lang.Exception
 import kotlin.script.experimental.api.*
 import kotlin.script.experimental.host.toScriptSource
 import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
@@ -38,37 +32,9 @@ import kotlin.script.experimental.jvmhost.createJvmCompilationConfigurationFromT
 @Experimental
 @ManagedResource(description = "Managed KotlinRoutesBuilderLoader")
 @RoutesLoader(EXTENSION)
-class KotlinRoutesBuilderLoader : RoutesBuilderLoaderSupport() {
-    var recorder: StartupStepRecorder? = null
-
+class KotlinRoutesBuilderLoader : EndpointRouteBuilderLoaderSupport(EXTENSION) {
     @Throws(Exception::class)
-    override fun doBuild() {
-        super.doBuild()
-
-        if (camelContext != null) {
-            this.recorder = camelContext.adapt(ExtendedCamelContext::class.java).startupStepRecorder
-        }
-    }
-
-    @ManagedAttribute(description = "Supported file extension")
-    override fun getSupportedExtension(): String {
-        return EXTENSION
-    }
-
-    @Throws(Exception::class)
-    override fun loadRoutesBuilder(resource: Resource): RoutesBuilder? {
-        val step = if (recorder != null) recorder!!.beginStep(KotlinRoutesBuilderLoader::class.java, resource.location, "Compiling RouteBuilder") else null
-
-        try {
-            return EndpointRouteBuilder.loadEndpointRoutesBuilder(resource) {
-                reader, builder -> load(reader, builder)
-            }
-        } finally {
-            recorder?.endStep(step)
-        }
-    }
-
-    private fun load(reader: Reader, builder: EndpointRouteBuilder) {
+    override fun doLoadEndpointRouteBuilder(reader: Reader, builder: EndpointRouteBuilder) {
         val host = BasicJvmScriptingHost()
         val config = createJvmCompilationConfigurationFromTemplate<KotlinDSL>()
 
diff --git a/dsl/camel-xml-io-dsl/pom.xml b/dsl/camel-xml-io-dsl/pom.xml
index 32f6eb9..5c2be48 100644
--- a/dsl/camel-xml-io-dsl/pom.xml
+++ b/dsl/camel-xml-io-dsl/pom.xml
@@ -50,6 +50,10 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-xml-io</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-dsl-support</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
index e8f2b4b..589f2d1 100644
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlRoutesBuilderLoader.java
@@ -18,70 +18,43 @@ package org.apache.camel.dsl.xml.io;
 
 import java.io.InputStream;
 
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
 import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.annotations.RoutesLoader;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
 import org.apache.camel.xml.in.ModelParser;
 
 @ManagedResource(description = "Managed XML RoutesBuilderLoader")
 @RoutesLoader(XmlRoutesBuilderLoader.EXTENSION)
-public class XmlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
-
+public class XmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
     public static final String EXTENSION = "xml";
     public static final String NAMESPACE = "http://camel.apache.org/schema/spring";
 
-    private StartupStepRecorder recorder;
-
-    @Override
-    protected void doBuild() throws Exception {
-        super.doBuild();
-        recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
+    public XmlRoutesBuilderLoader() {
+        super(EXTENSION);
     }
 
-    @ManagedAttribute(description = "Supported file extension")
     @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
-    }
-
-    @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+    public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
                 // we use configure to load the routes
-
-                StartupStep step = recorder != null
-                        ? recorder.beginStep(XmlRoutesBuilderLoader.class, resource.getLocation(),
-                                "Loading and Parsing XML routes")
-                        : null;
-                try {
-                    try (InputStream is = resource.getInputStream()) {
-                        new ModelParser(is, NAMESPACE)
-                                .parseRouteTemplatesDefinition()
-                                .ifPresent(this::setRouteTemplateCollection);
-                    }
-                    try (InputStream is = resource.getInputStream()) {
-                        new ModelParser(is, NAMESPACE)
-                                .parseRestsDefinition()
-                                .ifPresent(this::setRestCollection);
-                    }
-                    try (InputStream is = resource.getInputStream()) {
-                        new ModelParser(is, NAMESPACE)
-                                .parseRoutesDefinition()
-                                .ifPresent(this::setRouteCollection);
-                    }
-                } finally {
-                    if (recorder != null) {
-                        recorder.endStep(step);
-                    }
+                try (InputStream is = resource.getInputStream()) {
+                    new ModelParser(is, NAMESPACE)
+                            .parseRouteTemplatesDefinition()
+                            .ifPresent(this::setRouteTemplateCollection);
+                }
+                try (InputStream is = resource.getInputStream()) {
+                    new ModelParser(is, NAMESPACE)
+                            .parseRestsDefinition()
+                            .ifPresent(this::setRestCollection);
+                }
+                try (InputStream is = resource.getInputStream()) {
+                    new ModelParser(is, NAMESPACE)
+                            .parseRoutesDefinition()
+                            .ifPresent(this::setRouteCollection);
                 }
             }
         };
diff --git a/dsl/camel-xml-jaxb-dsl/pom.xml b/dsl/camel-xml-jaxb-dsl/pom.xml
index 4587a76..d96cecb 100644
--- a/dsl/camel-xml-jaxb-dsl/pom.xml
+++ b/dsl/camel-xml-jaxb-dsl/pom.xml
@@ -50,6 +50,10 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-xml-jaxb</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-dsl-support</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java b/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
index 6413a23..906e4b0 100644
--- a/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
+++ b/dsl/camel-xml-jaxb-dsl/src/main/java/org/apache/camel/dsl/xml/jaxb/JaxbXmlRoutesBuilderLoader.java
@@ -18,19 +18,14 @@ package org.apache.camel.dsl.xml.jaxb;
 
 import java.io.InputStream;
 
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
 import org.apache.camel.model.RouteTemplatesDefinition;
 import org.apache.camel.model.RoutesDefinition;
 import org.apache.camel.model.rest.RestsDefinition;
 import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.annotations.RoutesLoader;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
 
 import static org.apache.camel.xml.jaxb.JaxbHelper.loadRestsDefinition;
 import static org.apache.camel.xml.jaxb.JaxbHelper.loadRouteTemplatesDefinition;
@@ -38,59 +33,37 @@ import static org.apache.camel.xml.jaxb.JaxbHelper.loadRoutesDefinition;
 
 @ManagedResource(description = "Managed JAXB XML RoutesBuilderLoader")
 @RoutesLoader(JaxbXmlRoutesBuilderLoader.EXTENSION)
-public class JaxbXmlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
-
+public class JaxbXmlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
     public static final String EXTENSION = "xml";
 
-    private StartupStepRecorder recorder;
-
-    @Override
-    protected void doBuild() throws Exception {
-        super.doBuild();
-        recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
-    }
-
-    @ManagedAttribute(description = "Supported file extension")
-    @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
+    public JaxbXmlRoutesBuilderLoader() {
+        super(EXTENSION);
     }
 
     @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+    public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
                 // we use configure to load the routes
-
-                StartupStep step = recorder != null
-                        ? recorder.beginStep(JaxbXmlRoutesBuilderLoader.class, resource.getLocation(),
-                                "Loading and Parsing XML routes")
-                        : null;
-                try {
-                    try (InputStream is = resource.getInputStream()) {
-                        RouteTemplatesDefinition templates = loadRouteTemplatesDefinition(getCamelContext(), is);
-                        if (templates != null) {
-                            setRouteTemplateCollection(templates);
-                        }
+                try (InputStream is = resource.getInputStream()) {
+                    RouteTemplatesDefinition templates = loadRouteTemplatesDefinition(getCamelContext(), is);
+                    if (templates != null) {
+                        setRouteTemplateCollection(templates);
                     }
+                }
 
-                    try (InputStream is = resource.getInputStream()) {
-                        RestsDefinition rests = loadRestsDefinition(getCamelContext(), is);
-                        if (rests != null) {
-                            setRestCollection(rests);
-                        }
+                try (InputStream is = resource.getInputStream()) {
+                    RestsDefinition rests = loadRestsDefinition(getCamelContext(), is);
+                    if (rests != null) {
+                        setRestCollection(rests);
                     }
+                }
 
-                    try (InputStream is = resource.getInputStream()) {
-                        RoutesDefinition routes = loadRoutesDefinition(getCamelContext(), is);
-                        if (routes != null) {
-                            setRouteCollection(routes);
-                        }
-                    }
-                } finally {
-                    if (recorder != null) {
-                        recorder.endStep(step);
+                try (InputStream is = resource.getInputStream()) {
+                    RoutesDefinition routes = loadRoutesDefinition(getCamelContext(), is);
+                    if (routes != null) {
+                        setRouteCollection(routes);
                     }
                 }
             }
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
index 0ab5a61..54169ce 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/pom.xml
@@ -47,12 +47,14 @@
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-yaml-dsl-common</artifactId>
-            <version>${project.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-yaml-dsl-deserializers</artifactId>
-            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-dsl-support</artifactId>
         </dependency>
 
         <dependency>
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
index e313569..73c1d8c 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/main/java/org/apache/camel/dsl/yaml/YamlRoutesBuilderLoader.java
@@ -19,13 +19,10 @@ package org.apache.camel.dsl.yaml;
 import java.io.InputStream;
 import java.util.List;
 
-import org.apache.camel.ExtendedCamelContext;
-import org.apache.camel.RoutesBuilder;
-import org.apache.camel.StartupStep;
-import org.apache.camel.api.management.ManagedAttribute;
 import org.apache.camel.api.management.ManagedResource;
 import org.apache.camel.builder.ErrorHandlerBuilder;
 import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.dsl.support.RouteBuilderLoaderSupport;
 import org.apache.camel.dsl.yaml.common.YamlDeserializationContext;
 import org.apache.camel.dsl.yaml.deserializers.CustomResolver;
 import org.apache.camel.dsl.yaml.deserializers.EndpointProducerDeserializersResolver;
@@ -37,9 +34,7 @@ import org.apache.camel.model.rest.RestDefinition;
 import org.apache.camel.model.rest.VerbDefinition;
 import org.apache.camel.spi.CamelContextCustomizer;
 import org.apache.camel.spi.Resource;
-import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.annotations.RoutesLoader;
-import org.apache.camel.support.RoutesBuilderLoaderSupport;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.snakeyaml.engine.v2.api.Load;
@@ -47,28 +42,20 @@ import org.snakeyaml.engine.v2.api.LoadSettings;
 
 @ManagedResource(description = "Managed YAML RoutesBuilderLoader")
 @RoutesLoader(YamlRoutesBuilderLoader.EXTENSION)
-public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
+public class YamlRoutesBuilderLoader extends RouteBuilderLoaderSupport {
     public static final String EXTENSION = "yaml";
 
     private LoadSettings settings;
     private YamlDeserializationContext constructor;
-    private StartupStepRecorder recorder;
 
     public YamlRoutesBuilderLoader() {
-    }
-
-    @ManagedAttribute(description = "Supported file extension")
-    @Override
-    public String getSupportedExtension() {
-        return EXTENSION;
+        super(EXTENSION);
     }
 
     @Override
     protected void doBuild() throws Exception {
         super.doBuild();
 
-        this.recorder = getCamelContext().adapt(ExtendedCamelContext.class).getStartupStepRecorder();
-
         this.settings = LoadSettings.builder().build();
         this.constructor = new YamlDeserializationContext(settings);
         this.constructor.setCamelContext(getCamelContext());
@@ -95,7 +82,7 @@ public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
     }
 
     @Override
-    public RoutesBuilder loadRoutesBuilder(Resource resource) throws Exception {
+    public RouteBuilder doLoadRouteBuilder(Resource resource) throws Exception {
         ObjectHelper.notNull(constructor, "constructor");
         ObjectHelper.notNull(settings, "settings");
 
@@ -104,20 +91,11 @@ public class YamlRoutesBuilderLoader extends RoutesBuilderLoaderSupport {
             public void configure() throws Exception {
                 final Load load = new Load(settings, constructor);
 
-                StartupStep step = recorder != null
-                        ? recorder.beginStep(YamlRoutesBuilderLoader.class, resource.getLocation(),
-                                "Loading and Parsing YAML routes")
-                        : null;
-
                 try (InputStream is = resource.getInputStream()) {
                     for (Object item : (List<?>) load.loadFromInputStream(is)) {
 
                         configure(item);
                     }
-                } finally {
-                    if (recorder != null) {
-                        recorder.endStep(step);
-                    }
                 }
             }