You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pp...@apache.org on 2021/03/26 07:07:19 UTC

[camel-quarkus] branch master updated (b23a8ae -> f5a8ad0)

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

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


    from b23a8ae  Updated CHANGELOG.md
     new ed4735a  Fixup upgrade to Camel 3.9.0
     new f77c3d2  Merge camel-quarkus-main into camel-quarkus-core #2358
     new 9c9c6ec  Remove camel-quarkus-main dependencies from tests etc. #2358
     new dfeabc1  Move java-joor to extensions-jvm directory
     new a3d8214  Workaround for #2340 Spring RabbitMQ integration test fails in native mode with Camel 3.9.0
     new 4078d79  dsl: support for kotlin dsl
     new 6ccd2fb  dsl: support for groovy-dsl
     new f5a8ad0  Stop CI testing on Java 8 #2287

The 8 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:
 .github/workflows/ci-build.yaml                    |  4 +-
 catalog/pom.xml                                    | 26 +++++++++++
 docs/modules/ROOT/nav.adoc                         |  2 +
 .../ROOT/pages/reference/extensions/core.adoc      | 18 ++++++++
 .../{java-joor-dsl.adoc => groovy-dsl.adoc}        | 18 ++++----
 .../pages/reference/extensions/java-joor-dsl.adoc  |  8 ++--
 .../{java-joor-dsl.adoc => kotlin-dsl.adoc}        | 18 ++++----
 .../ROOT/pages/reference/extensions/main.adoc      | 24 ----------
 .../caffeine-lrucache/deployment/pom.xml           |  4 ++
 extensions-core/caffeine-lrucache/runtime/pom.xml  |  5 +++
 .../core/deployment/CamelContextProcessor.java     |  5 +--
 .../core/deployment/main}/CamelMainHelper.java     |  2 +-
 .../main}/CamelMainHotDeploymentProcessor.java     |  5 ++-
 .../main}/CamelMainNativeImageProcessor.java       | 13 ++++--
 .../core/deployment/main}/CamelMainProcessor.java  | 51 ++++++++++++++--------
 .../deployment/main}/spi/CamelMainBuildItem.java   |  2 +-
 .../spi/CamelMainEnabled.java}                     | 24 ++++++----
 .../main}/spi/CamelMainListenerBuildItem.java      |  2 +-
 .../main}/spi/CamelRoutesCollectorBuildItem.java   |  2 +-
 .../main/CamelAutowiredDisabledTest.java}          | 11 +++--
 .../main/CamelComponentConfigurationTest.java}     | 29 ++++++------
 .../main}/CamelMainAutoConfigurationTest.java      |  2 +-
 .../core/deployment/main}/CamelMainInjectTest.java |  2 +-
 .../CamelMainLambdaRouteBuilderDiscoveryTest.java  |  2 +-
 .../deployment/main}/CamelMainObserversTest.java   |  2 +-
 .../main}/CamelMainRouteTemplateTest.java          |  2 +-
 .../main}/CamelMainRoutesDiscoveryTest.java        |  2 +-
 .../main}/CamelMainRoutesFilterTest.java           |  2 +-
 .../main}/CamelMainUnknownArgumentFailTest.java    |  2 +-
 .../main}/CamelMainUnknownArgumentIgnoreTest.java  |  2 +-
 .../main}/CamelMainUnknownArgumentWarnTest.java    |  2 +-
 .../core/deployment/main/DisabledMainTest.java}    | 30 +++++++------
 extensions-core/core/runtime/pom.xml               |  4 ++
 .../org/apache/camel/quarkus/main/CamelMain.java   |  0
 .../camel/quarkus/main/CamelMainApplication.java   |  0
 .../apache/camel/quarkus/main/CamelMainConfig.java |  8 ++++
 .../camel/quarkus/main/CamelMainEventBridge.java   |  0
 .../camel/quarkus/main/CamelMainProducers.java     |  0
 .../camel/quarkus/main/CamelMainRecorder.java      |  0
 .../quarkus/main/CamelMainRoutesCollector.java     |  0
 .../camel/quarkus/main/CamelMainRuntime.java       |  0
 .../camel/quarkus/main/events/AfterConfigure.java  |  0
 .../camel/quarkus/main/events/AfterStart.java      |  0
 .../camel/quarkus/main/events/AfterStop.java       |  0
 .../camel/quarkus/main/events/BeforeConfigure.java |  0
 .../quarkus/main/events/BeforeInitialize.java      |  0
 .../camel/quarkus/main/events/BeforeStart.java     |  0
 .../camel/quarkus/main/events/BeforeStop.java      |  0
 .../camel/quarkus/main/events/MainEvent.java       |  0
 extensions-core/main/deployment/pom.xml            | 38 ----------------
 .../quarkus/main/deployment/CamelMainFeature.java  | 11 +++--
 extensions-core/main/runtime/pom.xml               | 15 +------
 .../main/resources/META-INF/quarkus-extension.yaml |  1 +
 extensions-core/pom.xml                            |  1 -
 .../groovy-dsl}/deployment/pom.xml                 |  8 ++--
 .../dsl/groovy/deployment/GroovyDslProcessor.java  |  8 ++--
 .../groovy-dsl}/integration-test/pom.xml           | 23 +++++++---
 .../quarkus/dsl/groovy/GroovyDslResource.java      | 10 ++---
 .../src/main/resources/application.properties      |  2 +-
 .../src/main/resources/routes/my-routes.groovy     | 11 ++---
 .../camel/quarkus/dsl/groovy/GroovyDslTest.java    | 12 ++---
 .../groovy-dsl}/pom.xml                            |  4 +-
 .../groovy-dsl}/runtime/pom.xml                    | 11 +++--
 .../main/resources/META-INF/quarkus-extension.yaml |  9 ++--
 extensions-jvm/hbase/integration-test/pom.xml      | 17 --------
 .../java-joor-dsl/deployment/pom.xml               |  0
 .../java/joor/deployment/JavaJoorDslProcessor.java |  0
 .../java-joor-dsl/integration-test/pom.xml         | 13 ++++++
 .../quarkus/dsl/java/joor/JavaJoorDslResource.java |  0
 .../src/main/resources/application.properties      |  0
 .../src/main/resources/routes/MyRoutes.java        |  0
 .../quarkus/dsl/java/joor/JavaJoorDslTest.java     |  0
 .../java-joor-dsl/pom.xml                          |  0
 .../java-joor-dsl/runtime/pom.xml                  |  1 -
 .../main/resources/META-INF/quarkus-extension.yaml |  3 +-
 .../component/jfr/deployment/JfrProcessor.java     |  4 +-
 .../kotlin-dsl}/deployment/pom.xml                 | 12 +++--
 .../dsl/kotlin/deployment/KotlinDslProcessor.java  |  8 ++--
 .../kotlin-dsl}/integration-test/pom.xml           | 23 +++++++---
 .../quarkus/dsl/kotlin/KotlinDslResource.java      | 10 ++---
 .../src/main/resources/application.properties      |  2 +-
 .../src/main/resources/routes/my-routes.kts        | 11 ++---
 .../camel/quarkus/dsl/kotlin/KotlinDslTest.java    | 12 ++---
 .../kotlin-dsl}/pom.xml                            |  4 +-
 .../kotlin-dsl}/runtime/pom.xml                    | 15 ++++---
 .../main/resources/META-INF/quarkus-extension.yaml |  9 ++--
 extensions-jvm/pom.xml                             |  3 ++
 extensions-jvm/spark/integration-test/pom.xml      | 17 --------
 .../xstream/deployment/XstreamProcessor.java       |  9 ++++
 integration-tests-aws2/aws2-cw/pom.xml             | 17 --------
 integration-tests-aws2/aws2-ddb/pom.xml            | 17 --------
 integration-tests-aws2/aws2-kinesis/pom.xml        | 17 --------
 integration-tests-aws2/aws2-lambda/pom.xml         | 17 --------
 integration-tests-aws2/aws2-s3/pom.xml             | 17 --------
 integration-tests-aws2/aws2-ses/pom.xml            | 17 --------
 integration-tests-aws2/aws2-sqs-sns/pom.xml        | 17 --------
 .../custom-main-listener/deployment/pom.xml        |  2 +-
 .../deployment/CustomMainListenerProcessor.java    |  2 +-
 .../custom-main-listener/runtime/pom.xml           |  2 +-
 .../custom-routes-collector/deployment/pom.xml     |  2 +-
 .../deployment/CustomRoutesCollectorProcessor.java |  2 +-
 .../custom-routes-collector/runtime/pom.xml        |  2 +-
 integration-tests/activemq/pom.xml                 | 17 --------
 integration-tests/aws2-grouped/pom.xml             | 18 --------
 integration-tests/aws2/pom.xml                     | 24 ----------
 integration-tests/azure-eventhubs/pom.xml          | 17 --------
 integration-tests/bean-validator/pom.xml           | 17 --------
 integration-tests/box/pom.xml                      | 17 --------
 integration-tests/braintree/pom.xml                | 17 --------
 integration-tests/csimple/pom.xml                  | 17 --------
 integration-tests/dataformats-json/pom.xml         | 17 --------
 integration-tests/elasticsearch-rest/pom.xml       | 17 --------
 integration-tests/fhir/pom.xml                     | 17 --------
 integration-tests/google-pubsub/pom.xml            | 17 --------
 integration-tests/google/pom.xml                   | 17 --------
 integration-tests/infinispan/pom.xml               | 17 --------
 integration-tests/influxdb/pom.xml                 | 17 --------
 integration-tests/ipfs/pom.xml                     | 17 --------
 integration-tests/jira/pom.xml                     | 17 --------
 integration-tests/kafka/pom.xml                    | 17 --------
 integration-tests/kamelet/pom.xml                  | 17 --------
 integration-tests/lra/pom.xml                      | 17 --------
 integration-tests/main-caffeine-lrucache/pom.xml   | 17 --------
 integration-tests/main-collector/pom.xml           | 17 --------
 integration-tests/main-command-mode/pom.xml        | 17 --------
 integration-tests/main-devmode/pom.xml             | 17 --------
 integration-tests/main-discovery-disabled/pom.xml  | 17 --------
 integration-tests/main-xml-io/pom.xml              | 17 --------
 integration-tests/main-xml-jaxb/pom.xml            | 17 --------
 integration-tests/main/pom.xml                     | 17 --------
 integration-tests/messaging/pom.xml                | 17 --------
 integration-tests/micrometer/pom.xml               | 17 --------
 integration-tests/microprofile/pom.xml             | 17 --------
 .../camel/quarkus/component/netty/NettyBeans.java  | 29 +++++++-----
 .../camel/quarkus/component/netty/NettyRoutes.java | 12 -----
 integration-tests/openapi-java/pom.xml             | 17 --------
 integration-tests/opentracing/pom.xml              | 17 --------
 integration-tests/rabbitmq/pom.xml                 | 17 --------
 integration-tests/reactive-streams/pom.xml         | 17 --------
 integration-tests/rest/pom.xml                     | 17 --------
 integration-tests/salesforce/pom.xml               | 17 --------
 integration-tests/servicenow/pom.xml               | 17 --------
 integration-tests/slack/pom.xml                    | 17 --------
 integration-tests/telegram/pom.xml                 | 17 --------
 integration-tests/twilio/pom.xml                   | 17 --------
 integration-tests/twitter/pom.xml                  | 17 --------
 integration-tests/vertx-kafka/pom.xml              | 17 --------
 integration-tests/zendesk/pom.xml                  | 17 --------
 pom.xml                                            | 13 +++---
 poms/bom/pom.xml                                   | 30 +++++++++++++
 150 files changed, 419 insertions(+), 1224 deletions(-)
 copy docs/modules/ROOT/pages/reference/extensions/{java-joor-dsl.adoc => groovy-dsl.adoc} (56%)
 copy docs/modules/ROOT/pages/reference/extensions/{java-joor-dsl.adoc => kotlin-dsl.adoc} (56%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainHelper.java (97%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainHotDeploymentProcessor.java (92%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainNativeImageProcessor.java (85%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainProcessor.java (84%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/spi/CamelMainBuildItem.java (95%)
 rename extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/{CamelMainPresent.java => main/spi/CamelMainEnabled.java} (64%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/spi/CamelMainListenerBuildItem.java (95%)
 rename extensions-core/{main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main}/spi/CamelRoutesCollectorBuildItem.java (95%)
 copy extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelAutowiredDisabledTest.java} (91%)
 copy extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelComponentConfigurationTest.java} (73%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainAutoConfigurationTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainInjectTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainLambdaRouteBuilderDiscoveryTest.java (97%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainObserversTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainRouteTemplateTest.java (98%)
 copy extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainRoutesDiscoveryTest.java (97%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainRoutesFilterTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainUnknownArgumentFailTest.java (97%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainUnknownArgumentIgnoreTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main}/CamelMainUnknownArgumentWarnTest.java (98%)
 rename extensions-core/{main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java => core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java} (71%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainApplication.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java (85%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainEventBridge.java (100%)
 copy extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRecorder.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRuntime.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterConfigure.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStart.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStop.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeConfigure.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeInitialize.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStart.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStop.java (100%)
 rename extensions-core/{main => core}/runtime/src/main/java/org/apache/camel/quarkus/main/events/MainEvent.java (100%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/deployment/pom.xml (89%)
 copy extensions-core/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java => extensions-jvm/groovy-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/groovy/deployment/GroovyDslProcessor.java (83%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/integration-test/pom.xml (81%)
 copy extensions-core/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java => extensions-jvm/groovy-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslResource.java (87%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/integration-test/src/main/resources/application.properties (93%)
 copy extensions-core/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java => extensions-jvm/groovy-dsl/integration-test/src/main/resources/routes/my-routes.groovy (77%)
 copy extensions-core/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java => extensions-jvm/groovy-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslTest.java (83%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/pom.xml (93%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/runtime/pom.xml (90%)
 copy {extensions-core/java-joor-dsl => extensions-jvm/groovy-dsl}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (87%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/deployment/pom.xml (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/integration-test/pom.xml (89%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/integration-test/src/main/resources/application.properties (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/pom.xml (100%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/runtime/pom.xml (98%)
 copy {extensions-core => extensions-jvm}/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml (97%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/deployment/pom.xml (84%)
 rename extensions-core/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java => extensions-jvm/kotlin-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/kotlin/deployment/KotlinDslProcessor.java (83%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/integration-test/pom.xml (81%)
 rename extensions-core/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java => extensions-jvm/kotlin-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslResource.java (87%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/integration-test/src/main/resources/application.properties (93%)
 rename extensions-core/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java => extensions-jvm/kotlin-dsl/integration-test/src/main/resources/routes/my-routes.kts (77%)
 rename extensions-core/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java => extensions-jvm/kotlin-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslTest.java (83%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/pom.xml (93%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/runtime/pom.xml (89%)
 rename {extensions-core/java-joor-dsl => extensions-jvm/kotlin-dsl}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (87%)
 rename extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java => integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyBeans.java (57%)

[camel-quarkus] 03/08: Remove camel-quarkus-main dependencies from tests etc. #2358

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

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

commit 9c9c6ec6b6e4439d3b593359be808c7e0534dd86
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Mar 25 08:40:45 2021 +0100

    Remove camel-quarkus-main dependencies from tests etc. #2358
---
 catalog/pom.xml                                    | 13 ------------
 .../caffeine-lrucache/deployment/pom.xml           |  4 ++++
 extensions-core/caffeine-lrucache/runtime/pom.xml  |  5 +++++
 extensions-jvm/hbase/integration-test/pom.xml      | 17 ---------------
 extensions-jvm/spark/integration-test/pom.xml      | 17 ---------------
 integration-tests-aws2/aws2-cw/pom.xml             | 17 ---------------
 integration-tests-aws2/aws2-ddb/pom.xml            | 17 ---------------
 integration-tests-aws2/aws2-kinesis/pom.xml        | 17 ---------------
 integration-tests-aws2/aws2-lambda/pom.xml         | 17 ---------------
 integration-tests-aws2/aws2-s3/pom.xml             | 17 ---------------
 integration-tests-aws2/aws2-ses/pom.xml            | 17 ---------------
 integration-tests-aws2/aws2-sqs-sns/pom.xml        | 17 ---------------
 .../custom-main-listener/deployment/pom.xml        |  2 +-
 .../custom-main-listener/runtime/pom.xml           |  2 +-
 .../custom-routes-collector/deployment/pom.xml     |  2 +-
 .../custom-routes-collector/runtime/pom.xml        |  2 +-
 integration-tests/activemq/pom.xml                 | 17 ---------------
 integration-tests/aws2-grouped/pom.xml             | 18 ----------------
 integration-tests/aws2/pom.xml                     | 24 ----------------------
 integration-tests/azure-eventhubs/pom.xml          | 17 ---------------
 integration-tests/bean-validator/pom.xml           | 17 ---------------
 integration-tests/box/pom.xml                      | 17 ---------------
 integration-tests/braintree/pom.xml                | 17 ---------------
 integration-tests/csimple/pom.xml                  | 17 ---------------
 integration-tests/dataformats-json/pom.xml         | 17 ---------------
 integration-tests/elasticsearch-rest/pom.xml       | 17 ---------------
 integration-tests/fhir/pom.xml                     | 17 ---------------
 integration-tests/google-pubsub/pom.xml            | 17 ---------------
 integration-tests/google/pom.xml                   | 17 ---------------
 integration-tests/infinispan/pom.xml               | 17 ---------------
 integration-tests/influxdb/pom.xml                 | 17 ---------------
 integration-tests/ipfs/pom.xml                     | 17 ---------------
 integration-tests/jira/pom.xml                     | 17 ---------------
 integration-tests/kafka/pom.xml                    | 17 ---------------
 integration-tests/kamelet/pom.xml                  | 17 ---------------
 integration-tests/lra/pom.xml                      | 17 ---------------
 integration-tests/main-caffeine-lrucache/pom.xml   | 17 ---------------
 integration-tests/main-collector/pom.xml           | 17 ---------------
 integration-tests/main-command-mode/pom.xml        | 17 ---------------
 integration-tests/main-devmode/pom.xml             | 17 ---------------
 integration-tests/main-discovery-disabled/pom.xml  | 17 ---------------
 integration-tests/main-xml-io/pom.xml              | 17 ---------------
 integration-tests/main-xml-jaxb/pom.xml            | 17 ---------------
 integration-tests/main/pom.xml                     | 17 ---------------
 integration-tests/messaging/pom.xml                | 17 ---------------
 integration-tests/micrometer/pom.xml               | 17 ---------------
 integration-tests/microprofile/pom.xml             | 17 ---------------
 integration-tests/openapi-java/pom.xml             | 17 ---------------
 integration-tests/opentracing/pom.xml              | 17 ---------------
 integration-tests/rabbitmq/pom.xml                 | 17 ---------------
 integration-tests/reactive-streams/pom.xml         | 17 ---------------
 integration-tests/rest/pom.xml                     | 17 ---------------
 integration-tests/salesforce/pom.xml               | 17 ---------------
 integration-tests/servicenow/pom.xml               | 17 ---------------
 integration-tests/slack/pom.xml                    | 17 ---------------
 integration-tests/telegram/pom.xml                 | 17 ---------------
 integration-tests/twilio/pom.xml                   | 17 ---------------
 integration-tests/twitter/pom.xml                  | 17 ---------------
 integration-tests/vertx-kafka/pom.xml              | 17 ---------------
 integration-tests/zendesk/pom.xml                  | 17 ---------------
 60 files changed, 13 insertions(+), 926 deletions(-)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 65104f7..d5793ba 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -2376,19 +2376,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-management</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/extensions-core/caffeine-lrucache/deployment/pom.xml b/extensions-core/caffeine-lrucache/deployment/pom.xml
index 58dadf3..85d8e16 100644
--- a/extensions-core/caffeine-lrucache/deployment/pom.xml
+++ b/extensions-core/caffeine-lrucache/deployment/pom.xml
@@ -38,6 +38,10 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-caffeine-deployment</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/extensions-core/caffeine-lrucache/runtime/pom.xml b/extensions-core/caffeine-lrucache/runtime/pom.xml
index a37a625..8e5b0d0 100644
--- a/extensions-core/caffeine-lrucache/runtime/pom.xml
+++ b/extensions-core/caffeine-lrucache/runtime/pom.xml
@@ -44,6 +44,11 @@
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-caffeine</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+
 
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/extensions-jvm/hbase/integration-test/pom.xml b/extensions-jvm/hbase/integration-test/pom.xml
index 523b678..a585718 100644
--- a/extensions-jvm/hbase/integration-test/pom.xml
+++ b/extensions-jvm/hbase/integration-test/pom.xml
@@ -66,10 +66,6 @@
             <artifactId>camel-quarkus-hbase</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
@@ -114,19 +110,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/extensions-jvm/spark/integration-test/pom.xml b/extensions-jvm/spark/integration-test/pom.xml
index 72e4452..0c831b7 100644
--- a/extensions-jvm/spark/integration-test/pom.xml
+++ b/extensions-jvm/spark/integration-test/pom.xml
@@ -55,10 +55,6 @@
             <artifactId>camel-quarkus-spark</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
@@ -78,19 +74,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-spark-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests-aws2/aws2-cw/pom.xml b/integration-tests-aws2/aws2-cw/pom.xml
index 0d9e9e2..afe0c07 100644
--- a/integration-tests-aws2/aws2-cw/pom.xml
+++ b/integration-tests-aws2/aws2-cw/pom.xml
@@ -47,10 +47,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-cw</artifactId>
         </dependency>
         <dependency>
@@ -98,19 +94,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-ddb/pom.xml b/integration-tests-aws2/aws2-ddb/pom.xml
index 4f991e1..7224090 100644
--- a/integration-tests-aws2/aws2-ddb/pom.xml
+++ b/integration-tests-aws2/aws2-ddb/pom.xml
@@ -45,10 +45,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-ddb</artifactId>
         </dependency>
         <dependency>
@@ -96,19 +92,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-kinesis/pom.xml b/integration-tests-aws2/aws2-kinesis/pom.xml
index baab35f..11fd6fc 100644
--- a/integration-tests-aws2/aws2-kinesis/pom.xml
+++ b/integration-tests-aws2/aws2-kinesis/pom.xml
@@ -45,10 +45,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-kinesis</artifactId>
         </dependency>
         <dependency>
@@ -106,19 +102,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-lambda/pom.xml b/integration-tests-aws2/aws2-lambda/pom.xml
index 7a9669a..6877971 100644
--- a/integration-tests-aws2/aws2-lambda/pom.xml
+++ b/integration-tests-aws2/aws2-lambda/pom.xml
@@ -47,10 +47,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-lambda</artifactId>
         </dependency>
         <dependency>
@@ -103,19 +99,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-s3/pom.xml b/integration-tests-aws2/aws2-s3/pom.xml
index 30aad8c..8046b8b 100644
--- a/integration-tests-aws2/aws2-s3/pom.xml
+++ b/integration-tests-aws2/aws2-s3/pom.xml
@@ -44,10 +44,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-s3</artifactId>
         </dependency>
         <dependency>
@@ -90,19 +86,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-ses/pom.xml b/integration-tests-aws2/aws2-ses/pom.xml
index 48b09b5..bc0a1cd 100644
--- a/integration-tests-aws2/aws2-ses/pom.xml
+++ b/integration-tests-aws2/aws2-ses/pom.xml
@@ -46,10 +46,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-ses</artifactId>
         </dependency>
         <dependency>
@@ -98,19 +94,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests-aws2/aws2-sqs-sns/pom.xml b/integration-tests-aws2/aws2-sqs-sns/pom.xml
index d4cd5ae..109a25e 100644
--- a/integration-tests-aws2/aws2-sqs-sns/pom.xml
+++ b/integration-tests-aws2/aws2-sqs-sns/pom.xml
@@ -45,10 +45,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-sns</artifactId>
         </dependency>
         <dependency>
@@ -102,19 +98,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-sqs-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests-support/custom-main-listener/deployment/pom.xml b/integration-tests-support/custom-main-listener/deployment/pom.xml
index ff96500..816a89d 100644
--- a/integration-tests-support/custom-main-listener/deployment/pom.xml
+++ b/integration-tests-support/custom-main-listener/deployment/pom.xml
@@ -45,7 +45,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests-support/custom-main-listener/runtime/pom.xml b/integration-tests-support/custom-main-listener/runtime/pom.xml
index 88973ff..83eef5b 100644
--- a/integration-tests-support/custom-main-listener/runtime/pom.xml
+++ b/integration-tests-support/custom-main-listener/runtime/pom.xml
@@ -45,7 +45,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
+            <artifactId>camel-quarkus-core</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/integration-tests-support/custom-routes-collector/deployment/pom.xml b/integration-tests-support/custom-routes-collector/deployment/pom.xml
index c5179e4..40720f6 100644
--- a/integration-tests-support/custom-routes-collector/deployment/pom.xml
+++ b/integration-tests-support/custom-routes-collector/deployment/pom.xml
@@ -45,7 +45,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
diff --git a/integration-tests-support/custom-routes-collector/runtime/pom.xml b/integration-tests-support/custom-routes-collector/runtime/pom.xml
index 1ffb62b..648cfdf 100644
--- a/integration-tests-support/custom-routes-collector/runtime/pom.xml
+++ b/integration-tests-support/custom-routes-collector/runtime/pom.xml
@@ -45,7 +45,7 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
+            <artifactId>camel-quarkus-core</artifactId>
         </dependency>
     </dependencies>
 
diff --git a/integration-tests/activemq/pom.xml b/integration-tests/activemq/pom.xml
index 9b629a6..ddc0278 100644
--- a/integration-tests/activemq/pom.xml
+++ b/integration-tests/activemq/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-activemq</artifactId>
         </dependency>
         <dependency>
@@ -74,19 +70,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/aws2-grouped/pom.xml b/integration-tests/aws2-grouped/pom.xml
index f5ed8de..b34f049 100644
--- a/integration-tests/aws2-grouped/pom.xml
+++ b/integration-tests/aws2-grouped/pom.xml
@@ -88,10 +88,6 @@
             <artifactId>camel-quarkus-aws2-sqs</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-junit5</artifactId>
             <scope>test</scope>
@@ -227,20 +223,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-
     </dependencies>
 
     <build>
diff --git a/integration-tests/aws2/pom.xml b/integration-tests/aws2/pom.xml
index dfee6d6..cab00a2 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-tests/aws2/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-athena</artifactId>
         </dependency>
         <dependency>
@@ -303,26 +299,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <!--
-        <dependency>
-            <groupId>io.rest-assured</groupId>
-            <artifactId>rest-assured</artifactId>
-            <scope>test</scope>
-        </dependency>
-        -->
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer-deployment</artifactId>
diff --git a/integration-tests/azure-eventhubs/pom.xml b/integration-tests/azure-eventhubs/pom.xml
index b2baee0..d1f4911 100644
--- a/integration-tests/azure-eventhubs/pom.xml
+++ b/integration-tests/azure-eventhubs/pom.xml
@@ -56,10 +56,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-mock</artifactId>
         </dependency>
         <dependency>
@@ -108,19 +104,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-mock-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/bean-validator/pom.xml b/integration-tests/bean-validator/pom.xml
index 4f092ba..2577d7f 100644
--- a/integration-tests/bean-validator/pom.xml
+++ b/integration-tests/bean-validator/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-bean-validator</artifactId>
         </dependency>
         <dependency>
@@ -86,19 +82,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/box/pom.xml b/integration-tests/box/pom.xml
index 01c4734..b5fb7f2 100644
--- a/integration-tests/box/pom.xml
+++ b/integration-tests/box/pom.xml
@@ -35,10 +35,6 @@
             <artifactId>camel-quarkus-box</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
@@ -92,19 +88,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/braintree/pom.xml b/integration-tests/braintree/pom.xml
index 2ec1c16..04a8552 100644
--- a/integration-tests/braintree/pom.xml
+++ b/integration-tests/braintree/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-braintree</artifactId>
         </dependency>
         <dependency>
@@ -73,19 +69,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/csimple/pom.xml b/integration-tests/csimple/pom.xml
index bd6c25d..6f77ee8 100644
--- a/integration-tests/csimple/pom.xml
+++ b/integration-tests/csimple/pom.xml
@@ -57,10 +57,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-io-dsl</artifactId>
         </dependency>
 
@@ -105,19 +101,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-io-dsl-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/dataformats-json/pom.xml b/integration-tests/dataformats-json/pom.xml
index c799d65..0601a94 100644
--- a/integration-tests/dataformats-json/pom.xml
+++ b/integration-tests/dataformats-json/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-io-dsl</artifactId>
         </dependency>
         <dependency>
@@ -194,19 +190,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-vm-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/elasticsearch-rest/pom.xml b/integration-tests/elasticsearch-rest/pom.xml
index f686881..236d797 100644
--- a/integration-tests/elasticsearch-rest/pom.xml
+++ b/integration-tests/elasticsearch-rest/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-elasticsearch-rest</artifactId>
         </dependency>
         <dependency>
@@ -74,19 +70,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/fhir/pom.xml b/integration-tests/fhir/pom.xml
index fc3e63e..3519715 100644
--- a/integration-tests/fhir/pom.xml
+++ b/integration-tests/fhir/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-fhir</artifactId>
         </dependency>
         <dependency>
@@ -91,19 +87,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/integration-tests/google-pubsub/pom.xml b/integration-tests/google-pubsub/pom.xml
index 8140d25..5f16f6b 100644
--- a/integration-tests/google-pubsub/pom.xml
+++ b/integration-tests/google-pubsub/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-google-pubsub</artifactId>
         </dependency>
         <dependency>
@@ -74,19 +70,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests/google/pom.xml b/integration-tests/google/pom.xml
index 657adb1..2fa740e 100644
--- a/integration-tests/google/pom.xml
+++ b/integration-tests/google/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-google-calendar</artifactId>
         </dependency>
         <dependency>
@@ -131,19 +127,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/infinispan/pom.xml b/integration-tests/infinispan/pom.xml
index 450a84e..78e2079 100644
--- a/integration-tests/infinispan/pom.xml
+++ b/integration-tests/infinispan/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-infinispan</artifactId>
         </dependency>
         <dependency>
@@ -109,19 +105,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/influxdb/pom.xml b/integration-tests/influxdb/pom.xml
index 1d8b382..6b627f7 100644
--- a/integration-tests/influxdb/pom.xml
+++ b/integration-tests/influxdb/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-influxdb</artifactId>
         </dependency>
         <dependency>
@@ -80,19 +76,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/ipfs/pom.xml b/integration-tests/ipfs/pom.xml
index df81294..ff3fe0d 100644
--- a/integration-tests/ipfs/pom.xml
+++ b/integration-tests/ipfs/pom.xml
@@ -44,10 +44,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-ipfs</artifactId>
         </dependency>
         <dependency>
@@ -86,19 +82,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests/jira/pom.xml b/integration-tests/jira/pom.xml
index 1b7589b..ce1d9a7 100644
--- a/integration-tests/jira/pom.xml
+++ b/integration-tests/jira/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-jira</artifactId>
         </dependency>
         <dependency>
@@ -75,19 +71,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
 
diff --git a/integration-tests/kafka/pom.xml b/integration-tests/kafka/pom.xml
index df749fe..d1de906 100644
--- a/integration-tests/kafka/pom.xml
+++ b/integration-tests/kafka/pom.xml
@@ -36,10 +36,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-kafka</artifactId>
         </dependency>
         <dependency>
@@ -103,19 +99,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests/kamelet/pom.xml b/integration-tests/kamelet/pom.xml
index bb69e6b..f82a4ea 100644
--- a/integration-tests/kamelet/pom.xml
+++ b/integration-tests/kamelet/pom.xml
@@ -53,10 +53,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer</artifactId>
         </dependency>
         <dependency>
@@ -105,19 +101,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/lra/pom.xml b/integration-tests/lra/pom.xml
index 677d365..84048ef 100644
--- a/integration-tests/lra/pom.xml
+++ b/integration-tests/lra/pom.xml
@@ -59,10 +59,6 @@
             <artifactId>camel-quarkus-lra</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
             <groupId>io.quarkus</groupId>
             <artifactId>quarkus-resteasy</artifactId>
         </dependency>
@@ -142,19 +138,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
     </dependencies>
 
     <profiles>
diff --git a/integration-tests/main-caffeine-lrucache/pom.xml b/integration-tests/main-caffeine-lrucache/pom.xml
index 1baa4a4..d677295 100644
--- a/integration-tests/main-caffeine-lrucache/pom.xml
+++ b/integration-tests/main-caffeine-lrucache/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-caffeine-lrucache</artifactId>
         </dependency>
 
@@ -75,19 +71,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
 
     </dependencies>
 
diff --git a/integration-tests/main-collector/pom.xml b/integration-tests/main-collector/pom.xml
index 1c727d1..8ba2ad1 100644
--- a/integration-tests/main-collector/pom.xml
+++ b/integration-tests/main-collector/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-integration-tests-support-custom-routes-collector</artifactId>
         </dependency>
         <dependency>
@@ -106,19 +102,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/main-command-mode/pom.xml b/integration-tests/main-command-mode/pom.xml
index 64a2420..36d10be 100644
--- a/integration-tests/main-command-mode/pom.xml
+++ b/integration-tests/main-command-mode/pom.xml
@@ -35,10 +35,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-log</artifactId>
         </dependency>
         <dependency>
@@ -83,19 +79,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/main-devmode/pom.xml b/integration-tests/main-devmode/pom.xml
index 6a5289b..c769670 100644
--- a/integration-tests/main-devmode/pom.xml
+++ b/integration-tests/main-devmode/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-io-dsl</artifactId>
         </dependency>
         <dependency>
@@ -123,19 +119,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-timer-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/main-discovery-disabled/pom.xml b/integration-tests/main-discovery-disabled/pom.xml
index ead94eb..27a8842 100644
--- a/integration-tests/main-discovery-disabled/pom.xml
+++ b/integration-tests/main-discovery-disabled/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
@@ -96,19 +92,6 @@
                 </exclusion>
             </exclusions>
         </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
 
     </dependencies>
 
diff --git a/integration-tests/main-xml-io/pom.xml b/integration-tests/main-xml-io/pom.xml
index 946705e..85c7606 100644
--- a/integration-tests/main-xml-io/pom.xml
+++ b/integration-tests/main-xml-io/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-io-dsl</artifactId>
         </dependency>
         <dependency>
@@ -114,19 +110,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rest-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/main-xml-jaxb/pom.xml b/integration-tests/main-xml-jaxb/pom.xml
index aa4b4b3..05893f1 100644
--- a/integration-tests/main-xml-jaxb/pom.xml
+++ b/integration-tests/main-xml-jaxb/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-xml-jaxb</artifactId>
         </dependency>
         <dependency>
@@ -114,19 +110,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rest-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/main/pom.xml b/integration-tests/main/pom.xml
index e7a1033..b4865d8 100644
--- a/integration-tests/main/pom.xml
+++ b/integration-tests/main/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-endpointdsl</artifactId>
         </dependency>
         <dependency>
@@ -161,19 +157,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-reactive-executor-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/messaging/pom.xml b/integration-tests/messaging/pom.xml
index 1ba29b1..a766c60 100644
--- a/integration-tests/messaging/pom.xml
+++ b/integration-tests/messaging/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-jms</artifactId>
         </dependency>
         <dependency>
@@ -117,19 +113,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-mock-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/micrometer/pom.xml b/integration-tests/micrometer/pom.xml
index 8e5b422..cb8e349 100644
--- a/integration-tests/micrometer/pom.xml
+++ b/integration-tests/micrometer/pom.xml
@@ -45,10 +45,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
@@ -117,19 +113,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-micrometer-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/microprofile/pom.xml b/integration-tests/microprofile/pom.xml
index fa85511..1f0a24f 100644
--- a/integration-tests/microprofile/pom.xml
+++ b/integration-tests/microprofile/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-microprofile-fault-tolerance</artifactId>
         </dependency>
         <dependency>
@@ -100,19 +96,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-microprofile-fault-tolerance-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/openapi-java/pom.xml b/integration-tests/openapi-java/pom.xml
index 0f3592e..d8e49a7 100644
--- a/integration-tests/openapi-java/pom.xml
+++ b/integration-tests/openapi-java/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-direct</artifactId>
         </dependency>
         <dependency>
@@ -100,19 +96,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-openapi-java-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/opentracing/pom.xml b/integration-tests/opentracing/pom.xml
index b17bf80..3f41917 100644
--- a/integration-tests/opentracing/pom.xml
+++ b/integration-tests/opentracing/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-opentracing</artifactId>
         </dependency>
         <dependency>
@@ -70,19 +66,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-opentracing-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/rabbitmq/pom.xml b/integration-tests/rabbitmq/pom.xml
index 898fe10..d877019 100644
--- a/integration-tests/rabbitmq/pom.xml
+++ b/integration-tests/rabbitmq/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rabbitmq</artifactId>
         </dependency>
         <dependency>
@@ -63,19 +59,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rabbitmq-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/reactive-streams/pom.xml b/integration-tests/reactive-streams/pom.xml
index 45b6fd6..96201b0 100644
--- a/integration-tests/reactive-streams/pom.xml
+++ b/integration-tests/reactive-streams/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-reactive-streams</artifactId>
         </dependency>
         <dependency>
@@ -80,19 +76,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-reactive-streams-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/rest/pom.xml b/integration-tests/rest/pom.xml
index d8668d9..6a60b2e 100644
--- a/integration-tests/rest/pom.xml
+++ b/integration-tests/rest/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rest</artifactId>
         </dependency>
         <dependency>
@@ -58,19 +54,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-rest-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/salesforce/pom.xml b/integration-tests/salesforce/pom.xml
index 0a627b7..56411d3 100644
--- a/integration-tests/salesforce/pom.xml
+++ b/integration-tests/salesforce/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-salesforce</artifactId>
         </dependency>
         <dependency>
@@ -63,19 +59,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-salesforce-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/servicenow/pom.xml b/integration-tests/servicenow/pom.xml
index fa67353..66329f4 100644
--- a/integration-tests/servicenow/pom.xml
+++ b/integration-tests/servicenow/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-servicenow</artifactId>
         </dependency>
         <dependency>
@@ -63,19 +59,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-servicenow-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/slack/pom.xml b/integration-tests/slack/pom.xml
index 968e709..55bd0d9 100644
--- a/integration-tests/slack/pom.xml
+++ b/integration-tests/slack/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-netty-http</artifactId>
         </dependency>
         <dependency>
@@ -70,19 +66,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-netty-http-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/telegram/pom.xml b/integration-tests/telegram/pom.xml
index 59deac4..e741dc9 100644
--- a/integration-tests/telegram/pom.xml
+++ b/integration-tests/telegram/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-telegram</artifactId>
         </dependency>
         <dependency>
@@ -106,19 +102,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-platform-http-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/twilio/pom.xml b/integration-tests/twilio/pom.xml
index d2273b6..bb5b792 100644
--- a/integration-tests/twilio/pom.xml
+++ b/integration-tests/twilio/pom.xml
@@ -44,10 +44,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-twilio</artifactId>
         </dependency>
         <dependency>
@@ -75,19 +71,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-twilio-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/twitter/pom.xml b/integration-tests/twitter/pom.xml
index fafd2be..ac7ef23 100644
--- a/integration-tests/twitter/pom.xml
+++ b/integration-tests/twitter/pom.xml
@@ -32,10 +32,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-twitter</artifactId>
         </dependency>
         <dependency>
@@ -69,19 +65,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-twitter-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/vertx-kafka/pom.xml b/integration-tests/vertx-kafka/pom.xml
index eaca2c9..626f895 100644
--- a/integration-tests/vertx-kafka/pom.xml
+++ b/integration-tests/vertx-kafka/pom.xml
@@ -45,10 +45,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-vertx-kafka</artifactId>
         </dependency>
         <dependency>
@@ -81,19 +77,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-vertx-kafka-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/integration-tests/zendesk/pom.xml b/integration-tests/zendesk/pom.xml
index bd63063..95833a1 100644
--- a/integration-tests/zendesk/pom.xml
+++ b/integration-tests/zendesk/pom.xml
@@ -44,10 +44,6 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-zendesk</artifactId>
         </dependency>
         <dependency>
@@ -75,19 +71,6 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-main-deployment</artifactId>
-            <version>${project.version}</version>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>*</groupId>
-                    <artifactId>*</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-zendesk-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>

[camel-quarkus] 02/08: Merge camel-quarkus-main into camel-quarkus-core #2358

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

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

commit f77c3d2efe0ac25a9097043e12fab34ae16f8d7f
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Tue Mar 23 17:03:44 2021 +0100

    Merge camel-quarkus-main into camel-quarkus-core #2358
---
 .../ROOT/pages/reference/extensions/core.adoc      | 18 ++++++++
 .../ROOT/pages/reference/extensions/main.adoc      | 24 ----------
 .../core/deployment/CamelContextProcessor.java     |  5 +--
 .../core/deployment/main}/CamelMainHelper.java     |  2 +-
 .../main}/CamelMainHotDeploymentProcessor.java     |  5 ++-
 .../main}/CamelMainNativeImageProcessor.java       |  7 +--
 .../core/deployment/main}/CamelMainProcessor.java  | 51 ++++++++++++++--------
 .../deployment/main}/spi/CamelMainBuildItem.java   |  2 +-
 .../spi/CamelMainEnabled.java}                     | 24 ++++++----
 .../main}/spi/CamelMainListenerBuildItem.java      |  2 +-
 .../main}/spi/CamelRoutesCollectorBuildItem.java   |  2 +-
 .../main/CamelAutowiredDisabledTest.java}          | 11 +++--
 .../main/CamelComponentConfigurationTest.java}     | 29 ++++++------
 .../main}/CamelMainAutoConfigurationTest.java      |  2 +-
 .../core/deployment/main}/CamelMainInjectTest.java |  2 +-
 .../CamelMainLambdaRouteBuilderDiscoveryTest.java  |  2 +-
 .../deployment/main}/CamelMainObserversTest.java   |  2 +-
 .../main}/CamelMainRouteTemplateTest.java          |  2 +-
 .../main}/CamelMainRoutesDiscoveryTest.java        |  2 +-
 .../main}/CamelMainRoutesFilterTest.java           |  2 +-
 .../main}/CamelMainUnknownArgumentFailTest.java    |  2 +-
 .../main}/CamelMainUnknownArgumentIgnoreTest.java  |  2 +-
 .../main}/CamelMainUnknownArgumentWarnTest.java    |  2 +-
 .../core/deployment/main/DisabledMainTest.java}    | 30 +++++++------
 extensions-core/core/runtime/pom.xml               |  4 ++
 .../org/apache/camel/quarkus/main/CamelMain.java   |  0
 .../camel/quarkus/main/CamelMainApplication.java   |  0
 .../apache/camel/quarkus/main/CamelMainConfig.java |  8 ++++
 .../camel/quarkus/main/CamelMainEventBridge.java   |  0
 .../camel/quarkus/main/CamelMainProducers.java     |  0
 .../camel/quarkus/main/CamelMainRecorder.java      |  0
 .../quarkus/main/CamelMainRoutesCollector.java     |  0
 .../camel/quarkus/main/CamelMainRuntime.java       |  0
 .../camel/quarkus/main/events/AfterConfigure.java  |  0
 .../camel/quarkus/main/events/AfterStart.java      |  0
 .../camel/quarkus/main/events/AfterStop.java       |  0
 .../camel/quarkus/main/events/BeforeConfigure.java |  0
 .../quarkus/main/events/BeforeInitialize.java      |  0
 .../camel/quarkus/main/events/BeforeStart.java     |  0
 .../camel/quarkus/main/events/BeforeStop.java      |  0
 .../camel/quarkus/main/events/MainEvent.java       |  0
 extensions-core/main/deployment/pom.xml            | 38 ----------------
 .../quarkus/main/deployment/CamelMainFeature.java  | 11 +++--
 extensions-core/main/runtime/pom.xml               | 15 +------
 .../main/resources/META-INF/quarkus-extension.yaml |  1 +
 .../component/jfr/deployment/JfrProcessor.java     |  4 +-
 .../deployment/CustomMainListenerProcessor.java    |  2 +-
 .../deployment/CustomRoutesCollectorProcessor.java |  2 +-
 .../camel/quarkus/component/netty/NettyBeans.java  | 29 +++++++-----
 .../camel/quarkus/component/netty/NettyRoutes.java | 12 -----
 50 files changed, 171 insertions(+), 187 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/extensions/core.adoc b/docs/modules/ROOT/pages/reference/extensions/core.adoc
index ae0138b..2879a4a 100644
--- a/docs/modules/ROOT/pages/reference/extensions/core.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/core.adoc
@@ -165,6 +165,24 @@ A comma separated list of Ant-path style patterns to match class names that shou
 What to do if it is not possible to extract CSimple expressions from a route definition at build time.
 | `org.apache.camel.quarkus.core.CamelConfig.FailureRemedy`
 | `warn`
+
+|icon:lock[title=Fixed at build time] [[quarkus.camel.main.enabled]]`link:#quarkus.camel.main.enabled[quarkus.camel.main.enabled]`
+
+If `true` all `camel-main` features are enabled; otherwise no `camel-main` features are enabled. See described the link:https://camel.apache.org/camel-quarkus/latest/user-guide/bootstrap.html#_camel_main[Bootstrap] section of Camel Quarkus documentation for more details.
+| `boolean`
+| `true`
+
+|icon:lock[title=Fixed at build time] [[quarkus.camel.main.shutdown.timeout]]`link:#quarkus.camel.main.shutdown.timeout[quarkus.camel.main.shutdown.timeout]`
+
+A timeout (with millisecond precision) to wait for `CamelMain++#++stop()` to finish
+| `java.time.Duration`
+| `PT3S`
+
+|icon:lock[title=Fixed at build time] [[quarkus.camel.main.arguments.on-unknown]]`link:#quarkus.camel.main.arguments.on-unknown[quarkus.camel.main.arguments.on-unknown]`
+
+The action to take when `CamelMain` encounters an unknown argument. fail - Prints the `CamelMain` usage statement and throws a `RuntimeException` ignore - Suppresses any warnings and the application startup proceeds as normal warn - Prints the `CamelMain` usage statement but allows the application startup to proceed as normal
+| `org.apache.camel.quarkus.core.CamelConfig.FailureRemedy`
+| `warn`
 |===
 
 [.configuration-legend]
diff --git a/docs/modules/ROOT/pages/reference/extensions/main.adoc b/docs/modules/ROOT/pages/reference/extensions/main.adoc
index f3c6a80..4d37c2d 100644
--- a/docs/modules/ROOT/pages/reference/extensions/main.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/main.adoc
@@ -26,27 +26,3 @@ Bootstrap Camel using Camel Main which brings advanced auto-configuration capabi
 ----
 
 Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
-
-== Additional Camel Quarkus configuration
-
-[width="100%",cols="80,5,15",options="header"]
-|===
-| Configuration property | Type | Default
-
-
-|icon:lock[title=Fixed at build time] [[quarkus.camel.main.shutdown.timeout]]`link:#quarkus.camel.main.shutdown.timeout[quarkus.camel.main.shutdown.timeout]`
-
-A timeout (with millisecond precision) to wait for `CamelMain++#++stop()` to finish
-| `java.time.Duration`
-| `PT3S`
-
-|icon:lock[title=Fixed at build time] [[quarkus.camel.main.arguments.on-unknown]]`link:#quarkus.camel.main.arguments.on-unknown[quarkus.camel.main.arguments.on-unknown]`
-
-The action to take when `CamelMain` encounters an unknown argument. fail - Prints the `CamelMain` usage statement and throws a `RuntimeException` ignore - Suppresses any warnings and the application startup proceeds as normal warn - Prints the `CamelMain` usage statement but allows the application startup to proceed as normal
-| `org.apache.camel.quarkus.core.CamelConfig.FailureRemedy`
-| `warn`
-|===
-
-[.configuration-legend]
-icon:lock[title=Fixed at build time] Configuration property fixed at build time. All other configuration properties are overridable at runtime.
-
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
index f19632a..0d20e85 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelContextProcessor.java
@@ -23,13 +23,13 @@ import io.quarkus.arc.deployment.SyntheticBeansRuntimeInitBuildItem;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.Consume;
 import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Overridable;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.runtime.RuntimeValue;
 import org.apache.camel.CamelContext;
 import org.apache.camel.quarkus.core.CamelConfig;
 import org.apache.camel.quarkus.core.CamelContextRecorder;
 import org.apache.camel.quarkus.core.CamelRuntime;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextCustomizerBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelFactoryFinderResolverBuildItem;
@@ -121,8 +121,7 @@ public class CamelContextProcessor {
      * @param  config               a reference to the Camel Quarkus configuration
      * @return                      a build item holding a {@link CamelRuntime} instance.
      */
-    @Overridable
-    @BuildStep
+    @BuildStep(onlyIfNot = CamelMainEnabled.class)
     @Record(value = ExecutionTime.RUNTIME_INIT, optional = true)
     /* @Consume(SyntheticBeansRuntimeInitBuildItem.class) makes sure that camel-main starts after the ArC container is
      * fully initialized. This is required as under the hoods the camel registry may look-up beans form the
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHelper.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHelper.java
similarity index 97%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHelper.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHelper.java
index 6f60192..3f740f8 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHelper.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHelper.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.util.stream.Stream;
 
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHotDeploymentProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
similarity index 92%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHotDeploymentProcessor.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
index 8325147..574aeef 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainHotDeploymentProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainHotDeploymentProcessor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -24,6 +24,7 @@ import java.util.stream.Collectors;
 
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.HotDeploymentWatchedFileBuildItem;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -31,7 +32,7 @@ class CamelMainHotDeploymentProcessor {
     private static final Logger LOGGER = LoggerFactory.getLogger(CamelMainHotDeploymentProcessor.class);
     private static final String FILE_PREFIX = "file:";
 
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     List<HotDeploymentWatchedFileBuildItem> locations() {
         List<HotDeploymentWatchedFileBuildItem> items = CamelMainHelper.routesIncludePatter()
                 .filter(location -> location.startsWith(FILE_PREFIX))
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
similarity index 93%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
index b2f19e3..4d75ffa 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainNativeImageProcessor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
@@ -24,6 +24,7 @@ import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem;
 import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.support.ResourceHelper;
 import org.apache.camel.util.AntPathMatcher;
 import org.jboss.logging.Logger;
@@ -31,7 +32,7 @@ import org.jboss.logging.Logger;
 public class CamelMainNativeImageProcessor {
     private static final Logger LOG = Logger.getLogger(CamelMainNativeImageProcessor.class);
 
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     ReflectiveClassBuildItem reflectiveCLasses() {
         // TODO: The classes below are needed to fix https://github.com/apache/camel-quarkus/issues/1005
         //       but we need to investigate why it does not fail with Java 1.8
@@ -45,7 +46,7 @@ public class CamelMainNativeImageProcessor {
                 org.apache.camel.quarkus.main.CamelMainApplication.class);
     }
 
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     private void camelNativeImageResources(
             Capabilities capabilities,
             BuildProducer<NativeImageResourceBuildItem> nativeResource) {
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainProcessor.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
similarity index 84%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainProcessor.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
index 7106972..928b87a 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainProcessor.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/CamelMainProcessor.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -29,6 +29,7 @@ import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Overridable;
 import io.quarkus.deployment.annotations.Record;
 import io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem;
+import io.quarkus.deployment.builditem.CapabilityBuildItem;
 import io.quarkus.deployment.builditem.CombinedIndexBuildItem;
 import io.quarkus.runtime.RuntimeValue;
 import io.quarkus.runtime.annotations.QuarkusMain;
@@ -36,11 +37,17 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.quarkus.core.CamelConfig;
 import org.apache.camel.quarkus.core.CamelRecorder;
 import org.apache.camel.quarkus.core.CamelRuntime;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainBuildItem;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainListenerBuildItem;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelRoutesCollectorBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelContextBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesBuilderClassBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesLoaderBuildItems;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeTaskBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.ContainerBeansBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.RuntimeCamelContextCustomizerBuildItem;
 import org.apache.camel.quarkus.main.CamelMain;
@@ -48,24 +55,23 @@ import org.apache.camel.quarkus.main.CamelMainApplication;
 import org.apache.camel.quarkus.main.CamelMainConfig;
 import org.apache.camel.quarkus.main.CamelMainProducers;
 import org.apache.camel.quarkus.main.CamelMainRecorder;
-import org.apache.camel.quarkus.main.deployment.spi.CamelMainBuildItem;
-import org.apache.camel.quarkus.main.deployment.spi.CamelMainListenerBuildItem;
-import org.apache.camel.quarkus.main.deployment.spi.CamelRoutesCollectorBuildItem;
+import org.apache.camel.quarkus.support.common.CamelCapabilities;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.IndexView;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class CamelMainProcessor {
-    private static Logger LOGGER = LoggerFactory.getLogger(CamelMainProcessor.class);
 
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     void unremovableBeans(BuildProducer<AdditionalBeanBuildItem> beanProducer) {
         beanProducer.produce(AdditionalBeanBuildItem.unremovableOf(CamelMainProducers.class));
     }
 
-    @Overridable
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
+    CapabilityBuildItem capability() {
+        return new CapabilityBuildItem(CamelCapabilities.MAIN);
+    }
+
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
     public CamelRoutesLoaderBuildItems.Registry routesLoader(CamelConfig config, CamelRecorder recorder) {
         return config.routesDiscovery.enabled
@@ -74,7 +80,7 @@ public class CamelMainProcessor {
     }
 
     @Overridable
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     @Record(value = ExecutionTime.STATIC_INIT, optional = true)
     public CamelRoutesCollectorBuildItem routesCollector(
             CamelMainRecorder recorder,
@@ -97,7 +103,7 @@ public class CamelMainProcessor {
      * @return                      a build item holding a {@link CamelMain} instance.
      */
     @Record(ExecutionTime.STATIC_INIT)
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     CamelMainBuildItem main(
             BeanContainerBuildItem beanContainer,
             ContainerBeansBuildItem containerBeans,
@@ -142,7 +148,8 @@ public class CamelMainProcessor {
      * <li>Circuit Breaker
      * <li>Health
      * </ul>
-     * <li>take control of the application life-cycle and initiates Quarkus shutdown according to some conditions as example
+     * <li>take control of the application life-cycle and initiates Quarkus shutdown according to some conditions as
+     * example
      * after having processed a certain number of messages..
      * </ul>
      *
@@ -156,11 +163,13 @@ public class CamelMainProcessor {
      * @param  camelMainConfig a {@link CamelMainConfig}
      * @return                 a build item holding a {@link CamelRuntime} instance.
      */
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     @Record(value = ExecutionTime.RUNTIME_INIT, optional = true)
-    /* @Consume(SyntheticBeansRuntimeInitBuildItem.class) makes sure that camel-main starts after the ArC container is
+    /*
+     * @Consume(SyntheticBeansRuntimeInitBuildItem.class) makes sure that camel-main starts after the ArC container is
      * fully initialized. This is required as under the hoods the camel registry may look-up beans form the
-     * container thus we need it to be fully initialized to avoid unexpected behaviors. */
+     * container thus we need it to be fully initialized to avoid unexpected behaviors.
+     */
     @Consume(SyntheticBeansRuntimeInitBuildItem.class)
     CamelRuntimeBuildItem runtime(
             CombinedIndexBuildItem index,
@@ -189,9 +198,17 @@ public class CamelMainProcessor {
                 index.getIndex().getAnnotations(DotName.createSimple(QuarkusMain.class.getName())).isEmpty());
     }
 
-    @BuildStep
+    @BuildStep(onlyIf = CamelMainEnabled.class)
     AdditionalIndexedClassesBuildItem indexCamelMainApplication() {
         // Required for launching CamelMain based applications from the IDE
         return new AdditionalIndexedClassesBuildItem(CamelMainApplication.class.getName());
     }
+
+    @BuildStep(onlyIfNot = CamelMainEnabled.class)
+    void coreServicePatterns(BuildProducer<CamelServicePatternBuildItem> services) {
+        services.produce(new CamelServicePatternBuildItem(
+                CamelServiceDestination.DISCOVERY,
+                false,
+                "META-INF/services/org/apache/camel/configurer/org.apache.camel.main.*"));
+    }
 }
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainBuildItem.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainBuildItem.java
similarity index 95%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainBuildItem.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainBuildItem.java
index 99f7da8..501705c 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainBuildItem.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainBuildItem.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment.spi;
+package org.apache.camel.quarkus.core.deployment.main.spi;
 
 import io.quarkus.builder.item.SimpleBuildItem;
 import io.quarkus.runtime.RuntimeValue;
diff --git a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelMainPresent.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java
similarity index 64%
rename from extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelMainPresent.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java
index 2a222af..8612d07 100644
--- a/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/CamelMainPresent.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainEnabled.java
@@ -14,19 +14,27 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.core.deployment;
+package org.apache.camel.quarkus.core.deployment.main.spi;
 
 import java.util.function.BooleanSupplier;
 
-public class CamelMainPresent implements BooleanSupplier {
+import io.quarkus.runtime.RuntimeValue;
+import org.apache.camel.quarkus.main.CamelMain;
+import org.apache.camel.quarkus.main.CamelMainConfig;
+
+/**
+ * Holds the {@link CamelMain} {@link RuntimeValue}.
+ */
+public class CamelMainEnabled implements BooleanSupplier {
+
+    private final CamelMainConfig mainConfig;
+
+    CamelMainEnabled(CamelMainConfig mainConfig) {
+        this.mainConfig = mainConfig;
+    }
 
     @Override
     public boolean getAsBoolean() {
-        try {
-            Class.forName("org.apache.camel.quarkus.main.CamelMain");
-            return true;
-        } catch (ClassNotFoundException e) {
-            return false;
-        }
+        return mainConfig.enabled;
     }
 }
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainListenerBuildItem.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainListenerBuildItem.java
similarity index 95%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainListenerBuildItem.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainListenerBuildItem.java
index bfd4b71..1355dd1 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelMainListenerBuildItem.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelMainListenerBuildItem.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment.spi;
+package org.apache.camel.quarkus.core.deployment.main.spi;
 
 import io.quarkus.builder.item.MultiBuildItem;
 import io.quarkus.runtime.RuntimeValue;
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelRoutesCollectorBuildItem.java b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelRoutesCollectorBuildItem.java
similarity index 95%
rename from extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelRoutesCollectorBuildItem.java
rename to extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelRoutesCollectorBuildItem.java
index 5454cce..c7f68e4 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/spi/CamelRoutesCollectorBuildItem.java
+++ b/extensions-core/core/deployment/src/main/java/org/apache/camel/quarkus/core/deployment/main/spi/CamelRoutesCollectorBuildItem.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment.spi;
+package org.apache.camel.quarkus.core.deployment.main.spi;
 
 import io.quarkus.builder.item.SimpleBuildItem;
 import io.quarkus.runtime.RuntimeValue;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelAutowiredDisabledTest.java
similarity index 91%
copy from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java
copy to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelAutowiredDisabledTest.java
index 9d45d7a..f6430b6 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelAutowiredDisabledTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
@@ -40,7 +40,7 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-public class CamelMainAutoConfigurationTest {
+public class CamelAutowiredDisabledTest {
     @RegisterExtension
     static final QuarkusUnitTest CONFIG = new QuarkusUnitTest()
             .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
@@ -55,6 +55,7 @@ public class CamelMainAutoConfigurationTest {
         Properties props = new Properties();
         props.setProperty("quarkus.banner.enabled", "false");
         props.setProperty("quarkus.arc.remove-unused-beans", "false");
+        props.setProperty("camel.context.autowiredenabled", "false");
 
         try {
             props.store(writer, "");
@@ -74,11 +75,9 @@ public class CamelMainAutoConfigurationTest {
             assertThat(component.getExchangeFormatter()).isInstanceOf(MyExchangeFormatter.class);
         });
 
-        // ensure that the exchange formatter is taken from the container as
-        // LogComponent has no default instance thus it should be auto-wired
-        // by camel-main
+        // ensure that camel.context.autowiredenabled = false disables autowiring of the exchange formatter
         assertThat(main.getCamelContext().getComponent("log", LogComponent.class)).satisfies(component -> {
-            assertThat(component.getExchangeFormatter()).isInstanceOf(MyOtherExchangeFormatter.class);
+            assertThat(component.getExchangeFormatter()).isNull();
         });
     }
 
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelComponentConfigurationTest.java
similarity index 73%
copy from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
copy to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelComponentConfigurationTest.java
index e58cbad..1b6447e 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelComponentConfigurationTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
@@ -23,8 +23,10 @@ import java.util.Properties;
 
 import javax.inject.Inject;
 
+import io.quarkus.arc.Arc;
 import io.quarkus.test.QuarkusUnitTest;
-import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.direct.DirectComponent;
 import org.apache.camel.quarkus.main.CamelMain;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
@@ -35,21 +37,24 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-public class CamelMainRoutesDiscoveryTest {
+public class CamelComponentConfigurationTest {
     @RegisterExtension
     static final QuarkusUnitTest CONFIG = new QuarkusUnitTest()
             .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
                     .addAsResource(applicationProperties(), "application.properties"));
 
+    private static final int TIMEOUT = 1234;
+
     @Inject
-    CamelMain main;
+    CamelContext camelContext;
 
     public static Asset applicationProperties() {
         Writer writer = new StringWriter();
 
         Properties props = new Properties();
         props.setProperty("quarkus.banner.enabled", "false");
-        props.setProperty("quarkus.camel.routes-discovery.enabled", "false");
+        props.setProperty("quarkus.arc.remove-unused-beans", "false");
+        props.setProperty("camel.component.direct.timeout", String.valueOf(TIMEOUT));
 
         try {
             props.store(writer, "");
@@ -61,15 +66,13 @@ public class CamelMainRoutesDiscoveryTest {
     }
 
     @Test
-    public void testRoutesDiscovery() {
-        assertThat(main.getCamelContext().getRoutes()).isEmpty();
-        assertThat(main.configure().getRoutesBuilders()).isEmpty();
+    public void testComponentAutoConfiguration() {
+        assertThat(camelContext.getComponent("direct", DirectComponent.class).getTimeout()).isEqualTo(TIMEOUT);
     }
 
-    public static class MyRoute extends RouteBuilder {
-        @Override
-        public void configure() throws Exception {
-            from("direct:in").routeId("my-route").to("log:out");
-        }
+    @Test
+    public void mainAvailable() {
+        assertThat(Arc.container().instance(CamelMain.class).isAvailable()).isTrue();
     }
+
 }
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainAutoConfigurationTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainAutoConfigurationTest.java
index 9d45d7a..8d18cdf 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainAutoConfigurationTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainAutoConfigurationTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainInjectTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainInjectTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainInjectTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainInjectTest.java
index 14de57f..1967ad7 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainInjectTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainInjectTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainLambdaRouteBuilderDiscoveryTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainLambdaRouteBuilderDiscoveryTest.java
similarity index 97%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainLambdaRouteBuilderDiscoveryTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainLambdaRouteBuilderDiscoveryTest.java
index f2e951d..f45c428 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainLambdaRouteBuilderDiscoveryTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainLambdaRouteBuilderDiscoveryTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainObserversTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainObserversTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainObserversTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainObserversTest.java
index 214b286..dcc7e8e 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainObserversTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainObserversTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteTemplateTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRouteTemplateTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteTemplateTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRouteTemplateTest.java
index e91c15d..7277807 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRouteTemplateTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRouteTemplateTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesDiscoveryTest.java
similarity index 97%
copy from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
copy to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesDiscoveryTest.java
index e58cbad..0ca47c3 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesDiscoveryTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesFilterTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesFilterTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesFilterTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesFilterTest.java
index fa0ea0f..8568a1a 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesFilterTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainRoutesFilterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentFailTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentFailTest.java
similarity index 97%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentFailTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentFailTest.java
index 13ba8da..fdc8ff1 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentFailTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentFailTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentIgnoreTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentIgnoreTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentIgnoreTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentIgnoreTest.java
index 7ffa54b..c10a0a6 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentIgnoreTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentIgnoreTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentWarnTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentWarnTest.java
similarity index 98%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentWarnTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentWarnTest.java
index a112944..db70234 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainUnknownArgumentWarnTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/CamelMainUnknownArgumentWarnTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
diff --git a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java
similarity index 71%
rename from extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
rename to extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java
index e58cbad..3043a31 100644
--- a/extensions-core/main/deployment/src/test/java/org/apache/camel/quarkus/main/deployment/CamelMainRoutesDiscoveryTest.java
+++ b/extensions-core/core/deployment/src/test/java/org/apache/camel/quarkus/core/deployment/main/DisabledMainTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main.deployment;
+package org.apache.camel.quarkus.core.deployment.main;
 
 import java.io.IOException;
 import java.io.StringWriter;
@@ -23,8 +23,10 @@ import java.util.Properties;
 
 import javax.inject.Inject;
 
+import io.quarkus.arc.Arc;
 import io.quarkus.test.QuarkusUnitTest;
-import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.CamelContext;
+import org.apache.camel.component.direct.DirectComponent;
 import org.apache.camel.quarkus.main.CamelMain;
 import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.Asset;
@@ -35,21 +37,25 @@ import org.junit.jupiter.api.extension.RegisterExtension;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
-public class CamelMainRoutesDiscoveryTest {
+public class DisabledMainTest {
     @RegisterExtension
     static final QuarkusUnitTest CONFIG = new QuarkusUnitTest()
             .setArchiveProducer(() -> ShrinkWrap.create(JavaArchive.class)
                     .addAsResource(applicationProperties(), "application.properties"));
 
+    private static final int TIMEOUT = 1234;
+
     @Inject
-    CamelMain main;
+    CamelContext camelContext;
 
     public static Asset applicationProperties() {
         Writer writer = new StringWriter();
 
         Properties props = new Properties();
         props.setProperty("quarkus.banner.enabled", "false");
-        props.setProperty("quarkus.camel.routes-discovery.enabled", "false");
+        props.setProperty("quarkus.arc.remove-unused-beans", "false");
+        props.setProperty("camel.component.direct.timeout", String.valueOf(TIMEOUT));
+        props.setProperty("quarkus.camel.main.enabled", "false");
 
         try {
             props.store(writer, "");
@@ -61,15 +67,13 @@ public class CamelMainRoutesDiscoveryTest {
     }
 
     @Test
-    public void testRoutesDiscovery() {
-        assertThat(main.getCamelContext().getRoutes()).isEmpty();
-        assertThat(main.configure().getRoutesBuilders()).isEmpty();
+    public void componentAutoConfigurationNotWorking() {
+        assertThat(camelContext.getComponent("direct", DirectComponent.class).getTimeout()).isNotEqualTo(TIMEOUT);
     }
 
-    public static class MyRoute extends RouteBuilder {
-        @Override
-        public void configure() throws Exception {
-            from("direct:in").routeId("my-route").to("log:out");
-        }
+    @Test
+    public void mainUnavailable() {
+        assertThat(Arc.container().instance(CamelMain.class).isAvailable()).isFalse();
     }
+
 }
diff --git a/extensions-core/core/runtime/pom.xml b/extensions-core/core/runtime/pom.xml
index ade5d9a..1596936 100644
--- a/extensions-core/core/runtime/pom.xml
+++ b/extensions-core/core/runtime/pom.xml
@@ -94,6 +94,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
+            <artifactId>camel-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
             <artifactId>camel-microprofile-config</artifactId>
         </dependency>
 
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMain.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainApplication.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainApplication.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainApplication.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainApplication.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
similarity index 85%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
index e249b93..140f125 100644
--- a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
+++ b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainConfig.java
@@ -26,6 +26,14 @@ import org.apache.camel.quarkus.core.CamelConfig.FailureRemedy;
 
 @ConfigRoot(name = "camel.main", phase = ConfigPhase.BUILD_AND_RUN_TIME_FIXED)
 public class CamelMainConfig {
+    /**
+     * If {@code true} all {@code camel-main} features are enabled; otherwise no {@code camel-main} features are
+     * enabled. See described the
+     * <a href="https://camel.apache.org/camel-quarkus/latest/user-guide/bootstrap.html#_camel_main">Bootstrap</a>
+     * section of Camel Quarkus documentation for more details.
+     */
+    @ConfigItem(defaultValue = "true")
+    public boolean enabled;
 
     /**
      * Build time configuration options for {@link CamelMain} shutdown.
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainEventBridge.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainEventBridge.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainEventBridge.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainEventBridge.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java
similarity index 100%
copy from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java
copy to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRecorder.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRecorder.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRecorder.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRecorder.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRoutesCollector.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRuntime.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRuntime.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRuntime.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainRuntime.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterConfigure.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterConfigure.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterConfigure.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterConfigure.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStart.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStart.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStart.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStart.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStop.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStop.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStop.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/AfterStop.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeConfigure.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeConfigure.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeConfigure.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeConfigure.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeInitialize.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeInitialize.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeInitialize.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeInitialize.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStart.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStart.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStart.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStart.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStop.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStop.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStop.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/BeforeStop.java
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/MainEvent.java b/extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/MainEvent.java
similarity index 100%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/events/MainEvent.java
rename to extensions-core/core/runtime/src/main/java/org/apache/camel/quarkus/main/events/MainEvent.java
diff --git a/extensions-core/main/deployment/pom.xml b/extensions-core/main/deployment/pom.xml
index 4ada70e..e261a75 100644
--- a/extensions-core/main/deployment/pom.xml
+++ b/extensions-core/main/deployment/pom.xml
@@ -28,17 +28,6 @@
     <name>Camel Quarkus :: Main :: Deployment</name>
 
     <dependencies>
-        <!-- quarkus -->
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-core-deployment</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-arc-deployment</artifactId>
-        </dependency>
-
-        <!-- camel -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-main</artifactId>
@@ -47,33 +36,6 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core-deployment</artifactId>
         </dependency>
-
-        <!-- test dependencies -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-direct</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-log</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit5-internal</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.awaitility</groupId>
-            <artifactId>awaitility</artifactId>
-            <scope>test</scope>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainFeature.java b/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainFeature.java
index 24565c4..3f44c0e 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainFeature.java
+++ b/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainFeature.java
@@ -17,20 +17,19 @@
 package org.apache.camel.quarkus.main.deployment;
 
 import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.builditem.CapabilityBuildItem;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
-import org.apache.camel.quarkus.support.common.CamelCapabilities;
+import org.jboss.logging.Logger;
 
 class CamelMainFeature {
+    private static final Logger LOG = Logger.getLogger(CamelMainFeature.class);
     private static final String FEATURE = "camel-main";
 
     @BuildStep
     FeatureBuildItem feature() {
+        // see https://github.com/apache/camel-quarkus/issues/2358
+        LOG.warnf(
+                "camel-quarkus-main is deprecated and will be removed in the future; use camel-quarkus-core instead");
         return new FeatureBuildItem(FEATURE);
     }
 
-    @BuildStep
-    CapabilityBuildItem capability() {
-        return new CapabilityBuildItem(CamelCapabilities.MAIN);
-    }
 }
diff --git a/extensions-core/main/runtime/pom.xml b/extensions-core/main/runtime/pom.xml
index 2b11042..6fb1545 100644
--- a/extensions-core/main/runtime/pom.xml
+++ b/extensions-core/main/runtime/pom.xml
@@ -32,6 +32,7 @@
     <properties>
         <camel.quarkus.jvmSince>1.0.0</camel.quarkus.jvmSince>
         <camel.quarkus.nativeSince>1.0.0</camel.quarkus.nativeSince>
+        <quarkus.metadata.deprecated>true</quarkus.metadata.deprecated>
     </properties>
 
     <dependencyManagement>
@@ -48,23 +49,9 @@
 
     <dependencies>
         <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-arc</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-core</artifactId>
         </dependency>
-
-        <!-- camel -->
-        <dependency>
-            <groupId>org.apache.camel</groupId>
-            <artifactId>camel-main</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions-core/main/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-core/main/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index 1f24897..514f7bf 100644
--- a/extensions-core/main/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions-core/main/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -29,3 +29,4 @@ metadata:
   - "integration"
   status:
   - "stable"
+  - "deprecated"
\ No newline at end of file
diff --git a/extensions-jvm/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java b/extensions-jvm/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
index ef8ad15..8956642 100644
--- a/extensions-jvm/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
+++ b/extensions-jvm/jfr/deployment/src/main/java/org/apache/camel/quarkus/component/jfr/deployment/JfrProcessor.java
@@ -23,7 +23,7 @@ import io.quarkus.deployment.builditem.FeatureBuildItem;
 import io.quarkus.deployment.pkg.steps.NativeBuild;
 import org.apache.camel.quarkus.component.jfr.CamelJfrConfig;
 import org.apache.camel.quarkus.component.jfr.CamelJfrRecorder;
-import org.apache.camel.quarkus.core.deployment.CamelMainPresent;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainEnabled;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServiceDestination;
 import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.apache.camel.quarkus.core.deployment.spi.CamelStartupStepRecorderBuildItem;
@@ -37,7 +37,7 @@ class JfrProcessor {
         return new FeatureBuildItem(FEATURE);
     }
 
-    @BuildStep(onlyIf = { CamelMainPresent.class })
+    @BuildStep(onlyIf = { CamelMainEnabled.class })
     CamelServicePatternBuildItem excludeCamelJfrServicePattern() {
         // Prevent camel main from overwriting the FlightRecorderStartupStepRecorder configured by this extension
         return new CamelServicePatternBuildItem(CamelServiceDestination.DISCOVERY, false,
diff --git a/integration-tests-support/custom-main-listener/deployment/src/main/java/org/apache/camel/quarkus/it/support/mainlistener/deployment/CustomMainListenerProcessor.java b/integration-tests-support/custom-main-listener/deployment/src/main/java/org/apache/camel/quarkus/it/support/mainlistener/deployment/CustomMainListenerProcessor.java
index 81f8ef3..2ddee21 100644
--- a/integration-tests-support/custom-main-listener/deployment/src/main/java/org/apache/camel/quarkus/it/support/mainlistener/deployment/CustomMainListenerProcessor.java
+++ b/integration-tests-support/custom-main-listener/deployment/src/main/java/org/apache/camel/quarkus/it/support/mainlistener/deployment/CustomMainListenerProcessor.java
@@ -19,8 +19,8 @@ package org.apache.camel.quarkus.it.support.mainlistener.deployment;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelMainListenerBuildItem;
 import org.apache.camel.quarkus.it.support.mainlistener.CustomMainListenerRecorder;
-import org.apache.camel.quarkus.main.deployment.spi.CamelMainListenerBuildItem;
 
 public class CustomMainListenerProcessor {
     @Record(ExecutionTime.STATIC_INIT)
diff --git a/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java b/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
index 5c03edf..41678e5 100644
--- a/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
+++ b/integration-tests-support/custom-routes-collector/deployment/src/main/java/org/apache/camel/quarkus/main/runtime/support/deployment/CustomRoutesCollectorProcessor.java
@@ -19,7 +19,7 @@ package org.apache.camel.quarkus.main.runtime.support.deployment;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
-import org.apache.camel.quarkus.main.deployment.spi.CamelRoutesCollectorBuildItem;
+import org.apache.camel.quarkus.core.deployment.main.spi.CamelRoutesCollectorBuildItem;
 import org.apache.camel.quarkus.main.runtime.support.CustomRoutesCollectorRecorder;
 
 public class CustomRoutesCollectorProcessor {
diff --git a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java b/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyBeans.java
similarity index 57%
rename from extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java
rename to integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyBeans.java
index f830cc3..7db57f5 100644
--- a/extensions-core/main/runtime/src/main/java/org/apache/camel/quarkus/main/CamelMainProducers.java
+++ b/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyBeans.java
@@ -14,22 +14,31 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.quarkus.main;
+package org.apache.camel.quarkus.component.netty;
 
 import javax.enterprise.inject.Produces;
-import javax.inject.Singleton;
+import javax.inject.Named;
 
-@Singleton
-public class CamelMainProducers {
-    private volatile CamelMain main;
+import io.netty.channel.ChannelHandler;
+import org.apache.camel.component.netty.ChannelHandlerFactory;
 
-    public void setMain(CamelMain main) {
-        this.main = main;
+public class NettyBeans {
+    @Produces
+    @Named("tcpNullDelimitedHandler")
+    ChannelHandlerFactory tcpNullDelimitedHandler() {
+        return NettyCodecHelper.createNullDelimitedHandler("tcp");
     }
 
-    @Singleton
     @Produces
-    CamelMain camelMain() {
-        return this.main;
+    @Named("bytesDecoder")
+    ChannelHandler bytesDecoder() {
+        return NettyCodecHelper.createBytesDecoder();
     }
+
+    @Produces
+    @Named("bytesEncoder")
+    private ChannelHandler bytesEncoder() {
+        return NettyCodecHelper.createBytesEncoder();
+    }
+
 }
diff --git a/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyRoutes.java b/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyRoutes.java
index 117d5f6..e46af69 100644
--- a/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyRoutes.java
+++ b/integration-tests/netty/src/main/java/org/apache/camel/quarkus/component/netty/NettyRoutes.java
@@ -16,22 +16,10 @@
  */
 package org.apache.camel.quarkus.component.netty;
 
-import io.netty.channel.ChannelHandler;
-import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.netty.ChannelHandlerFactory;
 
 public class NettyRoutes extends RouteBuilder {
 
-    @BindToRegistry("tcpNullDelimitedHandler")
-    private ChannelHandlerFactory tcpNullDelimitedHandler = NettyCodecHelper.createNullDelimitedHandler("tcp");
-
-    @BindToRegistry("bytesDecoder")
-    private ChannelHandler bytesDecoder = NettyCodecHelper.createBytesDecoder();
-
-    @BindToRegistry("bytesEncoder")
-    private ChannelHandler bytesEncoder = NettyCodecHelper.createBytesEncoder();
-
     @Override
     public void configure() {
         from("netty:tcp://localhost:{{camel.netty.test-tcp-port}}?textline=true&sync=true")

[camel-quarkus] 05/08: Workaround for #2340 Spring RabbitMQ integration test fails in native mode with Camel 3.9.0

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

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

commit a3d821401df9bc8591cb194faadef3ed8dec76de
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Mar 25 22:06:08 2021 +0100

    Workaround for #2340 Spring RabbitMQ integration test fails in native mode with Camel 3.9.0
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index d79eb51..9e61ac1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -109,7 +109,7 @@
         <smallrye.reactive.messaging.camel.version>2.9.0</smallrye.reactive.messaging.camel.version> <!-- keep in sync with Quarkus SmallRye Reactive Messaging -->
         <soap-api.version>1.4.0</soap-api.version><!-- keep in sync with Camel -->
         <!-- Keep spring.version aligned with the version used by Camel -->
-        <spring.version>${spring5-version}</spring.version>
+        <spring.version>5.3.3</spring.version> <!-- Should be ${spring5-version}, workaround for https://github.com/apache/camel-quarkus/issues/2340 -->
         <snakeyaml.version>${snakeyaml-version}</snakeyaml.version>
         <snappy.version>1.1.7.7</snappy.version><!-- Spark -->
         <threetenbp.version>1.4.0</threetenbp.version>

[camel-quarkus] 07/08: dsl: support for groovy-dsl

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

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

commit 6ccd2fbce0e28a9dcfc28e37477fd14b6e21072a
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Mar 25 22:37:26 2021 +0100

    dsl: support for groovy-dsl
---
 catalog/pom.xml                                    |  26 +++++
 docs/modules/ROOT/nav.adoc                         |   1 +
 .../pages/reference/extensions/groovy-dsl.adoc     |  27 +++++
 extensions-jvm/groovy-dsl/deployment/pom.xml       |  61 ++++++++++++
 .../dsl/groovy/deployment/GroovyDslProcessor.java  |  37 +++++++
 extensions-jvm/groovy-dsl/integration-test/pom.xml | 110 +++++++++++++++++++++
 .../quarkus/dsl/groovy/GroovyDslResource.java      |  60 +++++++++++
 .../src/main/resources/application.properties      |  21 ++++
 .../src/main/resources/routes/my-routes.groovy     |  19 ++++
 .../camel/quarkus/dsl/groovy/GroovyDslTest.java    |  49 +++++++++
 extensions-jvm/groovy-dsl/pom.xml                  |  38 +++++++
 extensions-jvm/groovy-dsl/runtime/pom.xml          | 109 ++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  32 ++++++
 extensions-jvm/pom.xml                             |   1 +
 poms/bom/pom.xml                                   |  15 +++
 15 files changed, 606 insertions(+)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index 177990a..ef60a64 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -1557,6 +1557,19 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-groovy-dsl</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-grpc</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
@@ -2389,6 +2402,19 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-management</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 92584b6..7003859 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -131,6 +131,7 @@
 *** xref:reference/extensions/graphql.adoc[GraphQL]
 *** xref:reference/extensions/grok.adoc[Grok]
 *** xref:reference/extensions/groovy.adoc[Groovy]
+*** xref:reference/extensions/groovy-dsl.adoc[Groovy DSL]
 *** xref:reference/extensions/gson.adoc[Gson]
 *** xref:reference/extensions/guava-eventbus.adoc[Guava EventBus]
 *** xref:reference/extensions/hbase.adoc[HBase]
diff --git a/docs/modules/ROOT/pages/reference/extensions/groovy-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/groovy-dsl.adoc
new file mode 100644
index 0000000..390b897
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/groovy-dsl.adoc
@@ -0,0 +1,27 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+= Groovy DSL
+:cq-artifact-id: camel-quarkus-groovy-dsl
+:cq-native-supported: false
+:cq-status: Preview
+:cq-description: Support for parsing Groovy route definitions at runtime
+:cq-deprecated: false
+:cq-jvm-since: 1.8.0
+:cq-native-since: n/a
+
+[.badges]
+[.badge-key]##JVM since##[.badge-supported]##1.8.0## [.badge-key]##Native##[.badge-unsupported]##unsupported##
+
+Support for parsing Groovy route definitions at runtime
+
+== Maven coordinates
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.quarkus</groupId>
+    <artifactId>camel-quarkus-groovy-dsl</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
diff --git a/extensions-jvm/groovy-dsl/deployment/pom.xml b/extensions-jvm/groovy-dsl/deployment/pom.xml
new file mode 100644
index 0000000..8cf5b88
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/deployment/pom.xml
@@ -0,0 +1,61 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-groovy-dsl-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-groovy-dsl-deployment</artifactId>
+    <name>Camel Quarkus :: Groovy DSL :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-groovy-dsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions-jvm/groovy-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/groovy/deployment/GroovyDslProcessor.java b/extensions-jvm/groovy-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/groovy/deployment/GroovyDslProcessor.java
new file mode 100644
index 0000000..de170e8
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/groovy/deployment/GroovyDslProcessor.java
@@ -0,0 +1,37 @@
+/*
+ * 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.quarkus.dsl.groovy.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.pkg.steps.NativeBuild;
+
+public class GroovyDslProcessor {
+    private static final String FEATURE = "camel-groovy-dsl";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep(onlyIf = NativeBuild.class)
+    void nativeUnsupported() {
+        throw new RuntimeException("The " + FEATURE + " extension is not supported in native mode "
+                + "as loading Groovy code at runtime is not supported on GraalVM");
+    }
+}
diff --git a/extensions-jvm/groovy-dsl/integration-test/pom.xml b/extensions-jvm/groovy-dsl/integration-test/pom.xml
new file mode 100644
index 0000000..a51f350
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/integration-test/pom.xml
@@ -0,0 +1,110 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent-it</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-groovy-dsl-integration-test</artifactId>
+    <name>Camel Quarkus :: Groovy DSL :: Integration Test</name>
+    <description>Integration tests for Camel Groovy DSL extension</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-groovy-dsl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy-jsonb</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-groovy-dsl-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/extensions-jvm/groovy-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslResource.java b/extensions-jvm/groovy-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslResource.java
new file mode 100644
index 0000000..6ccb0cb
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslResource.java
@@ -0,0 +1,60 @@
+/*
+ * 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.quarkus.dsl.groovy;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.json.Json;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonObject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.dsl.groovy.GroovyRoutesBuilderLoader;
+import org.apache.camel.quarkus.main.CamelMain;
+import org.apache.camel.spi.RoutesBuilderLoader;
+
+@Path("/test")
+@ApplicationScoped
+public class GroovyDslResource {
+    @Inject
+    CamelMain main;
+
+    @Path("/main/describe")
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    public JsonObject describeMain() {
+        final ExtendedCamelContext camelContext = main.getCamelContext().adapt(ExtendedCamelContext.class);
+
+        JsonArrayBuilder routeBuilders = Json.createArrayBuilder();
+        main.configure().getRoutesBuilders().forEach(builder -> routeBuilders.add(builder.getClass().getName()));
+
+        JsonArrayBuilder routes = Json.createArrayBuilder();
+        main.getCamelContext().getRoutes().forEach(route -> routes.add(route.getId()));
+
+        return Json.createObjectBuilder()
+                .add("routes-builder-loader",
+                        camelContext.getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH)
+                                .findClass(GroovyRoutesBuilderLoader.EXTENSION).get().getName())
+                .add("routeBuilders", routeBuilders)
+                .add("routes", routes)
+                .build();
+    }
+}
diff --git a/extensions-jvm/groovy-dsl/integration-test/src/main/resources/application.properties b/extensions-jvm/groovy-dsl/integration-test/src/main/resources/application.properties
new file mode 100644
index 0000000..2d233c8
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/integration-test/src/main/resources/application.properties
@@ -0,0 +1,21 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+#
+# Main
+#
+camel.main.routes-include-pattern = classpath:routes/my-routes.groovy
diff --git a/extensions-jvm/groovy-dsl/integration-test/src/main/resources/routes/my-routes.groovy b/extensions-jvm/groovy-dsl/integration-test/src/main/resources/routes/my-routes.groovy
new file mode 100644
index 0000000..f0136d0
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/integration-test/src/main/resources/routes/my-routes.groovy
@@ -0,0 +1,19 @@
+/*
+ * 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.
+ */
+from('direct:start')
+    .id('my-groovy-route')
+    .log('Hello Groovy !!!')
\ No newline at end of file
diff --git a/extensions-jvm/groovy-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslTest.java b/extensions-jvm/groovy-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslTest.java
new file mode 100644
index 0000000..67fca5a
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/groovy/GroovyDslTest.java
@@ -0,0 +1,49 @@
+/*
+ * 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.quarkus.dsl.groovy;
+
+import javax.ws.rs.core.MediaType;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import org.apache.camel.dsl.groovy.GroovyRoutesBuilderLoader;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@QuarkusTest
+public class GroovyDslTest {
+    @Test
+    public void testMainInstanceWithJavaRoutes() {
+        JsonPath p = RestAssured.given()
+                .accept(MediaType.APPLICATION_JSON)
+                .get("/test/main/describe")
+                .then()
+                .statusCode(200)
+                .extract()
+                .body()
+                .jsonPath();
+
+        assertThat(p.getString("routes-builder-loader"))
+                .isEqualTo(GroovyRoutesBuilderLoader.class.getName());
+        assertThat(p.getList("routeBuilders", String.class))
+                .isEmpty();
+        assertThat(p.getList("routes", String.class))
+                .contains("my-groovy-route");
+    }
+}
diff --git a/extensions-jvm/groovy-dsl/pom.xml b/extensions-jvm/groovy-dsl/pom.xml
new file mode 100644
index 0000000..74cea22
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/pom.xml
@@ -0,0 +1,38 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-groovy-dsl-parent</artifactId>
+    <name>Camel Quarkus :: Groovy DSL</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+        <module>integration-test</module>
+    </modules>
+</project>
diff --git a/extensions-jvm/groovy-dsl/runtime/pom.xml b/extensions-jvm/groovy-dsl/runtime/pom.xml
new file mode 100644
index 0000000..3e8ae7e
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/runtime/pom.xml
@@ -0,0 +1,109 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-groovy-dsl-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-groovy-dsl</artifactId>
+    <name>Camel Quarkus :: Groovy DSL :: Runtime</name>
+    <description>Support for parsing Groovy route definitions at runtime</description>
+
+    <properties>
+        <camel.quarkus.jvmSince>1.8.0</camel.quarkus.jvmSince>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-groovy-dsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>full</id>
+            <activation>
+                <property>
+                    <name>!quickly</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.camel.quarkus</groupId>
+                        <artifactId>camel-quarkus-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>update-extension-doc-page</id>
+                                <goals>
+                                    <goal>update-extension-doc-page</goal>
+                                </goals>
+                                <phase>process-classes</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/extensions-jvm/groovy-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/groovy-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..0635a7e
--- /dev/null
+++ b/extensions-jvm/groovy-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,32 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+#   mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel Groovy DSL"
+description: "Support for parsing Groovy route definitions at runtime"
+metadata:
+  unlisted: true
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/groovy-dsl.html"
+  categories:
+  - "integration"
+  status:
+  - "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index 2a278a0..83805fc 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -65,6 +65,7 @@
         <module>flink</module>
         <module>ganglia</module>
         <module>groovy</module>
+        <module>groovy-dsl</module>
         <module>guava-eventbus</module>
         <module>hbase</module>
         <module>hdfs</module>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index c6df7a8..cbefde3 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -927,6 +927,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-groovy-dsl</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-grpc</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -3297,6 +3302,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-groovy-dsl</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-groovy-dsl-deployment</artifactId>
+                <version>${camcamel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-grpc</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>

[camel-quarkus] 08/08: Stop CI testing on Java 8 #2287

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

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

commit f5a8ad0e6322cceb480de5b8d7cf05feeabe9698
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Mar 25 23:32:08 2021 +0100

    Stop CI testing on Java 8 #2287
---
 .github/workflows/ci-build.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/ci-build.yaml b/.github/workflows/ci-build.yaml
index 01300cb..58f3056 100644
--- a/.github/workflows/ci-build.yaml
+++ b/.github/workflows/ci-build.yaml
@@ -236,7 +236,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        java: [ '8' , '11', '15' ]
+        java: [ '11', '15' ]
     env:
       MAVEN_OPTS: -Xmx3000m
     steps:
@@ -328,7 +328,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        java: [ '8' , '11', '15' ]
+        java: [ '11', '15' ]
     steps:
       - name: Setup apache-snapshots profile
         if: github.ref == 'refs/heads/camel-master' || github.base_ref == 'camel-master'

[camel-quarkus] 04/08: Move java-joor to extensions-jvm directory

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

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

commit dfeabc115cb205da6c53a5a874e41f87c2096e60
Author: Peter Palaga <pp...@redhat.com>
AuthorDate: Thu Mar 25 20:57:41 2021 +0100

    Move java-joor to extensions-jvm directory
---
 .../ROOT/pages/reference/extensions/java-joor-dsl.adoc      |  8 ++++----
 extensions-core/pom.xml                                     |  1 -
 .../java-joor-dsl/deployment/pom.xml                        |  0
 .../dsl/java/joor/deployment/JavaJoorDslProcessor.java      |  0
 .../java-joor-dsl/integration-test/pom.xml                  | 13 +++++++++++++
 .../camel/quarkus/dsl/java/joor/JavaJoorDslResource.java    |  0
 .../src/main/resources/application.properties               |  0
 .../src/main/resources/routes/MyRoutes.java                 |  0
 .../apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java |  0
 {extensions-core => extensions-jvm}/java-joor-dsl/pom.xml   |  0
 .../java-joor-dsl/runtime/pom.xml                           |  1 -
 .../src/main/resources/META-INF/quarkus-extension.yaml      |  3 ++-
 extensions-jvm/pom.xml                                      |  1 +
 13 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/docs/modules/ROOT/pages/reference/extensions/java-joor-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/java-joor-dsl.adoc
index 25db11f..74d00d5 100644
--- a/docs/modules/ROOT/pages/reference/extensions/java-joor-dsl.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/java-joor-dsl.adoc
@@ -2,15 +2,15 @@
 // This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
 = Java jOOR DSL
 :cq-artifact-id: camel-quarkus-java-joor-dsl
-:cq-native-supported: true
-:cq-status: Stable
+:cq-native-supported: false
+:cq-status: Preview
 :cq-description: Support for parsing Java route definitions at runtime
 :cq-deprecated: false
 :cq-jvm-since: 1.8.0
-:cq-native-since: 1.8.0
+:cq-native-since: n/a
 
 [.badges]
-[.badge-key]##JVM since##[.badge-supported]##1.8.0## [.badge-key]##Native since##[.badge-supported]##1.8.0##
+[.badge-key]##JVM since##[.badge-supported]##1.8.0## [.badge-key]##Native##[.badge-unsupported]##unsupported##
 
 Support for parsing Java route definitions at runtime
 
diff --git a/extensions-core/pom.xml b/extensions-core/pom.xml
index 354cb66..134a3ae 100644
--- a/extensions-core/pom.xml
+++ b/extensions-core/pom.xml
@@ -44,7 +44,6 @@
         <module>caffeine-lrucache</module>
         <module>main</module>
         <module>yaml-dsl</module>
-        <module>java-joor-dsl</module>
     </modules>
 
 </project>
diff --git a/extensions-core/java-joor-dsl/deployment/pom.xml b/extensions-jvm/java-joor-dsl/deployment/pom.xml
similarity index 100%
rename from extensions-core/java-joor-dsl/deployment/pom.xml
rename to extensions-jvm/java-joor-dsl/deployment/pom.xml
diff --git a/extensions-core/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java b/extensions-jvm/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
similarity index 100%
rename from extensions-core/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
rename to extensions-jvm/java-joor-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/java/joor/deployment/JavaJoorDslProcessor.java
diff --git a/extensions-core/java-joor-dsl/integration-test/pom.xml b/extensions-jvm/java-joor-dsl/integration-test/pom.xml
similarity index 89%
rename from extensions-core/java-joor-dsl/integration-test/pom.xml
rename to extensions-jvm/java-joor-dsl/integration-test/pom.xml
index 0a1e7d9..e387b7b 100644
--- a/extensions-core/java-joor-dsl/integration-test/pom.xml
+++ b/extensions-jvm/java-joor-dsl/integration-test/pom.xml
@@ -68,6 +68,19 @@
         <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-java-joor-dsl-deployment</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/extensions-core/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java b/extensions-jvm/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java
similarity index 100%
rename from extensions-core/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java
rename to extensions-jvm/java-joor-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslResource.java
diff --git a/extensions-core/java-joor-dsl/integration-test/src/main/resources/application.properties b/extensions-jvm/java-joor-dsl/integration-test/src/main/resources/application.properties
similarity index 100%
rename from extensions-core/java-joor-dsl/integration-test/src/main/resources/application.properties
rename to extensions-jvm/java-joor-dsl/integration-test/src/main/resources/application.properties
diff --git a/extensions-core/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java b/extensions-jvm/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java
similarity index 100%
rename from extensions-core/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java
rename to extensions-jvm/java-joor-dsl/integration-test/src/main/resources/routes/MyRoutes.java
diff --git a/extensions-core/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java b/extensions-jvm/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java
similarity index 100%
rename from extensions-core/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java
rename to extensions-jvm/java-joor-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/java/joor/JavaJoorDslTest.java
diff --git a/extensions-core/java-joor-dsl/pom.xml b/extensions-jvm/java-joor-dsl/pom.xml
similarity index 100%
rename from extensions-core/java-joor-dsl/pom.xml
rename to extensions-jvm/java-joor-dsl/pom.xml
diff --git a/extensions-core/java-joor-dsl/runtime/pom.xml b/extensions-jvm/java-joor-dsl/runtime/pom.xml
similarity index 98%
rename from extensions-core/java-joor-dsl/runtime/pom.xml
rename to extensions-jvm/java-joor-dsl/runtime/pom.xml
index 36a8cb7..8fdcb80 100644
--- a/extensions-core/java-joor-dsl/runtime/pom.xml
+++ b/extensions-jvm/java-joor-dsl/runtime/pom.xml
@@ -32,7 +32,6 @@
 
     <properties>
         <camel.quarkus.jvmSince>1.8.0</camel.quarkus.jvmSince>
-        <camel.quarkus.nativeSince>1.8.0</camel.quarkus.nativeSince>
     </properties>
 
     <dependencyManagement>
diff --git a/extensions-core/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
similarity index 97%
rename from extensions-core/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
rename to extensions-jvm/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
index 0e38f33..348456a 100644
--- a/extensions-core/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
+++ b/extensions-jvm/java-joor-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -24,8 +24,9 @@
 name: "Camel Java jOOR DSL"
 description: "Support for parsing Java route definitions at runtime"
 metadata:
+  unlisted: true
   guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/java-joor-dsl.html"
   categories:
   - "integration"
   status:
-  - "stable"
+  - "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index b5c9d55..05c9999 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -74,6 +74,7 @@
         <module>iota</module>
         <module>irc</module>
         <module>jasypt</module>
+        <module>java-joor-dsl</module>
         <module>jbpm</module>
         <module>jcache</module>
         <module>jclouds</module>

[camel-quarkus] 01/08: Fixup upgrade to Camel 3.9.0

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

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

commit ed4735a793e803f27155edc01324c475ad818f16
Author: James Netherton <ja...@gmail.com>
AuthorDate: Thu Mar 25 13:21:33 2021 +0000

    Fixup upgrade to Camel 3.9.0
---
 .../quarkus/main/deployment/CamelMainNativeImageProcessor.java |  6 ++++++
 .../quarkus/component/xstream/deployment/XstreamProcessor.java |  9 +++++++++
 pom.xml                                                        | 10 ++++------
 3 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java b/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java
index 60183d8..b2f19e3 100644
--- a/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java
+++ b/extensions-core/main/deployment/src/main/java/org/apache/camel/quarkus/main/deployment/CamelMainNativeImageProcessor.java
@@ -17,6 +17,7 @@
 package org.apache.camel.quarkus.main.deployment;
 
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import io.quarkus.deployment.Capabilities;
 import io.quarkus.deployment.annotations.BuildProducer;
@@ -65,5 +66,10 @@ public class CamelMainNativeImageProcessor {
                 }
             }
         }
+
+        String[] resources = Stream.of("components", "dataformats", "languages")
+                .map(k -> "org/apache/camel/main/" + k + ".properties")
+                .toArray(String[]::new);
+        nativeResource.produce(new NativeImageResourceBuildItem(resources));
     }
 }
diff --git a/extensions/xstream/deployment/src/main/java/org/apache/camel/quarkus/component/xstream/deployment/XstreamProcessor.java b/extensions/xstream/deployment/src/main/java/org/apache/camel/quarkus/component/xstream/deployment/XstreamProcessor.java
index c727a82..f3ea63a 100644
--- a/extensions/xstream/deployment/src/main/java/org/apache/camel/quarkus/component/xstream/deployment/XstreamProcessor.java
+++ b/extensions/xstream/deployment/src/main/java/org/apache/camel/quarkus/component/xstream/deployment/XstreamProcessor.java
@@ -16,8 +16,12 @@
  */
 package org.apache.camel.quarkus.component.xstream.deployment;
 
+import java.io.InputStream;
+
+import io.quarkus.deployment.annotations.BuildProducer;
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 
 class XstreamProcessor {
 
@@ -28,4 +32,9 @@ class XstreamProcessor {
         return new FeatureBuildItem(FEATURE);
     }
 
+    @BuildStep
+    void reflectiveClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClasses) {
+        reflectiveClasses.produce(new ReflectiveClassBuildItem(false, false, InputStream.class));
+    }
+
 }
diff --git a/pom.xml b/pom.xml
index d6fdb66..d79eb51 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-dependencies</artifactId>
-        <version>3.8.0</version>
+        <version>3.9.0</version>
     </parent>
 
     <groupId>org.apache.camel.quarkus</groupId>
@@ -42,15 +42,13 @@
         <animal-sniffer.version>1.18</animal-sniffer.version>
         <antlr3.version>3.5.2</antlr3.version><!-- Spark, Stringtemplate and probably others -->
         <avro.version>${avro-version}</avro.version>
-        <aws-java-sdk.version>${aws-java-sdk-version}</aws-java-sdk.version>
-        <awssdk1-swf-libs.version>${aws-java-sdk-swf-libs}</awssdk1-swf-libs.version>
-        <!-- TODO: Use azure-sdk-bom once they start maintaining it properly https://github.com/Azure/azure-sdk-for-java/issues/18759 -->
-        <azure-sdk-bom.version>1.0.2</azure-sdk-bom.version><!-- TODO inherit from Camel https://issues.apache.org/jira/browse/CAMEL-16278 -->
+        <aws-java-sdk.version>1.11.714</aws-java-sdk.version>
+        <azure-sdk-bom.version>${azure-sdk-bom-version}</azure-sdk-bom.version>
 
         <bouncycastle.version>${bouncycastle-version}</bouncycastle.version><!-- keep in sync with Camel -->
 
         <camel.major.minor>3.9</camel.major.minor> <!-- run after each change: cd docs && mvndev validate -->
-	<camel.version>${camel.major.minor}.0</camel.version>
+        <camel.version>${camel.major.minor}.0</camel.version>
         <camel.docs.components.xref>${camel.major.minor}.x@components</camel.docs.components.xref><!-- the version in Camel's docs/components/antora.yml -->
         <camel.docs.branch>camel-${camel.major.minor}.x</camel.docs.branch><!-- The stable branch on which our Antora docs depends -->
 

[camel-quarkus] 06/08: dsl: support for kotlin dsl

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

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

commit 4078d79e726a83fe9dc7ec9b63448e1401ab07d1
Author: Luca Burgazzoli <lb...@gmail.com>
AuthorDate: Thu Mar 25 15:46:54 2021 +0100

    dsl: support for kotlin dsl
---
 catalog/pom.xml                                    |  13 +++
 docs/modules/ROOT/nav.adoc                         |   1 +
 .../pages/reference/extensions/kotlin-dsl.adoc     |  27 +++++
 extensions-jvm/kotlin-dsl/deployment/pom.xml       |  65 ++++++++++++
 .../dsl/kotlin/deployment/KotlinDslProcessor.java  |  37 +++++++
 extensions-jvm/kotlin-dsl/integration-test/pom.xml | 110 ++++++++++++++++++++
 .../quarkus/dsl/kotlin/KotlinDslResource.java      |  60 +++++++++++
 .../src/main/resources/application.properties      |  21 ++++
 .../src/main/resources/routes/my-routes.kts        |  19 ++++
 .../camel/quarkus/dsl/kotlin/KotlinDslTest.java    |  49 +++++++++
 extensions-jvm/kotlin-dsl/pom.xml                  |  38 +++++++
 extensions-jvm/kotlin-dsl/runtime/pom.xml          | 113 +++++++++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  32 ++++++
 extensions-jvm/pom.xml                             |   1 +
 pom.xml                                            |   1 +
 poms/bom/pom.xml                                   |  15 +++
 16 files changed, 602 insertions(+)

diff --git a/catalog/pom.xml b/catalog/pom.xml
index d5793ba..177990a 100644
--- a/catalog/pom.xml
+++ b/catalog/pom.xml
@@ -2220,6 +2220,19 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-kubernetes</artifactId>
             <version>${project.version}</version>
             <type>pom</type>
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index ce4544f..92584b6 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -179,6 +179,7 @@
 *** xref:reference/extensions/kafka.adoc[Kafka]
 *** xref:reference/extensions/kamelet.adoc[Kamelet]
 *** xref:reference/extensions/kotlin.adoc[Kotlin]
+*** xref:reference/extensions/kotlin-dsl.adoc[Kotlin DSL]
 *** xref:reference/extensions/kubernetes.adoc[Kubernetes]
 *** xref:reference/extensions/kudu.adoc[Kudu]
 *** xref:reference/extensions/ldap.adoc[LDAP]
diff --git a/docs/modules/ROOT/pages/reference/extensions/kotlin-dsl.adoc b/docs/modules/ROOT/pages/reference/extensions/kotlin-dsl.adoc
new file mode 100644
index 0000000..e979e08
--- /dev/null
+++ b/docs/modules/ROOT/pages/reference/extensions/kotlin-dsl.adoc
@@ -0,0 +1,27 @@
+// Do not edit directly!
+// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page
+= Kotlin DSL
+:cq-artifact-id: camel-quarkus-kotlin-dsl
+:cq-native-supported: false
+:cq-status: Preview
+:cq-description: Support for parsing Kotlin route definitions at runtime
+:cq-deprecated: false
+:cq-jvm-since: 1.8.0
+:cq-native-since: n/a
+
+[.badges]
+[.badge-key]##JVM since##[.badge-supported]##1.8.0## [.badge-key]##Native##[.badge-unsupported]##unsupported##
+
+Support for parsing Kotlin route definitions at runtime
+
+== Maven coordinates
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel.quarkus</groupId>
+    <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+</dependency>
+----
+
+Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications.
diff --git a/extensions-jvm/kotlin-dsl/deployment/pom.xml b/extensions-jvm/kotlin-dsl/deployment/pom.xml
new file mode 100644
index 0000000..d6dd26d
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/deployment/pom.xml
@@ -0,0 +1,65 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-kotlin-dsl-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-kotlin-dsl-deployment</artifactId>
+    <name>Camel Quarkus :: Kotlin DSL :: Deployment</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-kotlin-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions-jvm/kotlin-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/kotlin/deployment/KotlinDslProcessor.java b/extensions-jvm/kotlin-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/kotlin/deployment/KotlinDslProcessor.java
new file mode 100644
index 0000000..767e264
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/deployment/src/main/java/org/apache/camel/quarkus/dsl/kotlin/deployment/KotlinDslProcessor.java
@@ -0,0 +1,37 @@
+/*
+ * 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.quarkus.dsl.kotlin.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+import io.quarkus.deployment.pkg.steps.NativeBuild;
+
+public class KotlinDslProcessor {
+    private static final String FEATURE = "camel-kotlin-dsl";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+
+    @BuildStep(onlyIf = NativeBuild.class)
+    void nativeUnsupported() {
+        throw new RuntimeException("The " + FEATURE + " extension is not supported in native mode "
+                + "as loading Kotlin code at runtime is not supported on GraalVM");
+    }
+}
diff --git a/extensions-jvm/kotlin-dsl/integration-test/pom.xml b/extensions-jvm/kotlin-dsl/integration-test/pom.xml
new file mode 100644
index 0000000..09aa00a
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/integration-test/pom.xml
@@ -0,0 +1,110 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent-it</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-kotlin-dsl-integration-test</artifactId>
+    <name>Camel Quarkus :: Kotlin DSL :: Integration Test</name>
+    <description>Integration tests for Camel Kotlin DSL extension</description>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy-jsonb</artifactId>
+        </dependency>
+
+        <!-- test dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-junit5</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>io.rest-assured</groupId>
+            <artifactId>rest-assured</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.assertj</groupId>
+            <artifactId>assertj-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory -->
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-kotlin-dsl-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-main-deployment</artifactId>
+            <version>${project.version}</version>
+            <type>pom</type>
+            <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+    </dependencies>
+
+</project>
diff --git a/extensions-jvm/kotlin-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslResource.java b/extensions-jvm/kotlin-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslResource.java
new file mode 100644
index 0000000..7170ca1
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/integration-test/src/main/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslResource.java
@@ -0,0 +1,60 @@
+/*
+ * 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.quarkus.dsl.kotlin;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.json.Json;
+import javax.json.JsonArrayBuilder;
+import javax.json.JsonObject;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.ExtendedCamelContext;
+import org.apache.camel.dsl.kotlin.KotlinConstantsKt;
+import org.apache.camel.quarkus.main.CamelMain;
+import org.apache.camel.spi.RoutesBuilderLoader;
+
+@Path("/test")
+@ApplicationScoped
+public class KotlinDslResource {
+    @Inject
+    CamelMain main;
+
+    @Path("/main/describe")
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    public JsonObject describeMain() {
+        final ExtendedCamelContext camelContext = main.getCamelContext().adapt(ExtendedCamelContext.class);
+
+        JsonArrayBuilder routeBuilders = Json.createArrayBuilder();
+        main.configure().getRoutesBuilders().forEach(builder -> routeBuilders.add(builder.getClass().getName()));
+
+        JsonArrayBuilder routes = Json.createArrayBuilder();
+        main.getCamelContext().getRoutes().forEach(route -> routes.add(route.getId()));
+
+        return Json.createObjectBuilder()
+                .add("routes-builder-loader",
+                        camelContext.getBootstrapFactoryFinder(RoutesBuilderLoader.FACTORY_PATH)
+                                .findClass(KotlinConstantsKt.EXTENSION).get().getName())
+                .add("routeBuilders", routeBuilders)
+                .add("routes", routes)
+                .build();
+    }
+}
diff --git a/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/application.properties b/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/application.properties
new file mode 100644
index 0000000..3107c5a
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/application.properties
@@ -0,0 +1,21 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+
+#
+# Main
+#
+camel.main.routes-include-pattern = classpath:routes/my-routes.kts
diff --git a/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/routes/my-routes.kts b/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/routes/my-routes.kts
new file mode 100644
index 0000000..1175ccb
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/integration-test/src/main/resources/routes/my-routes.kts
@@ -0,0 +1,19 @@
+/*
+ * 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.
+ */
+from("direct:start")
+    .id("my-kotlin-route")
+    .log("Hello Kotlin !!!")
\ No newline at end of file
diff --git a/extensions-jvm/kotlin-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslTest.java b/extensions-jvm/kotlin-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslTest.java
new file mode 100644
index 0000000..cd0ee54
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/integration-test/src/test/java/org/apache/camel/quarkus/dsl/kotlin/KotlinDslTest.java
@@ -0,0 +1,49 @@
+/*
+ * 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.quarkus.dsl.kotlin;
+
+import javax.ws.rs.core.MediaType;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import org.apache.camel.dsl.kotlin.KotlinRoutesBuilderLoader;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@QuarkusTest
+public class KotlinDslTest {
+    @Test
+    public void testMainInstanceWithJavaRoutes() {
+        JsonPath p = RestAssured.given()
+                .accept(MediaType.APPLICATION_JSON)
+                .get("/test/main/describe")
+                .then()
+                .statusCode(200)
+                .extract()
+                .body()
+                .jsonPath();
+
+        assertThat(p.getString("routes-builder-loader"))
+                .isEqualTo(KotlinRoutesBuilderLoader.class.getName());
+        assertThat(p.getList("routeBuilders", String.class))
+                .isEmpty();
+        assertThat(p.getList("routes", String.class))
+                .contains("my-kotlin-route");
+    }
+}
diff --git a/extensions-jvm/kotlin-dsl/pom.xml b/extensions-jvm/kotlin-dsl/pom.xml
new file mode 100644
index 0000000..a3351d3
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/pom.xml
@@ -0,0 +1,38 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-kotlin-dsl-parent</artifactId>
+    <name>Camel Quarkus :: Kotlin DSL</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+        <module>integration-test</module>
+    </modules>
+</project>
diff --git a/extensions-jvm/kotlin-dsl/runtime/pom.xml b/extensions-jvm/kotlin-dsl/runtime/pom.xml
new file mode 100644
index 0000000..8986708
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/runtime/pom.xml
@@ -0,0 +1,113 @@
+<?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/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-kotlin-dsl-parent</artifactId>
+        <version>1.8.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+    <name>Camel Quarkus :: Kotlin DSL :: Runtime</name>
+    <description>Support for parsing Kotlin route definitions at runtime</description>
+
+    <properties>
+        <camel.quarkus.jvmSince>1.8.0</camel.quarkus.jvmSince>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-kotlin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-kotlin-dsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>full</id>
+            <activation>
+                <property>
+                    <name>!quickly</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.camel.quarkus</groupId>
+                        <artifactId>camel-quarkus-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>update-extension-doc-page</id>
+                                <goals>
+                                    <goal>update-extension-doc-page</goal>
+                                </goals>
+                                <phase>process-classes</phase>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+</project>
diff --git a/extensions-jvm/kotlin-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions-jvm/kotlin-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..a9096e4
--- /dev/null
+++ b/extensions-jvm/kotlin-dsl/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,32 @@
+#
+# 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.
+#
+
+# This is a generated file. Do not edit directly!
+# To re-generate, run the following command from the top level directory:
+#
+#   mvn -N cq:update-quarkus-metadata
+#
+---
+name: "Camel Kotlin DSL"
+description: "Support for parsing Kotlin route definitions at runtime"
+metadata:
+  unlisted: true
+  guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/kotlin-dsl.html"
+  categories:
+  - "integration"
+  status:
+  - "preview"
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index 05c9999..2a278a0 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -85,6 +85,7 @@
         <module>jooq</module>
         <module>jsonapi</module>
         <module>jt400</module>
+        <module>kotlin-dsl</module>
         <module>language</module>
         <module>ldap</module>
         <module>ldif</module>
diff --git a/pom.xml b/pom.xml
index 9e61ac1..30fc757 100644
--- a/pom.xml
+++ b/pom.xml
@@ -481,6 +481,7 @@
                             <exclude>**/*.graphql</exclude>
                             <exclude>**/*.ics</exclude>
                             <exclude>**/*.jks</exclude>
+                            <exclude>**/*.kts</exclude>
                             <exclude>**/*.lock</exclude>
                             <exclude>**/*.mp3</exclude>
                             <exclude>**/*.mp4</exclude>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 5f70893..c6df7a8 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -1307,6 +1307,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-kotlin-dsl</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-kubernetes</artifactId>
                 <version>${camel.version}</version>
                 <exclusions>
@@ -3807,6 +3812,16 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-kotlin-dsl</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-kotlin-dsl-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-kubernetes</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>