You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/06/03 09:08:43 UTC

[camel-k-runtime] branch master updated (64a20ec -> 76297e4)

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

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


    from 64a20ec  mark JavaScipt DSL as experimental #349
     new 00888b7  Upgrade to Camel 3.3.0 and camel-quarkus 1.0.0.CR1 #338
     new 648e1a7  Can't run the API example on Quarkus #348
     new 97c68e5  chore(build): use short version name for java matrix build
     new 2445f3a  chore(build): remove updateReleaseInfo option from maven-deploy-plugin configuration as it does not exists anymore
     new fbd4b5d  Remove deployment processor for camel-k-quarkus-loader-xml as the same bits have been implemented in  camel-quarkus
     new 63d6637  chore(build): reorganize quarkus integration tests
     new 7642fc2  chore(build): use artifact upload/download action instead of cache action
     new 3bb1792  Upgrade camel-quarkus to v1.0.0.CR2
     new a25ab0f  Add polyglot tests for quarkus extensions
     new 0e248e5  chore(build): temporary add staging repo
     new e6557f4  workaround(quarkus): include rest and restapi factories
     new 76297e4  chore(build): reomve staging repo

The 12 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/pr-build.yml                     |  74 ++--
 .github/workflows/pr-validate.yml                  |   2 +-
 .../camel/k/loader/java/RoutesLoaderTest.java      |   2 +-
 .../apache/camel/k/loader/js/RoutesLoaderTest.java |   2 +-
 .../org/apache/camel/k/loader/kotlin/LoaderTest.kt |  16 +-
 camel-k-loader-xml/pom.xml                         |   6 -
 camel-k-loader-yaml/camel-k-loader-yaml/pom.xml    |   1 +
 .../camel/k/health/HealthContextCustomizer.java    |  13 +-
 .../apache/camel/k/main/ApplicationRuntime.java    |  17 +-
 .../quarkus/deployment/DeploymentProcessor.java    |   4 +-
 camel-k-quarkus/camel-k-quarkus-core/pom.xml       |   1 -
 .../camel-k-quarkus-core/runtime/pom.xml           |  10 -
 .../k/core/quarkus/RuntimeListenerAdapter.java     |  20 +-
 camel-k-quarkus/camel-k-quarkus-cron/pom.xml       |   1 -
 .../camel-k-quarkus-itests-core}/pom.xml           |   4 +-
 .../k/core/quarkus/deployment/Application.java     |   0
 .../src/main/resources/application.properties      |   0
 .../k/core/quarkus/deployment/ExtensionIT.java     |   0
 .../k/core/quarkus/deployment/ExtensionTest.java   |   0
 .../camel-k-quarkus-itests-cron}/pom.xml           |   4 +-
 .../k/quarkus/cron/deployment/Application.java     |   0
 .../src/main/resources/application.properties      |   0
 .../k/quarkus/cron/deployment/ExtensionIT.java     |   0
 .../k/quarkus/cron/deployment/ExtensionTest.java   |   0
 .../camel-k-quarkus-itests-knative}/pom.xml        |  22 +-
 .../k/quarkus/knative/deployment/Application.java  |  71 ++++
 .../src/main/resources/application.properties      |   0
 .../src/main/resources/env.json                    |  13 +
 .../k/quarkus/knative}/deployment/ExtensionIT.java |   2 +-
 .../quarkus/knative/deployment/ExtensionTest.java  |  79 ++++
 .../camel-k-quarkus-itests-loader-js}/pom.xml      |   4 +-
 .../loader/js/quarkus/deployment/Application.java  |   0
 .../src/main/resources/application.properties      |   0
 .../loader/js/quarkus/deployment/ExtensionIT.java  |   0
 .../js/quarkus/deployment/ExtensionTest.java       |   0
 .../src/test/resources/routes.js                   |   0
 .../camel-k-quarkus-itests-loader-xml}/pom.xml     |   4 +-
 .../loader/xml/quarkus/deployment/Application.java |   0
 .../src/main/resources/application.properties      |   0
 .../loader/xml/quarkus/deployment/ExtensionIT.java |   0
 .../xml/quarkus/deployment/ExtensionTest.java      |   0
 .../src/test/resources/routes.xml                  |   0
 .../camel-k-quarkus-itests-loader-yaml}/pom.xml    |   4 +-
 .../yaml/quarkus/deployment/Application.java       |   0
 .../src/main/resources/application.properties      |   0
 .../yaml/quarkus/deployment/ExtensionIT.java       |   0
 .../yaml/quarkus/deployment/ExtensionTest.java     |   0
 .../src/test/resources/routes.yaml                 |   0
 .../camel-k-quarkus-itests-polyglot}/pom.xml       |  16 +-
 .../k/itests/polyglot/quarkus}/Application.java    |  15 +-
 .../src/main/resources/application.properties      |   0
 .../k/itests/polyglot/quarkus}/ExtensionIT.java    |   2 +-
 .../k/itests/polyglot/quarkus}/ExtensionTest.java  |  26 +-
 .../src/test/resources}/routes.xml                 |   9 +-
 .../src/test/resources/routes.yaml                 |   2 +
 .../pom.xml                                        |  11 +-
 .../knative/deployment/DeploymentProcessor.java    |  35 +-
 .../camel-k-quarkus-knative/runtime/pom.xml        |   1 +
 .../camel/k/quarkus/knative/KnativeRecorder.java   |  14 +-
 camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml  |   1 -
 .../camel-k-quarkus-loader-xml/deployment/pom.xml  |   4 +
 .../quarkus/deployment/DeploymentProcessor.java    |  37 --
 camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml |   1 -
 .../camel-k-quarkus-loader-xml/runtime/pom.xml     |   4 +
 .../k/loader/xml/quarkus/XmlLoaderRecorder.java    |  40 --
 .../quarkus/deployment/DeploymentProcessor.java    |   2 +-
 .../camel-k-quarkus-loader-yaml/pom.xml            |   1 -
 .../{Feature.java => DeploymentProcessor.java}     |  17 +-
 camel-k-quarkus/pom.xml                            |   2 +
 camel-k-runtime-bom/pom.xml                        |  21 +-
 camel-k-runtime-http/pom.xml                       |   5 +-
 .../java/org/apache/camel/k/http/PlatformHttp.java |  75 ----
 .../apache/camel/k/http/PlatformHttpServer.java    | 282 --------------
 .../k/http/PlatformHttpServiceConfiguration.java   | 209 -----------
 .../http/PlatformHttpServiceContextCustomizer.java |  46 +--
 .../camel/k/http/PlatformHttpServiceEndpoint.java  | 123 -------
 .../k/http/engine/RuntimePlatformHttpConsumer.java | 408 ---------------------
 .../k/http/engine/RuntimePlatformHttpEngine.java   |  29 --
 .../apache/camel/k/http/support/CorsHandler.java   | 136 -------
 .../k/http/PlatformHttpServiceCustomizerTest.java  |  18 +-
 camel-knative/camel-knative-api/pom.xml            |  14 +-
 camel-knative/camel-knative-http/pom.xml           |  17 +
 .../knative/http/KnativeHttpConsumer.java          |  15 +-
 .../knative/http/KnativeHttpProducer.java          |  10 +-
 .../knative/http/KnativeHttpTransport.java         |  20 +-
 camel-knative/camel-knative/pom.xml                |  13 +
 .../apache/camel/component/knative/knative.json    |  21 +-
 .../camel/component/knative/KnativeComponent.java  |   6 +-
 .../camel/component/knative/KnativeConstants.java  |  15 +-
 pom.xml                                            |  11 +-
 90 files changed, 483 insertions(+), 1627 deletions(-)
 rename camel-k-quarkus/{camel-k-quarkus-core/it => camel-k-quarkus-itests/camel-k-quarkus-itests-core}/pom.xml (98%)
 rename camel-k-quarkus/{camel-k-quarkus-core/it => camel-k-quarkus-itests/camel-k-quarkus-itests-core}/src/main/java/org/apache/camel/k/core/quarkus/deployment/Application.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-core/it => camel-k-quarkus-itests/camel-k-quarkus-itests-core}/src/main/resources/application.properties (100%)
 copy camel-k-quarkus/{camel-k-quarkus-core/it => camel-k-quarkus-itests/camel-k-quarkus-itests-core}/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-core/it => camel-k-quarkus-itests/camel-k-quarkus-itests-core}/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionTest.java (100%)
 copy camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-cron}/pom.xml (98%)
 rename camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-cron}/src/main/java/org/apache/camel/k/quarkus/cron/deployment/Application.java (100%)
 copy camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-cron}/src/main/resources/application.properties (100%)
 copy camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-cron}/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionIT.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-cron}/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionTest.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-knative}/pom.xml (89%)
 create mode 100644 camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
 copy camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-knative}/src/main/resources/application.properties (100%)
 create mode 100644 camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/resources/env.json
 rename camel-k-quarkus/{camel-k-quarkus-cron/it/src/test/java/org/apache/camel/k/quarkus/cron => camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative}/deployment/ExtensionIT.java (94%)
 create mode 100644 camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/pom.xml (98%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/Application.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/src/main/resources/application.properties (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionTest.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-js/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js}/src/test/resources/routes.js (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/pom.xml (98%)
 copy camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/Application.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/src/main/resources/application.properties (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionTest.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml}/src/test/resources/routes.xml (100%)
 copy camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/pom.xml (98%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/Application.java (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/src/main/resources/application.properties (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java (100%)
 copy camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionTest.java (100%)
 copy camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml}/src/test/resources/routes.yaml (100%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot}/pom.xml (94%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-xml/it/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/java/org/apache/camel/k/itests/polyglot/quarkus}/Application.java (84%)
 rename camel-k-quarkus/{camel-k-quarkus-cron/it => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot}/src/main/resources/application.properties (100%)
 rename camel-k-quarkus/{camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus}/ExtensionIT.java (94%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus}/ExtensionTest.java (69%)
 copy {examples/camel-k-runtime-example-quarkus-xml/data => camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources}/routes.xml (88%)
 rename camel-k-quarkus/{camel-k-quarkus-loader-yaml/it => camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot}/src/test/resources/routes.yaml (93%)
 copy camel-k-quarkus/{camel-k-quarkus-knative => camel-k-quarkus-itests}/pom.xml (74%)
 delete mode 100644 camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
 delete mode 100644 camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/src/main/java/org/apache/camel/k/loader/xml/quarkus/XmlLoaderRecorder.java
 copy camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/{Feature.java => DeploymentProcessor.java} (65%)
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttp.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServer.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceConfiguration.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceEndpoint.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpConsumer.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java
 delete mode 100644 camel-k-runtime-http/src/main/java/org/apache/camel/k/http/support/CorsHandler.java
 copy examples/camel-k-runtime-example-rest/data/routes.groovy => camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConstants.java (75%)


[camel-k-runtime] 01/12: Upgrade to Camel 3.3.0 and camel-quarkus 1.0.0.CR1 #338

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

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

commit 00888b7d6af894c5f2684b002062cc13b8041923
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed May 27 17:53:49 2020 +0200

    Upgrade to Camel 3.3.0 and camel-quarkus 1.0.0.CR1 #338
---
 .github/workflows/pr-build.yml                     |   1 +
 .../camel/k/loader/java/RoutesLoaderTest.java      |   2 +-
 .../apache/camel/k/loader/js/RoutesLoaderTest.java |   2 +-
 .../org/apache/camel/k/loader/kotlin/LoaderTest.kt |  16 +-
 camel-k-loader-yaml/camel-k-loader-yaml/pom.xml    |   1 +
 .../camel/k/health/HealthContextCustomizer.java    |  13 +-
 .../apache/camel/k/main/ApplicationRuntime.java    |  17 +-
 .../quarkus/deployment/DeploymentProcessor.java    |   4 +-
 .../k/core/quarkus/RuntimeListenerAdapter.java     |  20 +-
 .../knative/deployment/DeploymentProcessor.java    |  35 +-
 camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml | 155 ++++++++
 .../k/quarkus/knative/deployment/Application.java  |  71 ++++
 .../it/src/main/resources/application.properties   |  36 ++
 .../it/src/main/resources/env.json                 |  13 +
 .../k/quarkus/knative/deployment/ExtensionIT.java  |  16 +-
 .../quarkus/knative/deployment/ExtensionTest.java  |  79 ++++
 camel-k-quarkus/camel-k-quarkus-knative/pom.xml    |   1 +
 .../camel-k-quarkus-knative/runtime/pom.xml        |   1 +
 .../camel/k/quarkus/knative/KnativeRecorder.java   |  14 +-
 .../quarkus/deployment/DeploymentProcessor.java    |   2 +-
 .../quarkus/deployment/DeploymentProcessor.java    |   2 +-
 camel-k-runtime-bom/pom.xml                        |   2 +-
 camel-k-runtime-http/pom.xml                       |   5 +-
 .../java/org/apache/camel/k/http/PlatformHttp.java |  75 ----
 .../apache/camel/k/http/PlatformHttpServer.java    | 282 --------------
 .../k/http/PlatformHttpServiceConfiguration.java   | 209 -----------
 .../http/PlatformHttpServiceContextCustomizer.java |  46 +--
 .../camel/k/http/PlatformHttpServiceEndpoint.java  | 123 -------
 .../k/http/engine/RuntimePlatformHttpConsumer.java | 408 ---------------------
 .../apache/camel/k/http/support/CorsHandler.java   | 136 -------
 .../k/http/PlatformHttpServiceCustomizerTest.java  |  18 +-
 camel-knative/camel-knative-api/pom.xml            |  14 +-
 camel-knative/camel-knative-http/pom.xml           |  17 +
 .../knative/http/KnativeHttpConsumer.java          |  15 +-
 .../knative/http/KnativeHttpProducer.java          |  10 +-
 .../knative/http/KnativeHttpTransport.java         |  20 +-
 camel-knative/camel-knative/pom.xml                |  13 +
 .../apache/camel/component/knative/knative.json    |  21 +-
 .../camel/component/knative/KnativeComponent.java  |   6 +-
 .../camel/component/knative/KnativeConstants.java  |  14 +-
 pom.xml                                            |  30 +-
 41 files changed, 575 insertions(+), 1390 deletions(-)

diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml
index 31262d8..1c2417f 100644
--- a/.github/workflows/pr-build.yml
+++ b/.github/workflows/pr-build.yml
@@ -62,6 +62,7 @@ jobs:
         native-image-project:
           - :camel-k-quarkus-core-it
           - :camel-k-quarkus-cron-it
+          - :camel-k-quarkus-knative-it
           - :camel-k-quarkus-loader-xml-it
           - :camel-k-quarkus-loader-yaml-it
           - :camel-k-runtime-example-quarkus-xml
diff --git a/camel-k-loader-java/src/test/java/org/apache/camel/k/loader/java/RoutesLoaderTest.java b/camel-k-loader-java/src/test/java/org/apache/camel/k/loader/java/RoutesLoaderTest.java
index 2125f92..a576933 100644
--- a/camel-k-loader-java/src/test/java/org/apache/camel/k/loader/java/RoutesLoaderTest.java
+++ b/camel-k-loader-java/src/test/java/org/apache/camel/k/loader/java/RoutesLoaderTest.java
@@ -126,7 +126,7 @@ public class RoutesLoaderTest {
 
         List<RouteDefinition> routes = builder.getRouteCollection().getRoutes();
         assertThat(routes).hasSize(1);
-        assertThat(routes.get(0).getInput().getEndpointUri()).isEqualTo("timer:tick");
+        assertThat(routes.get(0).getInput().getEndpointUri()).matches("timer:/*tick");
         assertThat(routes.get(0).getOutputs().get(0)).isInstanceOf(ToDefinition.class);
     }
 
diff --git a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/RoutesLoaderTest.java b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/RoutesLoaderTest.java
index fba429b..846daad 100644
--- a/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/RoutesLoaderTest.java
+++ b/camel-k-loader-js/src/test/java/org/apache/camel/k/loader/js/RoutesLoaderTest.java
@@ -56,7 +56,7 @@ public class RoutesLoaderTest {
 
         List<RouteDefinition> routes = builder.getRouteCollection().getRoutes();
         assertThat(routes).hasSize(1);
-        assertThat(routes.get(0).getInput().getEndpointUri()).isEqualTo("timer:tick");
+        assertThat(routes.get(0).getInput().getEndpointUri()).matches("timer:/*tick");
         assertThat(routes.get(0).getOutputs().get(0)).isInstanceOf(ToDefinition.class);
     }
 
diff --git a/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/LoaderTest.kt b/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/LoaderTest.kt
index b4b84ea..d6840fa 100644
--- a/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/LoaderTest.kt
+++ b/camel-k-loader-kotlin/src/test/kotlin/org/apache/camel/k/loader/kotlin/LoaderTest.kt
@@ -33,15 +33,15 @@ class LoaderTest {
 
     @Test
     fun `load routes`() {
-        var runtime = TestRuntime()
-        var source = Sources.fromURI("classpath:routes.kts")
+        val runtime = TestRuntime()
+        val source = Sources.fromURI("classpath:routes.kts")
         val loader = RoutesConfigurer.load(runtime, source)
 
         assertThat(loader).isInstanceOf(KotlinSourceLoader::class.java)
         assertThat(runtime.builders).hasSize(1)
         assertThat(runtime.builders[0]).isInstanceOf(RouteBuilder::class.java)
 
-        var builder = runtime.builders[0] as RouteBuilder
+        val builder = runtime.builders[0] as RouteBuilder
         builder.context = runtime.camelContext
         builder.configure()
 
@@ -54,23 +54,23 @@ class LoaderTest {
 
     @Test
     fun `load routes with endpoint dsl`() {
-        var runtime = TestRuntime()
-        var source = Sources.fromURI("classpath:routes-with-endpoint-dsl.kts")
+        val runtime = TestRuntime()
+        val source = Sources.fromURI("classpath:routes-with-endpoint-dsl.kts")
         val loader = RoutesConfigurer.load(runtime, source)
 
         assertThat(loader).isInstanceOf(KotlinSourceLoader::class.java)
         assertThat(runtime.builders).hasSize(1)
         assertThat(runtime.builders[0]).isInstanceOf(RouteBuilder::class.java)
 
-        var builder = runtime.builders[0] as RouteBuilder
+        val builder = runtime.builders[0] as RouteBuilder
         builder.context = runtime.camelContext
         builder.configure()
 
         val routes = builder.routeCollection.routes
         assertThat(routes).hasSize(1)
-        assertThat(routes[0].input.endpointUri).isEqualTo("timer:tick?period=1s")
+        assertThat(routes[0].input.endpointUri).isEqualTo("timer://tick?period=1s")
         assertThat(routes[0].outputs[0]).isInstanceOfSatisfying(ToDefinition::class.java) {
-            assertThat(it.endpointUri).isEqualTo("log:info")
+            assertThat(it.endpointUri).isEqualTo("log://info")
         }
     }
 
diff --git a/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml b/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
index 199a2d7..f1ef7b6 100644
--- a/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
+++ b/camel-k-loader-yaml/camel-k-loader-yaml/pom.xml
@@ -149,6 +149,7 @@
                             <blacklistedDefinitions>
                                 <blacklistedDefinition>org.apache.camel.model.Resilience4jConfigurationDefinition</blacklistedDefinition>
                                 <blacklistedDefinition>org.apache.camel.model.HystrixConfigurationDefinition</blacklistedDefinition>
+                                <blacklistedDefinition>org.apache.camel.model.FaultToleranceConfigurationDefinition</blacklistedDefinition>
                                 <blacklistedDefinition>org.apache.camel.model.OnFallbackDefinition</blacklistedDefinition>
                                 <blacklistedDefinition>org.apache.camel.model.InOnlyDefinition</blacklistedDefinition>
                                 <blacklistedDefinition>org.apache.camel.model.InOutDefinition</blacklistedDefinition>
diff --git a/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java b/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
index 3b88f97..b143c90 100644
--- a/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
+++ b/camel-k-main/camel-k-runtime-health/src/main/java/org/apache/camel/k/health/HealthContextCustomizer.java
@@ -26,6 +26,7 @@ import io.vertx.core.json.JsonObject;
 import io.vertx.ext.web.Route;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Ordered;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpRouter;
 import org.apache.camel.health.HealthCheck;
 import org.apache.camel.health.HealthCheckFilter;
 import org.apache.camel.health.HealthCheckHelper;
@@ -35,7 +36,6 @@ import org.apache.camel.impl.health.ContextHealthCheck;
 import org.apache.camel.impl.health.RoutesHealthCheckRepository;
 import org.apache.camel.k.ContextCustomizer;
 import org.apache.camel.k.annotation.Customizer;
-import org.apache.camel.k.http.PlatformHttp;
 
 @Customizer("health")
 public class HealthContextCustomizer implements ContextCustomizer {
@@ -111,16 +111,17 @@ public class HealthContextCustomizer implements ContextCustomizer {
         // add health route
         addRoute(
             camelContext,
-            PlatformHttp.lookup(camelContext)
+            VertxPlatformHttpRouter.lookup(camelContext)
         );
     }
 
-    private Route addRoute(CamelContext camelContext, PlatformHttp platformHttp) {
-        Route route = platformHttp.router().route(HttpMethod.GET, path);
+    private Route addRoute(CamelContext camelContext, VertxPlatformHttpRouter router) {
+        Route route = router.route(HttpMethod.GET, path);
 
-        // add global handlers first i.e. body handler
-        platformHttp.handlers().forEach(route::handler);
+        // add body handler
+        route.handler(router.bodyHandler());
 
+        // add health endpoint handler
         route.handler(routingContext -> {
             int code = 200;
 
diff --git a/camel-k-main/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java b/camel-k-main/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
index b3f3578..ab58fb9 100644
--- a/camel-k-main/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
+++ b/camel-k-main/camel-k-runtime-main/src/main/java/org/apache/camel/k/main/ApplicationRuntime.java
@@ -56,6 +56,7 @@ public final class ApplicationRuntime implements Runtime {
         this.main = new MainAdapter();
         this.main.configure().setXmlRoutes("false");
         this.main.configure().setXmlRests("false");
+        this.main.setDefaultPropertyPlaceholderLocation("false");
         this.main.setRoutesCollector(new NoRoutesCollector());
         this.main.addMainListener(new MainListenerAdapter());
     }
@@ -76,12 +77,12 @@ public final class ApplicationRuntime implements Runtime {
 
     @Override
     public void addRoutes(RoutesBuilder builder) {
-        this.main.addRoutesBuilder(builder);
+        this.main.configure().addRoutesBuilder(builder);
     }
 
     @Override
     public void addConfiguration(Object configuration) {
-        this.main.addConfiguration(configuration);
+        this.main.configure().addConfiguration(configuration);
     }
 
     @Override
@@ -130,17 +131,25 @@ public final class ApplicationRuntime implements Runtime {
 
     private final class MainListenerAdapter implements org.apache.camel.main.MainListener {
         @Override
-        public void beforeConfigure(BaseMainSupport main) {
+        public void beforeInitialize(BaseMainSupport main) {
             invokeListeners(Phase.ConfigureProperties);
+        }
+
+        @Override
+        public void beforeConfigure(BaseMainSupport main) {
             invokeListeners(Phase.ConfigureRoutes);
         }
 
         @Override
-        public void configure(CamelContext context) {
+        public void afterConfigure(BaseMainSupport main) {
             invokeListeners(Phase.ConfigureContext);
         }
 
         @Override
+        public void configure(CamelContext context) {
+        }
+
+        @Override
         public void beforeStart(BaseMainSupport main) {
             invokeListeners(Phase.Starting);
         }
diff --git a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
index 167daca..63f9f6f 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/deployment/src/main/java/org/apache/camel/k/core/quarkus/deployment/DeploymentProcessor.java
@@ -30,8 +30,8 @@ import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem;
 import org.apache.camel.k.Constants;
 import org.apache.camel.k.Runtime;
 import org.apache.camel.k.core.quarkus.RuntimeRecorder;
-import org.apache.camel.quarkus.core.deployment.CamelMainListenerBuildItem;
-import org.apache.camel.quarkus.core.deployment.CamelServicePatternBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelMainListenerBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.apache.camel.spi.HasId;
 import org.apache.camel.spi.StreamCachingStrategy;
 import org.jboss.jandex.IndexView;
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
index 72a5116..20445f1 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/src/main/java/org/apache/camel/k/core/quarkus/RuntimeListenerAdapter.java
@@ -49,14 +49,22 @@ public class RuntimeListenerAdapter implements MainListener {
     }
 
     @Override
-    public void beforeConfigure(BaseMainSupport main) {
+    public void beforeInitialize(BaseMainSupport main) {
         invokeListeners(listeners, on(main), Runtime.Phase.ConfigureProperties);
+    }
+
+    @Override
+    public void beforeConfigure(BaseMainSupport main) {
         invokeListeners(listeners, on(main), Runtime.Phase.ConfigureRoutes);
     }
 
     @Override
+    public void afterConfigure(BaseMainSupport main) {
+        invokeListeners(listeners, on(main), Runtime.Phase.ConfigureContext);
+    }
+
+    @Override
     public void configure(CamelContext context) {
-        invokeListeners(listeners, on(context), Runtime.Phase.ConfigureContext);
     }
 
     @Override
@@ -118,22 +126,22 @@ public class RuntimeListenerAdapter implements MainListener {
 
             @Override
             public void addRoutes(RoutesBuilder builder) {
-                main.addRoutesBuilder(builder);
+                main.configure().addRoutesBuilder(builder);
             }
 
             @Override
             public void addConfiguration(Object configuration) {
-                main.addConfiguration(configuration);
+                main.configure().addConfiguration(configuration);
             }
 
             @Override
             public void setInitialProperties(Properties properties) {
-                main.getCamelContext().getPropertiesComponent().setInitialProperties(properties);
+                main.setInitialProperties(properties);
             }
 
             @Override
             public void setProperties(Properties properties) {
-                main.getCamelContext().getPropertiesComponent().setOverrideProperties(properties);
+                main.setOverrideProperties(properties);
             }
 
             @Override
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
index 159f946..6237a05 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-knative/deployment/src/main/java/org/apache/camel/k/quarkus/knative/deployment/DeploymentProcessor.java
@@ -16,7 +16,8 @@
  */
 package org.apache.camel.k.quarkus.knative.deployment;
 
-import io.quarkus.deployment.annotations.BuildProducer;
+import java.util.List;
+
 import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
@@ -24,19 +25,27 @@ import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
 import io.quarkus.vertx.core.deployment.CoreVertxBuildItem;
 import io.quarkus.vertx.http.deployment.BodyHandlerBuildItem;
 import io.quarkus.vertx.http.deployment.VertxWebRouterBuildItem;
+import org.apache.camel.component.knative.KnativeComponent;
+import org.apache.camel.component.knative.KnativeConstants;
 import org.apache.camel.component.knative.spi.KnativeEnvironment;
 import org.apache.camel.k.quarkus.knative.KnativeRecorder;
-import org.apache.camel.quarkus.core.deployment.CamelRuntimeBeanBuildItem;
-import org.apache.camel.quarkus.core.deployment.CamelServiceFilter;
-import org.apache.camel.quarkus.core.deployment.CamelServiceFilterBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelRuntimeBeanBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilter;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServiceFilterBuildItem;
 
 public class DeploymentProcessor {
     @BuildStep
-    void servicesFilters(BuildProducer<CamelServiceFilterBuildItem> serviceFilter) {
-        serviceFilter.produce(
-            new CamelServiceFilterBuildItem(CamelServiceFilter.forComponent("knative"))
+    List<ReflectiveClassBuildItem> reflectiveClasses() {
+        return List.of(
+            new ReflectiveClassBuildItem(true, false, KnativeEnvironment.class),
+            new ReflectiveClassBuildItem(true, false, KnativeEnvironment.KnativeServiceDefinition.class)
         );
-        serviceFilter.produce(
+    }
+
+    @BuildStep
+    List<CamelServiceFilterBuildItem> servicesFilters() {
+        return List.of(
+            new CamelServiceFilterBuildItem(CamelServiceFilter.forComponent(KnativeConstants.SCHEME)),
             new CamelServiceFilterBuildItem(CamelServiceFilter.forPathEndingWith(CamelServiceFilter.CAMEL_SERVICE_BASE_PATH + "/knative/transport/http"))
         );
     }
@@ -50,18 +59,12 @@ public class DeploymentProcessor {
         BodyHandlerBuildItem bodyHandlerBuildItem) {
 
         return new CamelRuntimeBeanBuildItem(
-            "knative",
-            "org.apache.camel.component.knative.KnativeComponent",
+            KnativeConstants.SCHEME,
+            KnativeComponent.class.getName(),
             recorder.createKnativeComponent(
                 vertx.getVertx(),
                 router.getRouter(),
                 bodyHandlerBuildItem.getHandler())
         );
     }
-
-    @BuildStep
-    void registerReflectiveClasses(BuildProducer<ReflectiveClassBuildItem> reflectiveClass) {
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, KnativeEnvironment.class));
-        reflectiveClass.produce(new ReflectiveClassBuildItem(true, false, KnativeEnvironment.KnativeServiceDefinition.class));
-    }
 }
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml
new file mode 100644
index 0000000..b90339c
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml
@@ -0,0 +1,155 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.k</groupId>
+        <artifactId>camel-k-quarkus-knative-parent</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-k-quarkus-knative-it</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-knative</artifactId>
+        </dependency>
+
+        <!-- quarkus dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</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>
+    </dependencies>
+
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>${build-helper-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>reserve-network-port</id>
+                        <goals>
+                            <goal>reserve-network-port</goal>
+                        </goals>
+                        <phase>process-resources</phase>
+                        <configuration>
+                            <portNames>
+                                <portName>test.http.port.jvm</portName>
+                                <portName>test.http.port.native</portName>
+                            </portNames>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <version>${quarkus.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemProperties>
+                        <quarkus.http.test-port>${test.http.port.jvm}</quarkus.http.test-port>
+                        <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
+                    </systemProperties>
+                    <environmentVariables>
+                        <CAMEL_KNATIVE_CONFIGURATION>file:${project.basedir}/src/main/resources/env.json</CAMEL_KNATIVE_CONFIGURATION>
+                    </environmentVariables>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemProperties>
+                                        <quarkus.http.test-port>${test.http.port.native}</quarkus.http.test-port>
+                                        <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
+                                    </systemProperties>
+                                    <environmentVariables>
+                                        <CAMEL_KNATIVE_CONFIGURATION>file:${project.basedir}/src/main/resources/env.json</CAMEL_KNATIVE_CONFIGURATION>
+                                    </environmentVariables>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+
+</project>
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
new file mode 100644
index 0000000..43f74bb
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
@@ -0,0 +1,71 @@
+/*
+ * 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.k.quarkus.knative.deployment;
+
+import java.util.Map;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.json.Json;
+import javax.json.JsonObject;
+import javax.ws.rs.Consumes;
+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.CamelContext;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.knative.KnativeEndpoint;
+import org.apache.camel.component.knative.spi.Knative;
+
+
+@Path("/test")
+@ApplicationScoped
+public class Application {
+    @Inject
+    CamelContext context;
+
+    @SuppressWarnings("unchecked")
+    @GET
+    @Path("/inspect")
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.APPLICATION_JSON)
+    public JsonObject inspect() {
+        var endpoint = context.getEndpoint("knative:endpoint/from", KnativeEndpoint.class);
+        var envMeta = endpoint.getConfiguration().getEnvironment().lookup(Knative.Type.endpoint, "from")
+            .filter(entry -> Knative.EndpointKind.source.name().equals(entry.getMetadata().get(Knative.CAMEL_ENDPOINT_KIND)))
+            .findFirst()
+            .map(def -> Json.createObjectBuilder((Map)def.getMetadata()))
+            .orElseThrow(IllegalArgumentException::new);
+
+        return Json.createObjectBuilder()
+            .add("env-meta", envMeta)
+            .build();
+    }
+
+    @javax.enterprise.inject.Produces
+    public RouteBuilder routes() {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("knative:endpoint/from")
+                    .transform().body(String.class, b -> b.toUpperCase());
+            }
+        };
+    }
+}
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/application.properties
new file mode 100644
index 0000000..b4cc6d4
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/application.properties
@@ -0,0 +1,36 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+#
+# Quarkus
+#
+quarkus.log.file.enable    = false
+quarkus.log.console.enable = false
+quarkus.banner.enabled     = false
+
+#
+# Quarkus :: Camel
+#
+quarkus.camel.main.routes-discovery.enabled = false
+
+#
+# Camel
+#
+camel.context.name = camel-k-quarkus-ctx
+
+#
+# Integration
+#
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/env.json b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/env.json
new file mode 100644
index 0000000..1ba0ae6
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/env.json
@@ -0,0 +1,13 @@
+{
+  "services": [
+    {
+      "type": "endpoint",
+      "name": "from",
+      "metadata": {
+        "service.path": "/knative",
+        "camel.endpoint.kind": "source",
+        "knative.event.type": "camel.k.evt"
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java b/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
similarity index 60%
copy from camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java
copy to camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
index 05f8111..c8ad581 100644
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
@@ -14,16 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.k.http.engine;
+package org.apache.camel.k.quarkus.knative.deployment;
 
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.component.platform.http.PlatformHttpEndpoint;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
+import io.quarkus.test.junit.NativeImageTest;
 
-public class RuntimePlatformHttpEngine implements PlatformHttpEngine {
-    @Override
-    public Consumer createConsumer(PlatformHttpEndpoint platformHttpEndpoint, Processor processor) {
-        return new RuntimePlatformHttpConsumer(platformHttpEndpoint, processor);
-    }
-}
+@NativeImageTest
+public class ExtensionIT extends ExtensionTest {
+}
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
new file mode 100644
index 0000000..9dcb4c2
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.k.quarkus.knative.deployment;
+
+import java.io.IOException;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+
+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.Exchange;
+import org.apache.camel.component.knative.spi.CloudEvent;
+import org.apache.camel.component.knative.spi.CloudEvents;
+import org.apache.camel.component.knative.spi.Knative;
+import org.junit.jupiter.api.Test;
+
+import static io.restassured.RestAssured.given;
+import static org.assertj.core.api.Assertions.assertThat;
+
+@QuarkusTest
+public class ExtensionTest {
+    @Test
+    public void inspect() throws IOException {
+        JsonPath p = RestAssured.given()
+            .contentType(MediaType.TEXT_PLAIN)
+            .accept(MediaType.APPLICATION_JSON)
+            .get("/test/inspect")
+            .then()
+                .statusCode(200)
+            .extract()
+                .body()
+                .jsonPath();
+
+        assertThat(p.getMap("env-meta", String.class, String.class))
+            .containsEntry(Knative.KNATIVE_EVENT_TYPE, "camel.k.evt")
+            .containsEntry(Knative.SERVICE_META_PATH, "/knative")
+            .containsEntry("camel.endpoint.kind", "source");
+    }
+
+    @Test
+    public void invoke() {
+        final CloudEvents ce = CloudEvents.v1_0;
+        final String payload = "test";
+
+        String result = given()
+            .body(payload)
+            .header(Exchange.CONTENT_TYPE, "text/plain")
+            .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_VERSION).http(), ce.v1_0.version())
+            .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_TYPE).http(), "org.apache.camel.event")
+            .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_ID).http(), "myEventID")
+            .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_TIME).http(), DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(ZonedDateTime.now()))
+            .header(ce.mandatoryAttribute(CloudEvent.CAMEL_CLOUD_EVENT_SOURCE).http(), "/somewhere")
+        .when()
+            .post("/knative")
+        .then()
+            .statusCode(200)
+            .extract()
+            .asString();
+
+        assertThat(result).isEqualTo(payload.toUpperCase());
+    }
+}
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
index a6b81b3..8f64b59 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
@@ -31,6 +31,7 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
+        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
index 6e2da3b..56e1fef 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
@@ -59,6 +59,7 @@
         <dependency>
             <groupId>org.graalvm.nativeimage</groupId>
             <artifactId>svm</artifactId>
+            <scope>provided</scope>
         </dependency>
     </dependencies>
 
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java b/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
index 2ce29c6..edabff7 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
+++ b/camel-k-quarkus/camel-k-quarkus-knative/runtime/src/main/java/org/apache/camel/k/quarkus/knative/KnativeRecorder.java
@@ -16,7 +16,6 @@
  */
 package org.apache.camel.k.quarkus.knative;
 
-import java.util.Collections;
 import java.util.function.Supplier;
 
 import io.quarkus.runtime.RuntimeValue;
@@ -27,7 +26,7 @@ import io.vertx.ext.web.Router;
 import io.vertx.ext.web.RoutingContext;
 import org.apache.camel.component.knative.KnativeComponent;
 import org.apache.camel.component.knative.http.KnativeHttpTransport;
-import org.apache.camel.k.http.PlatformHttp;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpRouter;
 
 @Recorder
 public class KnativeRecorder {
@@ -37,11 +36,12 @@ public class KnativeRecorder {
         Handler<RoutingContext> bodyHandler) {
 
         KnativeHttpTransport transport = new KnativeHttpTransport();
-        transport.setPlatformHttp(new PlatformHttp(
-            vertx.get(),
-            router.getValue(),
-            Collections.singletonList(bodyHandler)
-        ));
+        transport.setRouter(new VertxPlatformHttpRouter(vertx.get(), router.getValue()) {
+            @Override
+            public Handler<RoutingContext> bodyHandler() {
+                return bodyHandler;
+            }
+        });
 
         KnativeComponent component = new KnativeComponent();
         component.setTransport(transport);
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
index 6d5a339..26b0389 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
@@ -20,7 +20,7 @@ import io.quarkus.deployment.annotations.BuildStep;
 import io.quarkus.deployment.annotations.ExecutionTime;
 import io.quarkus.deployment.annotations.Record;
 import org.apache.camel.k.loader.xml.quarkus.XmlLoaderRecorder;
-import org.apache.camel.quarkus.core.deployment.CamelRoutesLoaderBuildItems;
+import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesLoaderBuildItems;
 
 public class DeploymentProcessor {
     @BuildStep
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
index c49c1c4..0159a0a 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/deployment/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/DeploymentProcessor.java
@@ -28,7 +28,7 @@ import org.apache.camel.k.loader.yaml.spi.StepParser;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.ProcessorDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.camel.quarkus.core.deployment.CamelServicePatternBuildItem;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
 import org.jboss.jandex.ClassInfo;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.IndexView;
diff --git a/camel-k-runtime-bom/pom.xml b/camel-k-runtime-bom/pom.xml
index 8051ed4..b03e63e 100644
--- a/camel-k-runtime-bom/pom.xml
+++ b/camel-k-runtime-bom/pom.xml
@@ -426,7 +426,7 @@
                             <dependency>
                                 <groupId>org.apache.camel</groupId>
                                 <artifactId>camel-buildtools</artifactId>
-                                <version>3.1.0</version>
+                                <version>3.3.0</version>
                             </dependency>
                         </dependencies>
                     </plugin>
diff --git a/camel-k-runtime-http/pom.xml b/camel-k-runtime-http/pom.xml
index 59f86d1..bffab94 100644
--- a/camel-k-runtime-http/pom.xml
+++ b/camel-k-runtime-http/pom.xml
@@ -41,12 +41,9 @@
             <artifactId>camel-core-engine</artifactId>
         </dependency>
 
-        <!--
-        Replace this with camel-platform-http-vertx when migrating to camel 3.3
-        -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-platform-http</artifactId>
+            <artifactId>camel-platform-http-vertx</artifactId>
         </dependency>
 
         <dependency>
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttp.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttp.java
deleted file mode 100644
index 52ab74e..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttp.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import io.vertx.core.Handler;
-import io.vertx.core.Vertx;
-import io.vertx.ext.web.Router;
-import io.vertx.ext.web.RoutingContext;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.platform.http.PlatformHttpConstants;
-import org.apache.camel.support.CamelContextHelper;
-
-public class PlatformHttp {
-    public static final String PLATFORM_HTTP_ROUTER_NAME = PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME + "-router";
-
-    private final Vertx vertx;
-    private final Router router;
-    private final List<Handler<RoutingContext>> handlers;
-
-    public PlatformHttp(Vertx vertx, Router router) {
-        this.vertx = vertx;
-        this.router = router;
-        this.handlers = Collections.emptyList();
-    }
-
-    public PlatformHttp(Vertx vertx, Router router, List<Handler<RoutingContext>> handlers) {
-        this.vertx = vertx;
-        this.router = router;
-        this.handlers = Collections.unmodifiableList(new ArrayList<>(handlers));
-    }
-
-    public Vertx vertx() {
-        return vertx;
-    }
-
-    public Router router() {
-        return router;
-    }
-
-    public List<Handler<RoutingContext>> handlers() {
-        return handlers;
-    }
-
-    // **********************
-    //
-    // Helpers
-    //
-    // **********************
-
-    public static PlatformHttp lookup(CamelContext camelContext) {
-        return CamelContextHelper.mandatoryLookup(
-            camelContext,
-            PlatformHttp.PLATFORM_HTTP_ROUTER_NAME,
-            PlatformHttp.class
-        );
-    }
-}
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServer.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServer.java
deleted file mode 100644
index 3710415..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServer.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http;
-
-import java.io.IOException;
-import java.security.GeneralSecurityException;
-import java.security.KeyStore;
-import java.util.Collections;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ExecutorService;
-
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.TrustManagerFactory;
-
-import io.vertx.core.Handler;
-import io.vertx.core.Vertx;
-import io.vertx.core.http.HttpServer;
-import io.vertx.core.http.HttpServerOptions;
-import io.vertx.core.net.KeyCertOptions;
-import io.vertx.core.net.TrustOptions;
-import io.vertx.ext.web.Router;
-import io.vertx.ext.web.RoutingContext;
-import io.vertx.ext.web.handler.BodyHandler;
-import org.apache.camel.CamelContext;
-import org.apache.camel.component.platform.http.PlatformHttpConstants;
-import org.apache.camel.support.jsse.KeyManagersParameters;
-import org.apache.camel.support.jsse.SSLContextParameters;
-import org.apache.camel.support.jsse.TrustManagersParameters;
-import org.apache.camel.support.service.ServiceSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public final class PlatformHttpServer extends ServiceSupport {
-    private static final Logger LOGGER = LoggerFactory.getLogger(PlatformHttpServer.class);
-
-    private final CamelContext context;
-    private final PlatformHttpServiceConfiguration configuration;
-    private final Vertx vertx;
-    private final Router router;
-    private final ExecutorService executor;
-
-    private HttpServer server;
-
-    public PlatformHttpServer(CamelContext context, PlatformHttpServiceConfiguration configuration, Vertx vertx, ExecutorService executor) {
-        this.context = context;
-        this.configuration = configuration;
-        this.vertx = vertx;
-        this.router = Router.router(vertx);
-        this.executor = executor;
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        final Router subRouter = Router.router(vertx);
-
-        if (configuration.getCors().isEnabled()) {
-            subRouter.route().handler(new org.apache.camel.k.http.support.CorsHandler(configuration));
-        }
-
-        router.mountSubRouter(configuration.getPath(), subRouter);
-
-        context.getRegistry().bind(
-            PlatformHttp.PLATFORM_HTTP_ROUTER_NAME,
-            new PlatformHttp(vertx, subRouter, Collections.singletonList(createBodyHandler()))
-        );
-
-        SSLContextParameters sslParameters = configuration.getSslContextParameters();
-        if (sslParameters == null && configuration.isUseGlobalSslContextParameters()) {
-            sslParameters = context.getSSLContextParameters();
-        }
-
-        HttpServerOptions options = new HttpServerOptions();
-        if (sslParameters != null) {
-            options.setSsl(true);
-            options.setKeyCertOptions(createKeyCertOptions(sslParameters));
-            options.setTrustOptions(createTrustOptions(sslParameters));
-        }
-
-        server = vertx.createHttpServer(options);
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        CompletableFuture.runAsync(
-            () -> {
-                CountDownLatch latch = new CountDownLatch(1);
-                server.requestHandler(router).listen(configuration.getBindPort(), configuration.getBindHost(), result -> {
-                    try {
-                        if (result.failed()) {
-                            LOGGER.warn("Failed to start Vert.x HttpServer on {}:{}, reason: {}",
-                                configuration.getBindHost(),
-                                configuration.getBindPort(),
-                                result.cause().getMessage()
-                            );
-
-                            throw new RuntimeException(result.cause());
-                        }
-
-                        LOGGER.info("Vert.x HttpServer started on {}:{}", configuration.getBindHost(), configuration.getBindPort());
-                    } finally {
-                        latch.countDown();
-                    }
-                });
-
-                try {
-                    latch.await();
-                } catch (InterruptedException e) {
-                    throw new RuntimeException(e);
-                }
-            },
-            executor
-        ).toCompletableFuture().join();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        try {
-            if (server != null) {
-                CompletableFuture.runAsync(
-                    () -> {
-                        CountDownLatch latch = new CountDownLatch(1);
-
-                        // remove the platform-http component
-                        context.removeComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME);
-
-                        server.close(result -> {
-                            try {
-                                if (result.failed()) {
-                                    LOGGER.warn("Failed to close Vert.x HttpServer reason: {}",
-                                        result.cause().getMessage()
-                                    );
-
-                                    throw new RuntimeException(result.cause());
-                                }
-
-                                LOGGER.info("Vert.x HttpServer stopped");
-                            } finally {
-                                latch.countDown();
-                            }
-                        });
-
-                        try {
-                            latch.await();
-                        } catch (InterruptedException e) {
-                            throw new RuntimeException(e);
-                        }
-                    },
-                    executor
-                ).toCompletableFuture().join();
-            }
-        } finally {
-            this.server = null;
-        }
-    }
-
-    private Handler<RoutingContext> createBodyHandler() {
-        BodyHandler bodyHandler = BodyHandler.create();
-
-        if (configuration.getMaxBodySize() != null) {
-            bodyHandler.setBodyLimit(configuration.getMaxBodySize().longValueExact());
-        }
-
-        bodyHandler.setHandleFileUploads(configuration.getBodyHandler().isHandleFileUploads());
-        bodyHandler.setUploadsDirectory(configuration.getBodyHandler().getUploadsDirectory());
-        bodyHandler.setDeleteUploadedFilesOnEnd(configuration.getBodyHandler().isDeleteUploadedFilesOnEnd());
-        bodyHandler.setMergeFormAttributes(configuration.getBodyHandler().isMergeFormAttributes());
-        bodyHandler.setPreallocateBodyBuffer(configuration.getBodyHandler().isPreallocateBodyBuffer());
-
-        return new Handler<RoutingContext>() {
-            @Override
-            public void handle(RoutingContext event) {
-                event.request().resume();
-                bodyHandler.handle(event);
-            }
-        };
-    }
-
-    // *****************************
-    //
-    // SSL
-    //
-    // *****************************
-
-    private KeyCertOptions createKeyCertOptions(SSLContextParameters sslContextParameters) {
-        return new KeyCertOptions() {
-            @Override
-            public KeyManagerFactory getKeyManagerFactory(Vertx vertx) throws Exception {
-                return createKeyManagerFactory(sslContextParameters);
-            }
-
-            @Override
-            public KeyCertOptions clone() {
-                return this;
-            }
-        };
-    }
-
-    private KeyManagerFactory createKeyManagerFactory(SSLContextParameters sslContextParameters) throws GeneralSecurityException, IOException {
-        final KeyManagersParameters keyManagers = sslContextParameters.getKeyManagers();
-        if (keyManagers == null) {
-            return null;
-        }
-
-        String kmfAlgorithm = context.resolvePropertyPlaceholders(keyManagers.getAlgorithm());
-        if (kmfAlgorithm == null) {
-            kmfAlgorithm = KeyManagerFactory.getDefaultAlgorithm();
-        }
-
-        KeyManagerFactory kmf;
-        if (keyManagers.getProvider() == null) {
-            kmf = KeyManagerFactory.getInstance(kmfAlgorithm);
-        } else {
-            kmf = KeyManagerFactory.getInstance(kmfAlgorithm, context.resolvePropertyPlaceholders(keyManagers.getProvider()));
-        }
-
-        char[] kmfPassword = null;
-        if (keyManagers.getKeyPassword() != null) {
-            kmfPassword = context.resolvePropertyPlaceholders(keyManagers.getKeyPassword()).toCharArray();
-        }
-
-        KeyStore ks = keyManagers.getKeyStore() == null ? null : keyManagers.getKeyStore().createKeyStore();
-
-        kmf.init(ks, kmfPassword);
-        return kmf;
-    }
-
-    private TrustOptions createTrustOptions(SSLContextParameters sslContextParameters) {
-        return new TrustOptions() {
-            @Override
-            public TrustOptions clone() {
-                return this;
-            }
-
-            @Override
-            public TrustManagerFactory getTrustManagerFactory(Vertx vertx) throws Exception {
-                return createTrustManagerFactory(sslContextParameters);
-            }
-        };
-    }
-
-    private TrustManagerFactory createTrustManagerFactory(SSLContextParameters sslContextParameters) throws GeneralSecurityException, IOException {
-        final TrustManagersParameters trustManagers = sslContextParameters.getTrustManagers();
-        if (trustManagers == null) {
-            return null;
-        }
-
-        TrustManagerFactory tmf = null;
-
-        if (trustManagers.getKeyStore() != null) {
-            String tmfAlgorithm = context.resolvePropertyPlaceholders(trustManagers.getAlgorithm());
-            if (tmfAlgorithm == null) {
-                tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
-            }
-
-            if (trustManagers.getProvider() == null) {
-                tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
-            } else {
-                tmf = TrustManagerFactory.getInstance(tmfAlgorithm, context.resolvePropertyPlaceholders(trustManagers.getProvider()));
-            }
-
-            KeyStore ks = trustManagers.getKeyStore() == null ? null : trustManagers.getKeyStore().createKeyStore();
-            tmf.init(ks);
-        }
-
-        return tmf;
-    }
-}
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceConfiguration.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceConfiguration.java
deleted file mode 100644
index 9001d2d..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceConfiguration.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http;
-
-import java.math.BigInteger;
-import java.time.Duration;
-import java.util.List;
-
-import org.apache.camel.support.jsse.SSLContextParameters;
-
-public class PlatformHttpServiceConfiguration {
-    public static final String DEFAULT_BIND_HOST = "0.0.0.0";
-    public static final int DEFAULT_BIND_PORT = 8081;
-    public static final String DEFAULT_PATH = "/";
-
-    private String bindHost = DEFAULT_BIND_HOST;
-    private int bindPort = DEFAULT_BIND_PORT;
-    private String path = DEFAULT_PATH;
-    private BigInteger maxBodySize;
-
-    private SSLContextParameters sslContextParameters;
-    private boolean useGlobalSslContextParameters;
-
-    private CorsConfiguration corsConfiguration = new CorsConfiguration();
-    private BodyHandlerConfiguration bodyHandlerConfiguration = new BodyHandlerConfiguration();
-
-    public String getBindHost() {
-        return bindHost;
-    }
-
-    public void setBindHost(String bindHost) {
-        this.bindHost = bindHost;
-    }
-
-    public int getBindPort() {
-        return bindPort;
-    }
-
-    public void setBindPort(int bindPort) {
-        this.bindPort = bindPort;
-    }
-
-    public String getPath() {
-        return path;
-    }
-
-    public void setPath(String path) {
-        this.path = path;
-    }
-
-    public BigInteger getMaxBodySize() {
-        return maxBodySize;
-    }
-
-    public void setMaxBodySize(BigInteger maxBodySize) {
-        this.maxBodySize = maxBodySize;
-    }
-
-    public SSLContextParameters getSslContextParameters() {
-        return sslContextParameters;
-    }
-
-    public void setSslContextParameters(SSLContextParameters sslContextParameters) {
-        this.sslContextParameters = sslContextParameters;
-    }
-
-    public boolean isUseGlobalSslContextParameters() {
-        return useGlobalSslContextParameters;
-    }
-
-    public void setUseGlobalSslContextParameters(boolean useGlobalSslContextParameters) {
-        this.useGlobalSslContextParameters = useGlobalSslContextParameters;
-    }
-
-    public CorsConfiguration getCors() {
-        return corsConfiguration;
-    }
-
-    public void setCors(CorsConfiguration corsConfiguration) {
-        this.corsConfiguration = corsConfiguration;
-    }
-
-    public BodyHandlerConfiguration getBodyHandler() {
-        return bodyHandlerConfiguration;
-    }
-
-    public void setBodyHandler(BodyHandlerConfiguration bodyHandler) {
-        this.bodyHandlerConfiguration = bodyHandler;
-    }
-
-    public static class CorsConfiguration {
-        private boolean enabled;
-        private List<String> origins;
-        private List<String> methods;
-        private List<String> headers;
-        private List<String> exposedHeaders;
-        private Duration accessControlMaxAge;
-
-        public boolean isEnabled() {
-            return enabled;
-        }
-
-        public void setEnabled(boolean enabled) {
-            this.enabled = enabled;
-        }
-
-        public List<String> getOrigins() {
-            return origins;
-        }
-
-        public void setOrigins(List<String> origins) {
-            this.origins = origins;
-        }
-
-        public List<String> getMethods() {
-            return methods;
-        }
-
-        public void setMethods(List<String> methods) {
-            this.methods = methods;
-        }
-
-        public List<String> getHeaders() {
-            return headers;
-        }
-
-        public List<String> getExposedHeaders() {
-            return exposedHeaders;
-        }
-
-        public void setExposedHeaders(List<String> exposedHeaders) {
-            this.exposedHeaders = exposedHeaders;
-        }
-
-        public void setHeaders(List<String> headers) {
-            this.headers = headers;
-        }
-
-        public Duration getAccessControlMaxAge() {
-            return accessControlMaxAge;
-        }
-
-        public void setAccessControlMaxAge(Duration accessControlMaxAge) {
-            this.accessControlMaxAge = accessControlMaxAge;
-        }
-    }
-
-    public static class BodyHandlerConfiguration {
-        private boolean handleFileUploads = true;
-        private String uploadsDirectory = "file-uploads";
-        private boolean mergeFormAttributes = true;
-        private boolean deleteUploadedFilesOnEnd;
-        private boolean preallocateBodyBuffer = true;
-
-        public boolean isHandleFileUploads() {
-            return handleFileUploads;
-        }
-
-        public void setHandleFileUploads(boolean handleFileUploads) {
-            this.handleFileUploads = handleFileUploads;
-        }
-
-        public String getUploadsDirectory() {
-            return uploadsDirectory;
-        }
-
-        public void setUploadsDirectory(String uploadsDirectory) {
-            this.uploadsDirectory = uploadsDirectory;
-        }
-
-        public boolean isMergeFormAttributes() {
-            return mergeFormAttributes;
-        }
-
-        public void setMergeFormAttributes(boolean mergeFormAttributes) {
-            this.mergeFormAttributes = mergeFormAttributes;
-        }
-
-        public boolean isDeleteUploadedFilesOnEnd() {
-            return deleteUploadedFilesOnEnd;
-        }
-
-        public void setDeleteUploadedFilesOnEnd(boolean deleteUploadedFilesOnEnd) {
-            this.deleteUploadedFilesOnEnd = deleteUploadedFilesOnEnd;
-        }
-
-        public boolean isPreallocateBodyBuffer() {
-            return preallocateBodyBuffer;
-        }
-
-        public void setPreallocateBodyBuffer(boolean preallocateBodyBuffer) {
-            this.preallocateBodyBuffer = preallocateBodyBuffer;
-        }
-    }
-}
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceContextCustomizer.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceContextCustomizer.java
index a74ff0e..d753c0e 100644
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceContextCustomizer.java
+++ b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceContextCustomizer.java
@@ -16,22 +16,19 @@
  */
 package org.apache.camel.k.http;
 
-import java.util.Map;
-
 import org.apache.camel.CamelContext;
-import org.apache.camel.Endpoint;
 import org.apache.camel.Ordered;
 import org.apache.camel.component.platform.http.PlatformHttpComponent;
 import org.apache.camel.component.platform.http.PlatformHttpConstants;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpEngine;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServer;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpServerConfiguration;
 import org.apache.camel.k.ContextCustomizer;
 import org.apache.camel.k.annotation.Customizer;
-import org.apache.camel.k.http.engine.RuntimePlatformHttpEngine;
 
 
 @Customizer("platform-http")
-public class PlatformHttpServiceContextCustomizer extends PlatformHttpServiceConfiguration implements ContextCustomizer {
-    private PlatformHttpServiceEndpoint endpoint;
-
+public class PlatformHttpServiceContextCustomizer extends VertxPlatformHttpServerConfiguration implements ContextCustomizer {
     public PlatformHttpServiceContextCustomizer() {
     }
 
@@ -42,33 +39,24 @@ public class PlatformHttpServiceContextCustomizer extends PlatformHttpServiceCon
 
     @Override
     public void apply(CamelContext camelContext) {
-        endpoint = new PlatformHttpServiceEndpoint(camelContext, this);
-        //endpoint.init();
-
         try {
-            camelContext.addService(endpoint);
+            camelContext.addService(new VertxPlatformHttpServer(this) {
+                @Override
+                protected void doInit() throws Exception {
+                    initializeServer();
+                }
+                @Override
+                protected void doStart() throws Exception {
+                    startServer();
+                }
+            });
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
 
-        camelContext.addComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME,  new PlatformHttpComponentWrapper());
-    }
-
-    public static final class PlatformHttpComponentWrapper extends PlatformHttpComponent {
-        public PlatformHttpComponentWrapper() {
-            setEngine(new RuntimePlatformHttpEngine());
-        }
-
-        @Override
-        protected Endpoint createEndpoint(String uri, String remaining, Map<String, Object> parameters) throws Exception {
-            // the PlatformHttpComponent set this value but it is not handled which cause the
-            // context to fail as the property cannot be bound to the enpoint.
-            //
-            // TODO: fix upstream
-            parameters.remove("optionsEnabled");
+        PlatformHttpComponent component = new PlatformHttpComponent(camelContext);
+        component.setEngine(new VertxPlatformHttpEngine());
 
-            // let the original component to create the endpoint
-            return super.createEndpoint(uri, remaining, parameters);
-        }
+        camelContext.getRegistry().bind(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME, component);
     }
 }
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceEndpoint.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceEndpoint.java
deleted file mode 100644
index 9658753..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/PlatformHttpServiceEndpoint.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-
-import io.vertx.core.Vertx;
-import io.vertx.core.VertxOptions;
-import org.apache.camel.CamelContext;
-import org.apache.camel.support.CamelContextHelper;
-import org.apache.camel.support.service.ServiceSupport;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PlatformHttpServiceEndpoint extends ServiceSupport {
-    private static final Logger LOGGER = LoggerFactory.getLogger(PlatformHttpServiceEndpoint.class);
-
-    private final CamelContext context;
-    private final PlatformHttpServiceConfiguration configuration;
-
-    private Vertx vertx;
-    private boolean localVertx;
-    private PlatformHttpServer vertxHttpServer;
-    private ExecutorService executor;
-
-    public PlatformHttpServiceEndpoint(CamelContext context, PlatformHttpServiceConfiguration configuration) {
-        this.context = context;
-        this.configuration = configuration;
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        vertx = CamelContextHelper.findByType(context, Vertx.class);
-        executor = context.getExecutorServiceManager().newSingleThreadExecutor(this, "platform-http-service");
-
-        if (vertx != null) {
-            LOGGER.info("Found Vert.x instance in registry: {}", vertx);
-        } else {
-            VertxOptions options = CamelContextHelper.findByType(context, VertxOptions.class);
-            if (options == null) {
-                options = new VertxOptions();
-            }
-
-            LOGGER.info("Creating new Vert.x instance");
-
-            vertx = Vertx.vertx(options);
-            localVertx = true;
-        }
-
-        vertxHttpServer = new PlatformHttpServer(context, configuration, vertx, executor);
-        vertxHttpServer.init();
-    }
-
-    @Override
-    protected void doStart() throws Exception {
-        vertxHttpServer.start();
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (vertxHttpServer != null) {
-            vertxHttpServer.stop();
-        }
-
-        if (vertx != null && localVertx) {
-            Future<?> future = executor.submit(
-                () -> {
-                    CountDownLatch latch = new CountDownLatch(1);
-
-                    vertx.close(result -> {
-                        try {
-                            if (result.failed()) {
-                                LOGGER.warn("Failed to close Vert.x reason: {}",
-                                    result.cause().getMessage()
-                                );
-
-                                throw new RuntimeException(result.cause());
-                            }
-
-                            LOGGER.info("Vert.x stopped");
-                        } finally {
-                            latch.countDown();
-                        }
-                    });
-
-                    try {
-                        latch.await();
-                    } catch (InterruptedException e) {
-                        throw new RuntimeException(e);
-                    }
-                }
-            );
-
-            try {
-                future.get();
-            } finally {
-                vertx = null;
-                localVertx = false;
-            }
-        }
-
-        if (executor != null) {
-            context.getExecutorServiceManager().shutdown(executor);
-            executor = null;
-        }
-    }
-}
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpConsumer.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpConsumer.java
deleted file mode 100644
index f325a91..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpConsumer.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http.engine;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-import io.vertx.core.MultiMap;
-import io.vertx.core.buffer.Buffer;
-import io.vertx.core.http.HttpMethod;
-import io.vertx.core.http.HttpServerRequest;
-import io.vertx.core.http.HttpServerResponse;
-import io.vertx.ext.web.Route;
-import io.vertx.ext.web.RoutingContext;
-import org.apache.camel.Exchange;
-import org.apache.camel.Message;
-import org.apache.camel.NoTypeConversionAvailableException;
-import org.apache.camel.Processor;
-import org.apache.camel.TypeConversionException;
-import org.apache.camel.TypeConverter;
-import org.apache.camel.component.platform.http.PlatformHttpEndpoint;
-import org.apache.camel.component.platform.http.spi.Method;
-import org.apache.camel.k.http.PlatformHttp;
-import org.apache.camel.spi.HeaderFilterStrategy;
-import org.apache.camel.support.DefaultConsumer;
-import org.apache.camel.support.DefaultMessage;
-import org.apache.camel.support.ExchangeHelper;
-import org.apache.camel.support.MessageHelper;
-import org.apache.camel.support.ObjectHelper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class RuntimePlatformHttpConsumer extends DefaultConsumer {
-    private static final Logger LOG = LoggerFactory.getLogger(RuntimePlatformHttpConsumer.class);
-    private static final Pattern PATH_PARAMETER_PATTERN = Pattern.compile("\\{([^/}]+)\\}");
-
-    private Route route;
-
-    public RuntimePlatformHttpConsumer(PlatformHttpEndpoint endpoint, Processor processor) {
-        super(endpoint, processor);
-    }
-
-    @Override
-    public PlatformHttpEndpoint getEndpoint() {
-        return (PlatformHttpEndpoint) super.getEndpoint();
-    }
-
-    @Override
-    protected void doInit() throws Exception {
-        super.doStart();
-
-        final PlatformHttpEndpoint endpoint = getEndpoint();
-        final PlatformHttp router = PlatformHttp.lookup(endpoint.getCamelContext());
-        final String path = endpoint.getPath();
-        final String vertxPathParamPath = PATH_PARAMETER_PATTERN.matcher(path).replaceAll(":$1");
-        final Route newRoute = router.router().route(vertxPathParamPath);
-
-        router.handlers().forEach(newRoute::handler);
-
-        final Set<Method> methods = Method.parseList(endpoint.getHttpMethodRestrict());
-        if (!methods.equals(Method.getAll())) {
-            methods.stream().forEach(m -> newRoute.method(HttpMethod.valueOf(m.name())));
-        }
-        if (endpoint.getConsumes() != null) {
-            newRoute.consumes(endpoint.getConsumes());
-        }
-        if (endpoint.getProduces() != null) {
-            newRoute.produces(endpoint.getProduces());
-        }
-
-        newRoute.handler(
-            ctx -> {
-                Exchange exchg = null;
-                try {
-                    final Exchange exchange = exchg = toExchange(ctx);
-                    createUoW(exchange);
-                    getAsyncProcessor().process(
-                        exchange,
-                        doneSync -> writeResponse(ctx, exchange, getEndpoint().getHeaderFilterStrategy()));
-                } catch (Exception e) {
-                    ctx.fail(e);
-                    getExceptionHandler().handleException("Failed handling platform-http endpoint " + path, exchg, e);
-                } finally {
-                    if (exchg != null) {
-                        doneUoW(exchg);
-                    }
-                }
-            });
-
-        this.route = newRoute;
-    }
-
-    @Override
-    protected void doStop() throws Exception {
-        if (route != null) {
-            route.remove();
-            route = null;
-        }
-        super.doStop();
-    }
-
-    @Override
-    protected void doSuspend() throws Exception {
-        if (route != null) {
-            route.disable();
-        }
-        super.doSuspend();
-    }
-
-    @Override
-    protected void doResume() throws Exception {
-        if (route != null) {
-            route.enable();
-        }
-        super.doResume();
-    }
-
-    static Object toHttpResponse(HttpServerResponse response, Message message, HeaderFilterStrategy headerFilterStrategy) {
-        final Exchange exchange = message.getExchange();
-        final TypeConverter tc = exchange.getContext().getTypeConverter();
-        final int code = determineResponseCode(exchange, message.getBody());
-
-        response.setStatusCode(code);
-
-        // copy headers from Message to Response
-        if (headerFilterStrategy != null) {
-            for (Map.Entry<String, Object> entry : message.getHeaders().entrySet()) {
-                final String key = entry.getKey();
-                final Object value = entry.getValue();
-                // use an iterator as there can be multiple values. (must not use a delimiter)
-                final Iterator<?> it = ObjectHelper.createIterator(value, null);
-
-                String firstValue = null;
-                List<String> values = null;
-
-                while (it.hasNext()) {
-                    final String headerValue = tc.convertTo(String.class, it.next());
-                    if (headerValue != null
-                        && !headerFilterStrategy.applyFilterToCamelHeaders(key, headerValue, exchange)) {
-                        if (firstValue == null) {
-                            firstValue = headerValue;
-                        } else {
-                            if (values == null) {
-                                values = new ArrayList<>();
-                                values.add(firstValue);
-                            }
-                            values.add(headerValue);
-                        }
-                    }
-                }
-                if (values != null) {
-                    response.putHeader(key, values);
-                } else if (firstValue != null) {
-                    response.putHeader(key, firstValue);
-                }
-            }
-        }
-
-        Object body = message.getBody();
-        final Exception exception = exchange.getException();
-
-        if (exception != null) {
-            // we failed due an exception so print it as plain text
-            final StringWriter sw = new StringWriter();
-            final PrintWriter pw = new PrintWriter(sw);
-
-            exception.printStackTrace(pw);
-
-            // the body should then be the stacktrace
-            body = ByteBuffer.wrap(sw.toString().getBytes(StandardCharsets.UTF_8));
-            // force content type to be text/plain as that is what the stacktrace is
-            message.setHeader(Exchange.CONTENT_TYPE, "text/plain; charset=utf-8");
-
-            // and mark the exception as failure handled, as we handled it by returning it as the response
-            ExchangeHelper.setFailureHandled(exchange);
-        }
-
-        // set the content-length if it can be determined, or chunked encoding
-        final Integer length = determineContentLength(exchange, body);
-        if (length != null) {
-            response.putHeader("Content-Length", String.valueOf(length));
-        } else {
-            response.setChunked(true);
-        }
-
-        // set the content type in the response.
-        final String contentType = MessageHelper.getContentType(message);
-        if (contentType != null) {
-            // set content-type
-            response.putHeader("Content-Type", contentType);
-        }
-        return body;
-    }
-
-    static Integer determineContentLength(Exchange camelExchange, Object body) {
-        if (body instanceof byte[]) {
-            return ((byte[]) body).length;
-        } else if (body instanceof ByteBuffer) {
-            return ((ByteBuffer) body).remaining();
-        }
-        return null;
-    }
-
-    /*
-     * Copied from org.apache.camel.http.common.DefaultHttpBinding.determineResponseCode(Exchange, Object)
-     * If DefaultHttpBinding.determineResponseCode(Exchange, Object) is moved to a module without the servlet-api
-     * dependency we could eventually consume it from there.
-     */
-    static int determineResponseCode(Exchange camelExchange, Object body) {
-        boolean failed = camelExchange.isFailed();
-        int defaultCode = failed ? 500 : 200;
-
-        Message message = camelExchange.getMessage();
-        Integer currentCode = message.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
-        int codeToUse = currentCode == null ? defaultCode : currentCode;
-
-        if (codeToUse != 500) {
-            if ((body == null) || (body instanceof String && ((String) body).trim().isEmpty())) {
-                // no content
-                codeToUse = currentCode == null ? 204 : currentCode;
-            }
-        }
-
-        return codeToUse;
-    }
-
-    static void writeResponse(RoutingContext ctx, Exchange camelExchange, HeaderFilterStrategy headerFilterStrategy) {
-        final Object body = toHttpResponse(ctx.response(), camelExchange.getMessage(), headerFilterStrategy);
-
-        final HttpServerResponse response = ctx.response();
-        if (body == null) {
-            LOG.trace("No payload to send as reply for exchange: {}", camelExchange);
-            response.end();
-        } else if (body instanceof String) {
-            response.end((String) body);
-        } else if (body instanceof InputStream) {
-            final byte[] bytes = new byte[4096];
-            try (InputStream in = (InputStream) body) {
-                int len;
-                while ((len = in.read(bytes)) >= 0) {
-                    response.write(Buffer.buffer(len).appendBytes(bytes, 0, len));
-                }
-            } catch (IOException e) {
-                throw new RuntimeException(e);
-            }
-            response.end();
-        } else {
-            final TypeConverter tc = camelExchange.getContext().getTypeConverter();
-            try {
-                final ByteBuffer bb = tc.mandatoryConvertTo(ByteBuffer.class, body);
-                response.end(Buffer.buffer(bb.capacity()).setBytes(0, bb));
-            } catch (TypeConversionException | NoTypeConversionAvailableException e) {
-                throw new RuntimeException(e);
-            }
-        }
-
-    }
-
-    private Exchange toExchange(RoutingContext ctx) {
-        final Exchange exchange = getEndpoint().createExchange();
-        Message in = toCamelMessage(ctx, exchange);
-
-        final String charset = ctx.parsedHeaders().contentType().parameter("charset");
-        if (charset != null) {
-            exchange.setProperty(Exchange.CHARSET_NAME, charset);
-            in.setHeader(Exchange.HTTP_CHARACTER_ENCODING, charset);
-        }
-
-        exchange.setIn(in);
-        return exchange;
-    }
-
-    private Message toCamelMessage(RoutingContext ctx, Exchange exchange) {
-        final Message result = new DefaultMessage(exchange);
-
-        final HeaderFilterStrategy headerFilterStrategy = getEndpoint().getHeaderFilterStrategy();
-        populateCamelHeaders(ctx, result.getHeaders(), exchange, headerFilterStrategy);
-        final String mimeType = ctx.parsedHeaders().contentType().value();
-        final boolean isMultipartFormData = "multipart/form-data".equals(mimeType);
-        if ("application/x-www-form-urlencoded".equals(mimeType) || isMultipartFormData) {
-            final MultiMap formData = ctx.request().formAttributes();
-            final Map<String, Object> body = new HashMap<>();
-            for (String key : formData.names()) {
-                for (String value : formData.getAll(key)) {
-                    if (headerFilterStrategy != null
-                        && !headerFilterStrategy.applyFilterToExternalHeaders(key, value, exchange)) {
-                        appendHeader(result.getHeaders(), key, value);
-                        appendHeader(body, key, value);
-                    }
-                }
-            }
-            result.setBody(body);
-            if (isMultipartFormData) {
-                //populateAttachments(ctx.fileUploads(), result);
-            }
-        } else {
-            // extract body by myself if undertow parser didn't handle and the method is allowed to have one
-            // body is extracted as byte[] then auto TypeConverter kicks in
-            Method m = Method.valueOf(ctx.request().method().name());
-            if (m.canHaveBody()) {
-                final Buffer body = ctx.getBody();
-                if (body != null) {
-                    result.setBody(body.getBytes());
-                }
-            } else {
-                result.setBody(null);
-            }
-        }
-        return result;
-    }
-
-    static void populateCamelHeaders(
-        RoutingContext ctx,
-        Map<String, Object> headersMap,
-        Exchange exchange,
-        HeaderFilterStrategy headerFilterStrategy) {
-
-        final HttpServerRequest request = ctx.request();
-        headersMap.put(Exchange.HTTP_PATH, request.path());
-
-        if (headerFilterStrategy != null) {
-            final MultiMap requestHeaders = request.headers();
-            final String authz = requestHeaders.get("authorization");
-            // store a special header that this request was authenticated using HTTP Basic
-            if (authz != null && authz.trim().startsWith("Basic")) {
-                if (!headerFilterStrategy.applyFilterToExternalHeaders(Exchange.AUTHENTICATION, "Basic", exchange)) {
-                    appendHeader(headersMap, Exchange.AUTHENTICATION, "Basic");
-                }
-            }
-            for (String name : requestHeaders.names()) {
-                // add the headers one by one, and use the header filter strategy
-                for (String value : requestHeaders.getAll(name)) {
-                    if (!headerFilterStrategy.applyFilterToExternalHeaders(name.toString(), value, exchange)) {
-                        appendHeader(headersMap, name.toString(), value);
-                    }
-                }
-            }
-
-            // process uri parameters as headers
-            final MultiMap pathParameters = ctx.queryParams();
-            // continue if the map is not empty, otherwise there are no params
-            if (!pathParameters.isEmpty()) {
-                for (String name : pathParameters.names()) {
-                    for (String value : pathParameters.getAll(name)) {
-                        if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) {
-                            appendHeader(headersMap, name, value);
-                        }
-                    }
-                }
-            }
-        }
-
-        // Path parameters
-        ctx.pathParams().forEach((k, v) ->  appendHeader(headersMap, k, v));
-
-        // NOTE: these headers is applied using the same logic as camel-http/camel-jetty to be consistent
-        headersMap.put(Exchange.HTTP_METHOD, request.method().toString());
-        // strip query parameters from the uri
-        headersMap.put(Exchange.HTTP_URL, request.absoluteURI());
-        // uri is without the host and port
-        headersMap.put(Exchange.HTTP_URI, request.uri());
-        headersMap.put(Exchange.HTTP_QUERY, request.query());
-        headersMap.put(Exchange.HTTP_RAW_QUERY, request.query());
-    }
-
-    @SuppressWarnings("unchecked")
-    static void appendHeader(Map<String, Object> headers, String key, Object value) {
-        if (headers.containsKey(key)) {
-            Object existing = headers.get(key);
-            List<Object> list;
-            if (existing instanceof List) {
-                list = (List<Object>) existing;
-            } else {
-                list = new ArrayList<>();
-                list.add(existing);
-            }
-            list.add(value);
-            value = list;
-        }
-
-        headers.put(key, value);
-    }
-}
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/support/CorsHandler.java b/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/support/CorsHandler.java
deleted file mode 100644
index f206b3f..0000000
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/support/CorsHandler.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.http.support;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import io.vertx.core.Handler;
-import io.vertx.core.http.HttpHeaders;
-import io.vertx.core.http.HttpMethod;
-import io.vertx.core.http.HttpServerRequest;
-import io.vertx.core.http.HttpServerResponse;
-import io.vertx.ext.web.RoutingContext;
-import org.apache.camel.k.http.PlatformHttpServiceConfiguration;
-import org.apache.camel.util.ObjectHelper;
-
-public class CorsHandler implements Handler<RoutingContext> {
-
-    private static final Pattern COMMA_SEPARATED_SPLIT_REGEX = Pattern.compile("\\s*,\\s*");
-
-    // This is set in the recorder at runtime.
-    // Must be static because the filter is created(deployed) at build time and runtime config is still not available
-    final PlatformHttpServiceConfiguration.CorsConfiguration corsConfig;
-
-    public CorsHandler(PlatformHttpServiceConfiguration configuration) {
-        this.corsConfig = ObjectHelper.notNull(configuration.getCors(), "config");
-    }
-
-    private void processRequestedHeaders(HttpServerResponse response, String allowHeadersValue) {
-        if (ObjectHelper.isEmpty(corsConfig.getHeaders())) {
-            response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, allowHeadersValue);
-        } else {
-            List<String> requestedHeaders = new ArrayList<>();
-            for (String requestedHeader : COMMA_SEPARATED_SPLIT_REGEX.split(allowHeadersValue)) {
-                requestedHeaders.add(requestedHeader.toLowerCase());
-            }
-
-            List<String> validRequestedHeaders = new ArrayList<>();
-            for (String configHeader : corsConfig.getHeaders()) {
-                if (requestedHeaders.contains(configHeader.toLowerCase())) {
-                    validRequestedHeaders.add(configHeader);
-                }
-            }
-
-            if (!validRequestedHeaders.isEmpty()) {
-                response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS, String.join(",", validRequestedHeaders));
-            }
-        }
-    }
-
-    private void processMethods(HttpServerResponse response, String allowMethodsValue) {
-        if (ObjectHelper.isEmpty(corsConfig.getMethods())) {
-            response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, allowMethodsValue);
-        } else {
-            List<String> requestedMethods = new ArrayList<>();
-            for (String requestedMethod : COMMA_SEPARATED_SPLIT_REGEX.split(allowMethodsValue)) {
-                requestedMethods.add(requestedMethod.toLowerCase());
-            }
-
-            List<String> validRequestedMethods = new ArrayList<>();
-            for (String configMethod : corsConfig.getMethods()) {
-                if (requestedMethods.contains(configMethod.toLowerCase())) {
-                    validRequestedMethods.add(configMethod);
-                }
-            }
-
-            if (!validRequestedMethods.isEmpty()) {
-                response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS, String.join(",", validRequestedMethods));
-            }
-        }
-    }
-
-    @Override
-    public void handle(RoutingContext event) {
-        final HttpServerRequest request = event.request();
-        final HttpServerResponse response = event.response();
-        final String origin = request.getHeader(HttpHeaders.ORIGIN);
-
-        if (origin == null) {
-            event.next();
-        } else {
-            final String requestedMethods = request.getHeader(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD);
-
-            if (requestedMethods != null) {
-                processMethods(response, requestedMethods);
-            }
-
-            final String requestedHeaders = request.getHeader(HttpHeaders.ACCESS_CONTROL_REQUEST_HEADERS);
-
-            if (requestedHeaders != null) {
-                processRequestedHeaders(response, requestedHeaders);
-            }
-
-            boolean allowsOrigin = ObjectHelper.isEmpty(corsConfig.getOrigins()) || corsConfig.getOrigins().contains(origin);
-
-            if (allowsOrigin) {
-                response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN, origin);
-            }
-
-            response.headers().set(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true");
-
-
-            if (ObjectHelper.isNotEmpty(corsConfig.getExposedHeaders())) {
-                response.headers().set(
-                    HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS,
-                    String.join(",", corsConfig.getExposedHeaders()));
-            }
-
-            if (request.method().equals(HttpMethod.OPTIONS)) {
-                if ((requestedHeaders != null || requestedMethods != null) && corsConfig.getAccessControlMaxAge() != null) {
-                    response.putHeader(
-                        HttpHeaders.ACCESS_CONTROL_MAX_AGE,
-                        String.valueOf(corsConfig.getAccessControlMaxAge().getSeconds()));
-                }
-                response.end();
-            } else {
-                event.next();
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/camel-k-runtime-http/src/test/java/org/apache/camel/k/http/PlatformHttpServiceCustomizerTest.java b/camel-k-runtime-http/src/test/java/org/apache/camel/k/http/PlatformHttpServiceCustomizerTest.java
index 460e44e..d8afd69 100644
--- a/camel-k-runtime-http/src/test/java/org/apache/camel/k/http/PlatformHttpServiceCustomizerTest.java
+++ b/camel-k-runtime-http/src/test/java/org/apache/camel/k/http/PlatformHttpServiceCustomizerTest.java
@@ -26,9 +26,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.platform.http.PlatformHttpComponent;
 import org.apache.camel.component.platform.http.PlatformHttpConstants;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpEngine;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpRouter;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.k.Runtime;
-import org.apache.camel.k.http.engine.RuntimePlatformHttpEngine;
 import org.apache.camel.k.test.AvailablePortFinder;
 import org.apache.camel.support.jsse.KeyManagersParameters;
 import org.apache.camel.support.jsse.KeyStoreParameters;
@@ -64,7 +65,7 @@ public class PlatformHttpServiceCustomizerTest {
         try {
             runtime.getCamelContext().start();
 
-            PlatformHttp.lookup(runtime.getCamelContext()).router().route(HttpMethod.GET, "/my/path")
+            VertxPlatformHttpRouter.lookup(runtime.getCamelContext()).route(HttpMethod.GET, "/my/path")
                 .handler(routingContext -> {
                     JsonObject response = new JsonObject();
                     response.put("status", "UP");
@@ -106,7 +107,7 @@ public class PlatformHttpServiceCustomizerTest {
         PlatformHttpComponent c = runtime.getCamelContext().getComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME, PlatformHttpComponent.class);
 
         assertThat(c).isNotNull();
-        assertThat(c.getEngine()).isInstanceOf(RuntimePlatformHttpEngine.class);
+        assertThat(c.getEngine()).isInstanceOf(VertxPlatformHttpEngine.class);
 
         try {
             runtime.getCamelContext().start();
@@ -142,7 +143,7 @@ public class PlatformHttpServiceCustomizerTest {
         PlatformHttpComponent c = runtime.getCamelContext().getComponent(PlatformHttpConstants.PLATFORM_HTTP_COMPONENT_NAME, PlatformHttpComponent.class);
 
         assertThat(c).isNotNull();
-        assertThat(c.getEngine()).isInstanceOf(RuntimePlatformHttpEngine.class);
+        assertThat(c.getEngine()).isInstanceOf(VertxPlatformHttpEngine.class);
 
         try {
             runtime.getCamelContext().start();
@@ -168,17 +169,16 @@ public class PlatformHttpServiceCustomizerTest {
         httpService.setBindPort(AvailablePortFinder.getNextAvailable());
         httpService.apply(runtime.getCamelContext());
 
-        PlatformHttp.lookup(runtime.getCamelContext())
-            .router()
-            .route(HttpMethod.GET, "/my/path")
-            .handler(routingContext -> routingContext.response().setStatusCode(200).end());
+        //VertxPlatformHttpRouter.lookup(runtime.getCamelContext())
+        //    .route(HttpMethod.GET, "/my/path")
+        //    .handler(routingContext -> routingContext.response().setStatusCode(200).end());
 
         assertThatExceptionOfType(ConnectException.class).isThrownBy(
             () -> {
                 given()
                     .port(httpService.getBindPort())
                 .when()
-                    .get("/my/path")
+                    .get("/")
                 .then()
                     .extract();
             }
diff --git a/camel-knative/camel-knative-api/pom.xml b/camel-knative/camel-knative-api/pom.xml
index 4ca5b01..93434ba 100644
--- a/camel-knative/camel-knative-api/pom.xml
+++ b/camel-knative/camel-knative-api/pom.xml
@@ -76,6 +76,18 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.jboss.jandex</groupId>
+                <artifactId>jandex-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>make-index</id>
+                        <goals>
+                            <goal>jandex</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-package-maven-plugin</artifactId>
                 <version>${camel.version}</version>
@@ -86,7 +98,7 @@
                     <execution>
                         <id>generate</id>
                         <goals>
-                            <goal>generate-component</goal>
+                            <goal>generate-configurer</goal>
                         </goals>
                         <phase>process-classes</phase>
                     </execution>
diff --git a/camel-knative/camel-knative-http/pom.xml b/camel-knative/camel-knative-http/pom.xml
index 12f6b5d..087d432 100644
--- a/camel-knative/camel-knative-http/pom.xml
+++ b/camel-knative/camel-knative-http/pom.xml
@@ -114,6 +114,23 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-package-maven-plugin</artifactId>
+                <version>${camel.version}</version>
+                <configuration>
+                    <failFast>false</failFast>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>generate</id>
+                        <goals>
+                            <goal>generate-configurer</goal>
+                        </goals>
+                        <phase>process-classes</phase>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
diff --git a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
index 810abcc..4764e40 100644
--- a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
+++ b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsumer.java
@@ -37,7 +37,7 @@ import org.apache.camel.NoTypeConversionAvailableException;
 import org.apache.camel.Processor;
 import org.apache.camel.TypeConverter;
 import org.apache.camel.component.knative.spi.KnativeEnvironment;
-import org.apache.camel.k.http.PlatformHttp;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpRouter;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.support.DefaultConsumer;
 import org.apache.camel.support.DefaultMessage;
@@ -53,7 +53,7 @@ public class KnativeHttpConsumer extends DefaultConsumer {
     private final KnativeHttpTransport transport;
     private final Predicate<HttpServerRequest> filter;
     private final KnativeEnvironment.KnativeServiceDefinition serviceDefinition;
-    private final PlatformHttp platformHttp;
+    private final VertxPlatformHttpRouter router;
     private final HeaderFilterStrategy headerFilterStrategy;
 
     private String basePath;
@@ -63,14 +63,14 @@ public class KnativeHttpConsumer extends DefaultConsumer {
         KnativeHttpTransport transport,
         Endpoint endpoint,
         KnativeEnvironment.KnativeServiceDefinition serviceDefinition,
-        PlatformHttp platformHttp,
+        VertxPlatformHttpRouter router,
         Processor processor) {
 
         super(endpoint, processor);
 
         this.transport = transport;
         this.serviceDefinition = serviceDefinition;
-        this.platformHttp = platformHttp;
+        this.router = router;
         this.headerFilterStrategy = new KnativeHttpHeaderFilterStrategy();
         this.filter = KnativeHttpSupport.createFilter(serviceDefinition);
     }
@@ -100,14 +100,15 @@ public class KnativeHttpConsumer extends DefaultConsumer {
 
             LOGGER.debug("Creating route for path: {}", path);
 
-            route = platformHttp.router().route(
+            route = router.route(
                 HttpMethod.POST,
                 path
             );
 
-            // add common handlers
-            platformHttp.handlers().forEach(route::handler);
+            // add body handler
+            route.handler(router.bodyHandler());
 
+            // add knative handler
             route.handler(routingContext -> {
                 LOGGER.debug("Handling {}", routingContext);
 
diff --git a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java
index d7e696e..d707a51 100644
--- a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java
+++ b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpProducer.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.knative.http;
 import java.util.Map;
 
 import io.vertx.core.MultiMap;
+import io.vertx.core.Vertx;
 import io.vertx.core.buffer.Buffer;
 import io.vertx.core.http.HttpHeaders;
 import io.vertx.ext.web.client.HttpResponse;
@@ -31,7 +32,6 @@ import org.apache.camel.Exchange;
 import org.apache.camel.InvalidPayloadException;
 import org.apache.camel.Message;
 import org.apache.camel.component.knative.spi.KnativeEnvironment;
-import org.apache.camel.k.http.PlatformHttp;
 import org.apache.camel.spi.HeaderFilterStrategy;
 import org.apache.camel.support.DefaultAsyncProducer;
 import org.apache.camel.support.DefaultMessage;
@@ -46,7 +46,7 @@ public class KnativeHttpProducer extends DefaultAsyncProducer {
 
     private final KnativeHttpTransport transport;
     private final KnativeEnvironment.KnativeServiceDefinition serviceDefinition;
-    private final PlatformHttp platformHttp;
+    private final Vertx vertx;
     private final WebClientOptions clientOptions;
     private final HeaderFilterStrategy headerFilterStrategy;
 
@@ -56,13 +56,13 @@ public class KnativeHttpProducer extends DefaultAsyncProducer {
             KnativeHttpTransport transport,
             Endpoint endpoint,
             KnativeEnvironment.KnativeServiceDefinition serviceDefinition,
-            PlatformHttp platformHttp,
+            Vertx vertx,
             WebClientOptions clientOptions) {
         super(endpoint);
 
         this.transport = transport;
         this.serviceDefinition = serviceDefinition;
-        this.platformHttp = ObjectHelper.notNull(platformHttp, "vertx");
+        this.vertx = ObjectHelper.notNull(vertx, "vertx");
         this.clientOptions = ObjectHelper.supplyIfEmpty(clientOptions, WebClientOptions::new);
         this.headerFilterStrategy = new KnativeHttpHeaderFilterStrategy();
     }
@@ -166,7 +166,7 @@ public class KnativeHttpProducer extends DefaultAsyncProducer {
     protected void doInit() throws Exception {
         super.doInit();
 
-        this.client = WebClient.create(platformHttp.vertx(), clientOptions);
+        this.client = WebClient.create(vertx, clientOptions);
     }
 
     @Override
diff --git a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpTransport.java b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpTransport.java
index 039a719..1666d7a 100644
--- a/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpTransport.java
+++ b/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpTransport.java
@@ -26,26 +26,26 @@ import org.apache.camel.Producer;
 import org.apache.camel.component.knative.spi.KnativeEnvironment;
 import org.apache.camel.component.knative.spi.KnativeTransport;
 import org.apache.camel.component.knative.spi.KnativeTransportConfiguration;
-import org.apache.camel.k.http.PlatformHttp;
+import org.apache.camel.component.platform.http.vertx.VertxPlatformHttpRouter;
 import org.apache.camel.support.service.ServiceSupport;
 
 public class KnativeHttpTransport extends ServiceSupport implements CamelContextAware, KnativeTransport {
     public static final int DEFAULT_PORT = 8080;
     public static final String DEFAULT_PATH = "/";
 
-    private PlatformHttp platformHttp;
+    private VertxPlatformHttpRouter router;
     private WebClientOptions vertxHttpClientOptions;
     private CamelContext camelContext;
 
     public KnativeHttpTransport() {
     }
 
-    public PlatformHttp getPlatformHttp() {
-        return platformHttp;
+    public VertxPlatformHttpRouter getRouter() {
+        return router;
     }
 
-    public void setPlatformHttp(PlatformHttp platformHttp) {
-        this.platformHttp = platformHttp;
+    public void setRouter(VertxPlatformHttpRouter router) {
+        this.router = router;
     }
 
     public WebClientOptions getClientOptions() {
@@ -74,8 +74,8 @@ public class KnativeHttpTransport extends ServiceSupport implements CamelContext
 
     @Override
     protected void doStart() throws Exception {
-        if (this.platformHttp == null) {
-            this.platformHttp = PlatformHttp.lookup(camelContext);
+        if (this.router == null) {
+            this.router = VertxPlatformHttpRouter.lookup(camelContext);
         }
     }
 
@@ -91,7 +91,7 @@ public class KnativeHttpTransport extends ServiceSupport implements CamelContext
 
     @Override
     public Producer createProducer(Endpoint endpoint, KnativeTransportConfiguration config, KnativeEnvironment.KnativeServiceDefinition service) {
-        return new KnativeHttpProducer(this, endpoint, service, this.platformHttp, vertxHttpClientOptions);
+        return new KnativeHttpProducer(this, endpoint, service, this.router.vertx(), vertxHttpClientOptions);
     }
 
     @Override
@@ -102,7 +102,7 @@ public class KnativeHttpTransport extends ServiceSupport implements CamelContext
             next = KnativeHttpSupport.withoutCloudEventHeaders(next, config.getCloudEvent());
         }
 
-        return new KnativeHttpConsumer(this, endpoint, service, this.platformHttp, next);
+        return new KnativeHttpConsumer(this, endpoint, service, this.router, next);
     }
 
 }
diff --git a/camel-knative/camel-knative/pom.xml b/camel-knative/camel-knative/pom.xml
index f1d2301..03d56c8 100644
--- a/camel-knative/camel-knative/pom.xml
+++ b/camel-knative/camel-knative/pom.xml
@@ -80,6 +80,18 @@
     <build>
         <plugins>
             <plugin>
+                <groupId>org.jboss.jandex</groupId>
+                <artifactId>jandex-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>make-index</id>
+                        <goals>
+                            <goal>jandex</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-package-maven-plugin</artifactId>
                 <version>${camel.version}</version>
@@ -91,6 +103,7 @@
                         <id>generate</id>
                         <goals>
                             <goal>generate-component</goal>
+                            <goal>generate-configurer</goal>
                         </goals>
                         <phase>process-classes</phase>
                     </execution>
diff --git a/camel-knative/camel-knative/src/generated/resources/org/apache/camel/component/knative/knative.json b/camel-knative/camel-knative/src/generated/resources/org/apache/camel/component/knative/knative.json
index 0a54039..a0cd44d 100644
--- a/camel-knative/camel-knative/src/generated/resources/org/apache/camel/component/knative/knative.json
+++ b/camel-knative/camel-knative/src/generated/resources/org/apache/camel/component/knative/knative.json
@@ -2,22 +2,23 @@
   "component": {
     "kind": "component",
     "name": "knative",
-    "scheme": "knative",
-    "extendsScheme": "",
-    "syntax": "knative:type\/name",
     "title": "Knative",
     "description": "This component allows to interact with KNative events.",
-    "label": "cloud,eventing",
     "deprecated": false,
-    "async": false,
-    "consumerOnly": false,
-    "producerOnly": false,
-    "lenientProperties": false,
-    "javaType": "org.apache.camel.component.knative.KnativeComponent",
     "firstVersion": "3.0.0",
+    "label": "cloud,eventing",
+    "javaType": "org.apache.camel.component.knative.KnativeComponent",
+    "supportLevel": "Preview",
     "groupId": "org.apache.camel.k",
     "artifactId": "camel-knative",
-    "version": "1.3.0-SNAPSHOT"
+    "version": "1.3.0-SNAPSHOT",
+    "scheme": "knative",
+    "extendsScheme": "",
+    "syntax": "knative:type\/name",
+    "async": false,
+    "consumerOnly": false,
+    "producerOnly": false,
+    "lenientProperties": false
   },
   "componentProperties": {
     "transport": { "kind": "property", "displayName": "Transport", "group": "common", "label": "", "required": false, "type": "object", "javaType": "org.apache.camel.component.knative.spi.KnativeTransport", "deprecated": false, "secret": false, "defaultValue": "http", "description": "The transport implementation." },
diff --git a/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
index 8b30ee6..63b8e8b 100644
--- a/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
+++ b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeComponent.java
@@ -37,10 +37,8 @@ import org.apache.camel.util.StringHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-@Component("knative")
+@Component(KnativeConstants.SCHEME)
 public class KnativeComponent extends DefaultComponent {
-    public static final String CONFIGURATION_ENV_VARIABLE = "CAMEL_KNATIVE_CONFIGURATION";
-
     private static final Logger LOGGER = LoggerFactory.getLogger(KnativeComponent.class);
 
     private KnativeConfiguration configuration;
@@ -259,7 +257,7 @@ public class KnativeComponent extends DefaultComponent {
         }
 
         if (conf.getEnvironment() == null) {
-            String envConfig = System.getenv(CONFIGURATION_ENV_VARIABLE);
+            String envConfig = System.getenv(KnativeConstants.CONFIGURATION_ENV_VARIABLE);
             if (environmentPath != null) {
                 conf.setEnvironment(
                     KnativeEnvironment.mandatoryLoadFromResource(getCamelContext(), this.environmentPath)
diff --git a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConstants.java
similarity index 61%
rename from camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java
rename to camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConstants.java
index 05f8111..2d5e5ce 100644
--- a/camel-k-runtime-http/src/main/java/org/apache/camel/k/http/engine/RuntimePlatformHttpEngine.java
+++ b/camel-knative/camel-knative/src/main/java/org/apache/camel/component/knative/KnativeConstants.java
@@ -14,16 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.k.http.engine;
+package org.apache.camel.component.knative;
 
-import org.apache.camel.Consumer;
-import org.apache.camel.Processor;
-import org.apache.camel.component.platform.http.PlatformHttpEndpoint;
-import org.apache.camel.component.platform.http.spi.PlatformHttpEngine;
+public final class KnativeConstants {
+    public static final String SCHEME = "knative";
+    public static final String CONFIGURATION_ENV_VARIABLE = "CAMEL_KNATIVE_CONFIGURATION";
 
-public class RuntimePlatformHttpEngine implements PlatformHttpEngine {
-    @Override
-    public Consumer createConsumer(PlatformHttpEndpoint platformHttpEndpoint, Processor processor) {
-        return new RuntimePlatformHttpConsumer(platformHttpEndpoint, processor);
+    private KnativeConstants() {
     }
 }
diff --git a/pom.xml b/pom.xml
index 9f816a2..5d4f985 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,8 +39,8 @@
         <maven.compiler.target>11</maven.compiler.target>
         <kotlin.compiler.target>1.8</kotlin.compiler.target>
 
-        <camel.version>3.2.0</camel.version>
-        <camel-quarkus.version>1.0.0-M7</camel-quarkus.version>
+        <camel.version>3.3.0</camel.version>
+        <camel-quarkus.version>1.0.0-CR1</camel-quarkus.version>
         <catalog.version>${camel.version}</catalog.version>
         <junit.version>5.6.2</junit.version>
         <joor.version>0.9.13</joor.version>
@@ -60,9 +60,9 @@
         <jaxb-core.version>2.3.0.1</jaxb-core.version>
         <immutables.version>2.8.8</immutables.version>
         <semver4j.version>3.1.0</semver4j.version>
-        <vertx.version>3.8.5</vertx.version>
+        <vertx.version>3.9.0</vertx.version>
         <graalvm.version>19.3.1</graalvm.version>
-        <quarkus.version>1.4.1.Final</quarkus.version>
+        <quarkus.version>1.5.0.Final</quarkus.version>
         <jandex.version>2.1.3.Final</jandex.version>
         <javapoet.version>1.11.1</javapoet.version>
         <rest-assured.version>4.3.0</rest-assured.version>
@@ -271,6 +271,17 @@
                 <enabled>false</enabled>
             </releases>
         </repository>
+        <repository>
+            <id>apache.staging</id>
+            <url>https://repository.apache.org/content/repositories/orgapachecamel-1216</url>
+            <name>Apache Staging Repo</name>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+        </repository>
     </repositories>
 
     <pluginRepositories>
@@ -284,6 +295,17 @@
                 <enabled>false</enabled>
             </releases>
         </pluginRepository>
+        <pluginRepository>
+            <id>apache.staging</id>
+            <url>https://repository.apache.org/content/repositories/orgapachecamel-1216</url>
+            <name>Apache Staging Repo</name>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+            <releases>
+                <enabled>true</enabled>
+            </releases>
+        </pluginRepository>
     </pluginRepositories>
 
     <dependencyManagement>


[camel-k-runtime] 09/12: Add polyglot tests for quarkus extensions

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

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

commit a25ab0f709c6bf1e6ea680f8a55fea645a99c44a
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 20:14:31 2020 +0200

    Add polyglot tests for quarkus extensions
---
 .github/workflows/pr-build.yml                     |   1 +
 .../camel-k-quarkus-itests-polyglot/pom.xml        | 170 +++++++++++++++++++++
 .../k/itests/polyglot/quarkus/Application.java     |  84 ++++++++++
 .../src/main/resources/application.properties      |  36 +++++
 .../k/itests/polyglot/quarkus/ExtensionIT.java     |  23 +++
 .../k/itests/polyglot/quarkus/ExtensionTest.java   |  59 +++++++
 .../src/test/resources/routes.xml                  |  34 +++++
 .../src/test/resources/routes.yaml                 |  25 +++
 camel-k-quarkus/camel-k-quarkus-itests/pom.xml     |   1 +
 9 files changed, 433 insertions(+)

diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml
index 3ed6e0c..12982e5 100644
--- a/.github/workflows/pr-build.yml
+++ b/.github/workflows/pr-build.yml
@@ -66,6 +66,7 @@ jobs:
           - :camel-k-quarkus-itests-knative
           - :camel-k-quarkus-itests-loader-xml
           - :camel-k-quarkus-itests-loader-yaml
+          - :camel-k-quarkus-itests-polyglot
           - :camel-k-runtime-example-quarkus-xml
           - :camel-k-runtime-example-quarkus-yaml
           - :camel-k-runtime-example-quarkus-knative
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/pom.xml
new file mode 100644
index 0000000..95299f0
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/pom.xml
@@ -0,0 +1,170 @@
+<?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">
+    <parent>
+        <groupId>org.apache.camel.k</groupId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
+        <version>1.3.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-k-quarkus-itests-polyglot</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-loader-yaml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-loader-xml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-log</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-jackson</artifactId>
+        </dependency>
+
+        <!-- quarkus dependencies -->
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-jsonb</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</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>
+    </dependencies>
+
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>${build-helper-maven-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>reserve-network-port</id>
+                        <goals>
+                            <goal>reserve-network-port</goal>
+                        </goals>
+                        <phase>process-resources</phase>
+                        <configuration>
+                            <portNames>
+                                <portName>test.http.port.jvm</portName>
+                                <portName>test.http.port.native</portName>
+                            </portNames>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <version>${quarkus.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <systemProperties>
+                        <quarkus.http.test-port>${test.http.port.jvm}</quarkus.http.test-port>
+                        <java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
+                    </systemProperties>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+    <profiles>
+        <profile>
+            <id>native</id>
+            <activation>
+                <property>
+                    <name>native</name>
+                </property>
+            </activation>
+            <properties>
+                <quarkus.package.type>native</quarkus.package.type>
+                <quarkus.native.additional-build-args>--language:js</quarkus.native.additional-build-args>
+            </properties>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <systemProperties>
+                                        <quarkus.http.test-port>${test.http.port.native}</quarkus.http.test-port>
+                                        <native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
+                                    </systemProperties>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+
+</project>
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/java/org/apache/camel/k/itests/polyglot/quarkus/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/java/org/apache/camel/k/itests/polyglot/quarkus/Application.java
new file mode 100644
index 0000000..a85dcc5
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/java/org/apache/camel/k/itests/polyglot/quarkus/Application.java
@@ -0,0 +1,84 @@
+/*
+ * 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.k.itests.polyglot.quarkus;
+
+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.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Consume;
+import org.apache.camel.k.Runtime;
+import org.apache.camel.k.Source;
+import org.apache.camel.k.SourceLoader;
+import org.apache.camel.k.Sources;
+
+@Path("/test")
+@ApplicationScoped
+public class Application {
+    @Inject
+    CamelContext context;
+
+    @POST
+    @Path("/load-routes/{loaderName}/{name}")
+    @Consume(MediaType.APPLICATION_OCTET_STREAM)
+    @Produces(MediaType.APPLICATION_JSON)
+    public JsonObject loadRoutes(@PathParam("loaderName") String loaderName, @PathParam("name") String name, byte[] code) throws Exception {
+        final SourceLoader loader = context.getRegistry().lookupByNameAndType(loaderName, SourceLoader.class);
+        final Runtime runtime = Runtime.on(context);
+        final Source source = Sources.fromBytes(name, loaderName, null, code);
+        final SourceLoader.Result result = loader.load(Runtime.on(context), source);
+
+        result.builder().ifPresent(runtime::addRoutes);
+        result.configuration().ifPresent(runtime::addConfiguration);
+
+        return Json.createObjectBuilder()
+            .add("components", extractComponents())
+            .add("routes", extractRoutes())
+            .add("endpoints", extractEndpoints())
+            .build();
+    }
+
+
+    private JsonArrayBuilder extractComponents() {
+        JsonArrayBuilder answer = Json.createArrayBuilder();
+        context.getComponentNames().forEach(answer::add);
+
+        return answer;
+    }
+
+    private JsonArrayBuilder extractRoutes() {
+        JsonArrayBuilder answer = Json.createArrayBuilder();
+        context.getRoutes().forEach(r -> answer.add(r.getId()));
+
+        return answer;
+    }
+
+    private JsonArrayBuilder extractEndpoints() {
+        JsonArrayBuilder answer = Json.createArrayBuilder();
+        context.getEndpoints().forEach(e -> answer.add(e.getEndpointUri()));
+
+        return answer;
+    }
+}
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/resources/application.properties
new file mode 100644
index 0000000..2958915
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/main/resources/application.properties
@@ -0,0 +1,36 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
+#
+# Quarkus
+#
+quarkus.log.file.enable    = false
+quarkus.log.console.enable = true
+quarkus.banner.enabled     = false
+
+#
+# Quarkus :: Camel
+#
+quarkus.camel.main.routes-discovery.enabled = false
+
+#
+# Camel
+#
+camel.context.name = camel-k-quarkus-ctx
+
+#
+# Integration
+#
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionIT.java
new file mode 100644
index 0000000..083853a
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionIT.java
@@ -0,0 +1,23 @@
+/*
+ * 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.k.itests.polyglot.quarkus;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+public class ExtensionIT extends ExtensionTest {
+}
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionTest.java
new file mode 100644
index 0000000..e1bd54f
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/java/org/apache/camel/k/itests/polyglot/quarkus/ExtensionTest.java
@@ -0,0 +1,59 @@
+/*
+ * 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.k.itests.polyglot.quarkus;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+
+import javax.ws.rs.core.MediaType;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.path.json.JsonPath;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.ValueSource;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+@QuarkusTest
+public class ExtensionTest {
+    @ParameterizedTest
+    @ValueSource(strings = { "yaml", "xml" })
+    public void loadRoute(String loaderName) throws IOException {
+        final byte[] code;
+
+        try (InputStream is = ExtensionTest.class.getResourceAsStream("/routes." + loaderName)) {
+            code = is.readAllBytes();
+        }
+
+        JsonPath p = RestAssured.given()
+            .contentType(MediaType.APPLICATION_OCTET_STREAM)
+            .accept(MediaType.APPLICATION_JSON)
+            .body(code)
+            .post("/test/load-routes/{loaderName}/MyRoute", Map.of("loaderName", loaderName))
+            .then()
+                .statusCode(200)
+            .extract()
+                .body()
+                .jsonPath();
+
+        assertThat(p.getList("components", String.class)).contains("direct", "log");
+        assertThat(p.getList("routes", String.class)).contains(loaderName);
+        assertThat(p.getList("endpoints", String.class)).contains("direct://" + loaderName, "log://" + loaderName);
+    }
+}
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.xml
new file mode 100644
index 0000000..2bb35d9
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.xml
@@ -0,0 +1,34 @@
+<?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.
+
+-->
+<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xmlns="http://camel.apache.org/schema/spring"
+        xsi:schemaLocation="
+            http://camel.apache.org/schema/spring
+            http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <route id="xml">
+        <from uri="direct:xml"/>
+        <marshal>
+            <json/>
+        </marshal>
+        <to uri="log:xml"/>
+    </route>
+
+</routes>
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.yaml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.yaml
new file mode 100644
index 0000000..709e1e0
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-polyglot/src/test/resources/routes.yaml
@@ -0,0 +1,25 @@
+#
+# 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.
+#
+
+- route:
+    id: yaml
+    from:
+      uri: 'direct:yaml'
+      steps:
+        - marshal:
+            json: {}
+        - to: 'log:yaml'
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-itests/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/pom.xml
index fb317cf..f412017 100644
--- a/camel-k-quarkus/camel-k-quarkus-itests/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/pom.xml
@@ -35,6 +35,7 @@
         <module>camel-k-quarkus-itests-loader-js</module>
         <module>camel-k-quarkus-itests-loader-xml</module>
         <module>camel-k-quarkus-itests-loader-yaml</module>
+        <module>camel-k-quarkus-itests-polyglot</module>
     </modules>
 
 </project>


[camel-k-runtime] 03/12: chore(build): use short version name for java matrix build

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

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

commit 97c68e5bcbfc02bbcb9f8eea61dc1226499c9f12
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 13:48:42 2020 +0200

    chore(build): use short version name for java matrix build
---
 .github/workflows/pr-build.yml    | 8 ++++----
 .github/workflows/pr-validate.yml | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml
index 1c2417f..feb48e2 100644
--- a/.github/workflows/pr-build.yml
+++ b/.github/workflows/pr-build.yml
@@ -28,7 +28,7 @@ jobs:
     - name: Set up JDK 11
       uses: joschi/setup-jdk@v1
       with:
-        java-version: openjdk11
+        java-version: 11
     - name: mvn install
       run: ./mvnw -V -B -ntp clean install
     - name: Save Cache
@@ -43,7 +43,7 @@ jobs:
     strategy:
       matrix:
         java:
-          - openjdk12
+          - 14
     steps:
       - uses: actions/checkout@v2
       - name: Set up JDK - ${{ matrix.java }}
@@ -74,7 +74,7 @@ jobs:
       - name: Set up JDK 11
         uses: joschi/setup-jdk@v1
         with:
-          java-version: openjdk11
+          java-version: 11
       - name: Restore Cache
         uses: actions/cache@v1
         with:
@@ -108,7 +108,7 @@ jobs:
 #       - name: Set up JDK 8
 #         uses: joschi/setup-jdk@v1
 #         with:
-#           java-version: openjdk8
+#           java-version: 11
 #       - name: Restore Cache
 #         uses: actions/cache@v1
 #         with:
diff --git a/.github/workflows/pr-validate.yml b/.github/workflows/pr-validate.yml
index f85d75d..1d2bda7 100644
--- a/.github/workflows/pr-validate.yml
+++ b/.github/workflows/pr-validate.yml
@@ -28,7 +28,7 @@ jobs:
     - name: Set up JDK 11
       uses: joschi/setup-jdk@v1
       with:
-        java-version: openjdk11
+        java-version: 11
     - name: mvn package
       run: |
         ./mvnw -fae -B -ntp clean package \


[camel-k-runtime] 02/12: Can't run the API example on Quarkus #348

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

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

commit 648e1a75bf882fb9dd07d13fbe35cff39328b07b
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 13:18:13 2020 +0200

    Can't run the API example on Quarkus #348
---
 camel-k-runtime-bom/pom.xml | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/camel-k-runtime-bom/pom.xml b/camel-k-runtime-bom/pom.xml
index b03e63e..8179692 100644
--- a/camel-k-runtime-bom/pom.xml
+++ b/camel-k-runtime-bom/pom.xml
@@ -31,6 +31,10 @@
     <version>1.3.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
+    <properties>
+        <camel.version>3.3.0</camel.version>
+    </properties>
+
     <developers>
         <developer>
             <name>The Apache Camel Team</name>
@@ -85,6 +89,18 @@
 
     <dependencyManagement>
         <dependencies>
+            <!-- workarounds -->
+            <dependency>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-openapi-java</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
+                <artifactId>camel-swagger-java</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+
             <!-- tools -->
             <dependency>
                 <groupId>org.apache.camel.k</groupId>
@@ -426,7 +442,7 @@
                             <dependency>
                                 <groupId>org.apache.camel</groupId>
                                 <artifactId>camel-buildtools</artifactId>
-                                <version>3.3.0</version>
+                                <version>${camel.version}</version>
                             </dependency>
                         </dependencies>
                     </plugin>


[camel-k-runtime] 08/12: Upgrade camel-quarkus to v1.0.0.CR2

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

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

commit 3bb1792d6ecd605ab5b5f3a4953a534895f91265
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 19:49:19 2020 +0200

    Upgrade camel-quarkus to v1.0.0.CR2
---
 pom.xml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 5914337..a73ebe6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
         <kotlin.compiler.target>1.8</kotlin.compiler.target>
 
         <camel.version>3.3.0</camel.version>
-        <camel-quarkus.version>1.0.0-CR1</camel-quarkus.version>
+        <camel-quarkus.version>1.0.0-CR2</camel-quarkus.version>
         <catalog.version>${camel.version}</catalog.version>
         <junit.version>5.6.2</junit.version>
         <joor.version>0.9.13</joor.version>
@@ -273,7 +273,7 @@
         </repository>
         <repository>
             <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1216</url>
+            <url>https://repository.apache.org/service/local/repositories/orgapachecamel-1218/content</url>
             <name>Apache Staging Repo</name>
             <snapshots>
                 <enabled>false</enabled>
@@ -297,7 +297,7 @@
         </pluginRepository>
         <pluginRepository>
             <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1216</url>
+            <url>https://repository.apache.org/service/local/repositories/orgapachecamel-1218/content</url>
             <name>Apache Staging Repo</name>
             <snapshots>
                 <enabled>false</enabled>


[camel-k-runtime] 04/12: chore(build): remove updateReleaseInfo option from maven-deploy-plugin configuration as it does not exists anymore

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

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

commit 2445f3a9031e97e7a8707e88c5739c6e8d387a91
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 13:56:40 2020 +0200

    chore(build): remove updateReleaseInfo option from maven-deploy-plugin configuration as it does not exists anymore
---
 camel-k-runtime-bom/pom.xml | 3 ---
 pom.xml                     | 3 ---
 2 files changed, 6 deletions(-)

diff --git a/camel-k-runtime-bom/pom.xml b/camel-k-runtime-bom/pom.xml
index 8179692..c3c4dd5 100644
--- a/camel-k-runtime-bom/pom.xml
+++ b/camel-k-runtime-bom/pom.xml
@@ -338,9 +338,6 @@
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-deploy-plugin</artifactId>
                         <version>3.0.0-M1</version>
-                        <configuration>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
                     </plugin>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
diff --git a/pom.xml b/pom.xml
index 5d4f985..5914337 100644
--- a/pom.xml
+++ b/pom.xml
@@ -698,9 +698,6 @@
                         <groupId>org.apache.maven.plugins</groupId>
                         <artifactId>maven-deploy-plugin</artifactId>
                         <version>${maven-deploy-plugin.version}</version>
-                        <configuration>
-                            <updateReleaseInfo>true</updateReleaseInfo>
-                        </configuration>
                     </plugin>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>


[camel-k-runtime] 10/12: chore(build): temporary add staging repo

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

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

commit 0e248e5ce3c1dc2934edc9f04e682cb20ff731fb
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Jun 1 09:37:55 2020 +0200

    chore(build): temporary add staging repo
---
 pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pom.xml b/pom.xml
index a73ebe6..6747e20 100644
--- a/pom.xml
+++ b/pom.xml
@@ -273,7 +273,7 @@
         </repository>
         <repository>
             <id>apache.staging</id>
-            <url>https://repository.apache.org/service/local/repositories/orgapachecamel-1218/content</url>
+            <url>https://repository.apache.org/content/repositories/orgapachecamel-1218/</url>
             <name>Apache Staging Repo</name>
             <snapshots>
                 <enabled>false</enabled>
@@ -297,7 +297,7 @@
         </pluginRepository>
         <pluginRepository>
             <id>apache.staging</id>
-            <url>https://repository.apache.org/service/local/repositories/orgapachecamel-1218/content</url>
+            <url>https://repository.apache.org/content/repositories/orgapachecamel-1218/</url>
             <name>Apache Staging Repo</name>
             <snapshots>
                 <enabled>false</enabled>


[camel-k-runtime] 05/12: Remove deployment processor for camel-k-quarkus-loader-xml as the same bits have been implemented in camel-quarkus

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

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

commit fbd4b5d7e2b5a96de231f2c98246838f45e02add
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 15:10:46 2020 +0200

    Remove deployment processor for camel-k-quarkus-loader-xml as the same bits have been implemented in  camel-quarkus
---
 camel-k-loader-xml/pom.xml                         |  6 ----
 .../camel-k-quarkus-core/runtime/pom.xml           | 10 ------
 .../camel-k-quarkus-loader-xml/deployment/pom.xml  |  4 +++
 .../quarkus/deployment/DeploymentProcessor.java    | 37 --------------------
 .../camel-k-quarkus-loader-xml/runtime/pom.xml     |  4 +++
 .../k/loader/xml/quarkus/XmlLoaderRecorder.java    | 40 ----------------------
 6 files changed, 8 insertions(+), 93 deletions(-)

diff --git a/camel-k-loader-xml/pom.xml b/camel-k-loader-xml/pom.xml
index 764a069..084634a 100644
--- a/camel-k-loader-xml/pom.xml
+++ b/camel-k-loader-xml/pom.xml
@@ -60,12 +60,6 @@
             <scope>provided</scope>
         </dependency>
 
-        <dependency>
-            <groupId>javax.xml.bind</groupId>
-            <artifactId>jaxb-api</artifactId>
-            <version>${jaxb-api.version}</version>
-        </dependency>
-
         <!-- ****************************** -->
         <!--                                -->
         <!-- TESTS                          -->
diff --git a/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
index cddd7d6..e358bf1 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-core/runtime/pom.xml
@@ -39,12 +39,6 @@
         <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-runtime-core</artifactId>
-            <exclusions>
-              <exclusion>
-                <groupId>javax.xml.bind</groupId>
-                <artifactId>jaxb-api</artifactId>
-              </exclusion>
-            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
@@ -55,10 +49,6 @@
             <artifactId>quarkus-development-mode-spi</artifactId>
             <version>${quarkus.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.jboss.spec.javax.xml.bind</groupId>
-            <artifactId>jboss-jaxb-api_2.3_spec</artifactId>
-        </dependency>
     </dependencies>
 
     <build>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
index 18c6ad9..6acac23 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/pom.xml
@@ -41,6 +41,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-xml-io-deployment</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-loader-xml</artifactId>
         </dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
deleted file mode 100644
index 26b0389..0000000
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/deployment/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/DeploymentProcessor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.loader.xml.quarkus.deployment;
-
-import io.quarkus.deployment.annotations.BuildStep;
-import io.quarkus.deployment.annotations.ExecutionTime;
-import io.quarkus.deployment.annotations.Record;
-import org.apache.camel.k.loader.xml.quarkus.XmlLoaderRecorder;
-import org.apache.camel.quarkus.core.deployment.spi.CamelRoutesLoaderBuildItems;
-
-public class DeploymentProcessor {
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT, optional = true)
-    CamelRoutesLoaderBuildItems.Xml xmlLoader(XmlLoaderRecorder recorder) {
-        return new CamelRoutesLoaderBuildItems.Xml(recorder.newXMLIORoutesDefinitionLoader());
-    }
-
-    @BuildStep
-    @Record(value = ExecutionTime.STATIC_INIT)
-    void initXmlReifiers(XmlLoaderRecorder recorder) {
-        recorder.initXmlReifiers();
-    }
-}
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
index c1f4f4a..4eb3c85 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/pom.xml
@@ -29,6 +29,10 @@
 
     <dependencies>
         <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-xml-io</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.camel.k</groupId>
             <artifactId>camel-k-quarkus-core</artifactId>
         </dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/src/main/java/org/apache/camel/k/loader/xml/quarkus/XmlLoaderRecorder.java b/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/src/main/java/org/apache/camel/k/loader/xml/quarkus/XmlLoaderRecorder.java
deleted file mode 100644
index e7b141a..0000000
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/runtime/src/main/java/org/apache/camel/k/loader/xml/quarkus/XmlLoaderRecorder.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.k.loader.xml.quarkus;
-
-import io.quarkus.runtime.RuntimeValue;
-import io.quarkus.runtime.annotations.Recorder;
-import org.apache.camel.model.ValidateDefinition;
-import org.apache.camel.model.validator.PredicateValidatorDefinition;
-import org.apache.camel.reifier.ProcessorReifier;
-import org.apache.camel.reifier.ValidateReifier;
-import org.apache.camel.reifier.validator.PredicateValidatorReifier;
-import org.apache.camel.reifier.validator.ValidatorReifier;
-import org.apache.camel.spi.XMLRoutesDefinitionLoader;
-import org.apache.camel.xml.in.ModelParserXMLRoutesDefinitionLoader;
-
-@Recorder
-public class XmlLoaderRecorder {
-    public RuntimeValue<XMLRoutesDefinitionLoader> newXMLIORoutesDefinitionLoader() {
-        return new RuntimeValue<>(new ModelParserXMLRoutesDefinitionLoader());
-    }
-
-    public void initXmlReifiers() {
-        ProcessorReifier.registerReifier(ValidateDefinition.class, ValidateReifier::new);
-        ValidatorReifier.registerReifier(PredicateValidatorDefinition.class, PredicateValidatorReifier::new);
-    }
-}


[camel-k-runtime] 07/12: chore(build): use artifact upload/download action instead of cache action

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

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

commit 7642fc22d6cccc729c803bf43c8d14539f309005
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 19:03:26 2020 +0200

    chore(build): use artifact upload/download action instead of cache action
---
 .github/workflows/pr-build.yml | 56 +++++++++++-------------------------------
 1 file changed, 15 insertions(+), 41 deletions(-)

diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml
index caff4b4..3ed6e0c 100644
--- a/.github/workflows/pr-build.yml
+++ b/.github/workflows/pr-build.yml
@@ -31,13 +31,14 @@ jobs:
         java-version: 11
     - name: mvn install
       run: ./mvnw -V -B -ntp clean install
-    - name: Save Cache
-      uses: actions/cache@v1
+    - name: Tar Maven Repo
+      shell: bash
+      run: tar -czf maven-repo-${{ github.run_id }}-${{ github.run_number }}.tgz -C ~ .m2/repository
+    - name: Persist Maven Repo
+      uses: actions/upload-artifact@v1
       with:
-        path: ~/.m2/repository
-        key: maven-${{ github.run_id }}-${{ github.run_number }}
-        restore-keys: |
-          maven-${{ github.run_id }}-${{ github.run_number }}
+        name: maven-repo-${{ github.run_id }}-${{ github.run_number }}
+        path: maven-repo-${{ github.run_id }}-${{ github.run_number }}.tgz
   build-additional-jvm:
     runs-on: ubuntu-latest
     strategy:
@@ -53,7 +54,7 @@ jobs:
       - name: Build on ${{ matrix.java }}
         run: |
           ./mvnw -V -B -ntp clean install
-  build-native-itests:
+  build-native:
     runs-on: ubuntu-latest
     needs: build
     strategy:
@@ -65,34 +66,6 @@ jobs:
           - :camel-k-quarkus-itests-knative
           - :camel-k-quarkus-itests-loader-xml
           - :camel-k-quarkus-itests-loader-yaml
-    steps:
-      - name: Checkout
-        uses: actions/checkout@v2
-      - name: Set up JDK 11
-        uses: joschi/setup-jdk@v1
-        with:
-          java-version: 11
-      - name: Restore Cache
-        uses: actions/cache@v1
-        with:
-          path: ~/.m2/repository
-          key: maven-${{ github.run_id }}-${{ github.run_number }}
-          restore-keys: |
-            maven-${{ github.run_id }}-${{ github.run_number }}
-      - name: Integration Test - ${{ matrix.native-image-project }}
-        run: |
-          ./mvnw -V -B -ntp -nsu clean install \
-            -Dnative \
-            -Dnative-image.xmx=6g \
-            -Ddocker \
-            -pl ${{ matrix.native-image-project }}
-  build-native-examples:
-    runs-on: ubuntu-latest
-    needs: build
-    strategy:
-      fail-fast: false
-      matrix:
-        native-image-project:
           - :camel-k-runtime-example-quarkus-xml
           - :camel-k-runtime-example-quarkus-yaml
           - :camel-k-runtime-example-quarkus-knative
@@ -103,13 +76,14 @@ jobs:
         uses: joschi/setup-jdk@v1
         with:
           java-version: 11
-      - name: Restore Cache
-        uses: actions/cache@v1
+      - name: Download Maven Repo
+        uses: actions/download-artifact@v1
         with:
-          path: ~/.m2/repository
-          key: maven-${{ github.run_id }}-${{ github.run_number }}
-          restore-keys: |
-            maven-${{ github.run_id }}-${{ github.run_number }}
+          name: maven-repo-${{ github.run_id }}-${{ github.run_number }}
+          path: .
+      - name: Extract Maven Repo
+        shell: bash
+        run: tar -xzf maven-repo-${{ github.run_id }}-${{ github.run_number }}.tgz -C ~
       - name: Integration Test - ${{ matrix.native-image-project }}
         run: |
           ./mvnw -V -B -ntp -nsu clean install \


[camel-k-runtime] 06/12: chore(build): reorganize quarkus integration tests

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

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

commit 63d6637cfeb7998c4cb6576471da3d08dfe8a57a
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Fri May 29 18:55:46 2020 +0200

    chore(build): reorganize quarkus integration tests
---
 .github/workflows/pr-build.yml                     | 72 +++++++++++-----------
 camel-k-quarkus/camel-k-quarkus-core/pom.xml       |  1 -
 camel-k-quarkus/camel-k-quarkus-cron/pom.xml       |  1 -
 .../camel-k-quarkus-itests-core}/pom.xml           |  4 +-
 .../k/core/quarkus/deployment/Application.java     |  0
 .../src/main/resources/application.properties      |  0
 .../k/core/quarkus/deployment/ExtensionIT.java     |  0
 .../k/core/quarkus/deployment/ExtensionTest.java   |  0
 .../camel-k-quarkus-itests-cron}/pom.xml           |  4 +-
 .../k/quarkus/cron/deployment/Application.java     |  0
 .../src/main/resources/application.properties      |  0
 .../k/quarkus/cron/deployment/ExtensionIT.java     |  0
 .../k/quarkus/cron/deployment/ExtensionTest.java   |  0
 .../camel-k-quarkus-itests-knative}/pom.xml        |  4 +-
 .../k/quarkus/knative/deployment/Application.java  |  0
 .../src/main/resources/application.properties      |  0
 .../src/main/resources/env.json                    |  0
 .../k/quarkus/knative/deployment/ExtensionIT.java  |  0
 .../quarkus/knative/deployment/ExtensionTest.java  |  0
 .../camel-k-quarkus-itests-loader-js}/pom.xml      |  4 +-
 .../loader/js/quarkus/deployment/Application.java  |  0
 .../src/main/resources/application.properties      |  0
 .../loader/js/quarkus/deployment/ExtensionIT.java  |  0
 .../js/quarkus/deployment/ExtensionTest.java       |  0
 .../src/test/resources/routes.js                   |  0
 .../camel-k-quarkus-itests-loader-xml}/pom.xml     |  4 +-
 .../loader/xml/quarkus/deployment/Application.java |  0
 .../src/main/resources/application.properties      |  0
 .../loader/xml/quarkus/deployment/ExtensionIT.java |  0
 .../xml/quarkus/deployment/ExtensionTest.java      |  0
 .../src/test/resources/routes.xml                  |  0
 .../camel-k-quarkus-itests-loader-yaml}/pom.xml    |  4 +-
 .../yaml/quarkus/deployment/Application.java       |  0
 .../src/main/resources/application.properties      |  0
 .../yaml/quarkus/deployment/ExtensionIT.java       |  0
 .../yaml/quarkus/deployment/ExtensionTest.java     |  0
 .../src/test/resources/routes.yaml                 |  0
 .../pom.xml                                        | 11 ++--
 camel-k-quarkus/camel-k-quarkus-knative/pom.xml    |  1 -
 camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml  |  1 -
 camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml |  1 -
 .../camel-k-quarkus-loader-yaml/pom.xml            |  1 -
 camel-k-quarkus/pom.xml                            |  2 +
 43 files changed, 56 insertions(+), 59 deletions(-)

diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml
index feb48e2..caff4b4 100644
--- a/.github/workflows/pr-build.yml
+++ b/.github/workflows/pr-build.yml
@@ -53,18 +53,46 @@ jobs:
       - name: Build on ${{ matrix.java }}
         run: |
           ./mvnw -V -B -ntp clean install
-  build-native:
+  build-native-itests:
+    runs-on: ubuntu-latest
+    needs: build
+    strategy:
+      fail-fast: false
+      matrix:
+        native-image-project:
+          - :camel-k-quarkus-itests-core
+          - :camel-k-quarkus-itests-cron
+          - :camel-k-quarkus-itests-knative
+          - :camel-k-quarkus-itests-loader-xml
+          - :camel-k-quarkus-itests-loader-yaml
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: Set up JDK 11
+        uses: joschi/setup-jdk@v1
+        with:
+          java-version: 11
+      - name: Restore Cache
+        uses: actions/cache@v1
+        with:
+          path: ~/.m2/repository
+          key: maven-${{ github.run_id }}-${{ github.run_number }}
+          restore-keys: |
+            maven-${{ github.run_id }}-${{ github.run_number }}
+      - name: Integration Test - ${{ matrix.native-image-project }}
+        run: |
+          ./mvnw -V -B -ntp -nsu clean install \
+            -Dnative \
+            -Dnative-image.xmx=6g \
+            -Ddocker \
+            -pl ${{ matrix.native-image-project }}
+  build-native-examples:
     runs-on: ubuntu-latest
     needs: build
     strategy:
       fail-fast: false
       matrix:
         native-image-project:
-          - :camel-k-quarkus-core-it
-          - :camel-k-quarkus-cron-it
-          - :camel-k-quarkus-knative-it
-          - :camel-k-quarkus-loader-xml-it
-          - :camel-k-quarkus-loader-yaml-it
           - :camel-k-runtime-example-quarkus-xml
           - :camel-k-runtime-example-quarkus-yaml
           - :camel-k-runtime-example-quarkus-knative
@@ -89,39 +117,9 @@ jobs:
             -Dnative-image.xmx=6g \
             -Ddocker \
             -pl ${{ matrix.native-image-project }}
+
 #
 # JS build disabled as fails for OOM
 # relates to: https://github.com/oracle/graal/issues/2129
 #
-#   build-native-js:
-#     runs-on: ubuntu-latest
-#     needs: build
-#     strategy:
-#       fail-fast: false
-#       matrix:
-#         native-image-project:
-#           - :camel-k-quarkus-loader-js-it
-#           - :camel-k-runtime-example-quarkus-js
-#     steps:
-#       - name: Checkout
-#         uses: actions/checkout@v2
-#       - name: Set up JDK 8
-#         uses: joschi/setup-jdk@v1
-#         with:
-#           java-version: 11
-#       - name: Restore Cache
-#         uses: actions/cache@v1
-#         with:
-#           path: ~/.m2/repository
-#           key: maven-${{ github.run_id }}-${{ github.run_number }}
-#           restore-keys: |
-#             maven-${{ github.run_id }}-${{ github.run_number }}
-#       - name: Examples - ${{ matrix.native-image-project }}
-#         run: |
-#           ./mvnw -V -B -ntp -nsu clean package \
-#             -Dnative \
-#             -Dnative-image.xmx=6g \
-#             -Ddocker \
-#             -DskipTests \
-#             -pl ${{ matrix.native-image-project }}
 
diff --git a/camel-k-quarkus/camel-k-quarkus-core/pom.xml b/camel-k-quarkus/camel-k-quarkus-core/pom.xml
index 4aa53bb..b3d3c0a 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-core/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/pom.xml b/camel-k-quarkus/camel-k-quarkus-cron/pom.xml
index 9ae1a12..f95a57b 100644
--- a/camel-k-quarkus/camel-k-quarkus-cron/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-cron/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-core/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/pom.xml
index 2ddb15d..dbc752c 100644
--- a/camel-k-quarkus/camel-k-quarkus-core/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-core-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-core-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-core</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/main/java/org/apache/camel/k/core/quarkus/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/main/java/org/apache/camel/k/core/quarkus/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-core/it/src/main/java/org/apache/camel/k/core/quarkus/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/main/java/org/apache/camel/k/core/quarkus/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-core/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-core/it/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-core/src/test/java/org/apache/camel/k/core/quarkus/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-cron/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/pom.xml
index 7724032..ee1649f 100644
--- a/camel-k-quarkus/camel-k-quarkus-cron/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-cron-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-cron-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-cron</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/it/src/main/java/org/apache/camel/k/quarkus/cron/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/main/java/org/apache/camel/k/quarkus/cron/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-cron/it/src/main/java/org/apache/camel/k/quarkus/cron/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/main/java/org/apache/camel/k/quarkus/cron/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-cron/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/it/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-cron/it/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/it/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-cron/it/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-cron/src/test/java/org/apache/camel/k/quarkus/cron/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/pom.xml
index b90339c..92b3d29 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-knative-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-knative-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-knative</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/java/org/apache/camel/k/quarkus/knative/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/env.json b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/resources/env.json
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/env.json
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/main/resources/env.json
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-knative/src/test/java/org/apache/camel/k/quarkus/knative/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/pom.xml
index 268bccd..4db4a10 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-loader-js-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-loader-js-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-loader-js</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/main/java/org/apache/camel/k/loader/js/quarkus/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/java/org/apache/camel/k/loader/js/quarkus/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/resources/routes.js b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/resources/routes.js
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/test/resources/routes.js
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-js/src/test/resources/routes.js
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/pom.xml
index b09eefc..0aceb75 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-loader-xml-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-loader-xml-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-loader-xml</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/main/java/org/apache/camel/k/loader/xml/quarkus/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/java/org/apache/camel/k/loader/xml/quarkus/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/resources/routes.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/resources/routes.xml
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/test/resources/routes.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-xml/src/test/resources/routes.xml
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/pom.xml
similarity index 98%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/pom.xml
index 733a071..9053db2 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/pom.xml
@@ -20,12 +20,12 @@
 <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">
     <parent>
         <groupId>org.apache.camel.k</groupId>
-        <artifactId>camel-k-quarkus-loader-yaml-parent</artifactId>
+        <artifactId>camel-k-quarkus-itests</artifactId>
         <version>1.3.0-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>camel-k-quarkus-loader-yaml-it</artifactId>
+    <artifactId>camel-k-quarkus-itests-loader-yaml</artifactId>
 
     <dependencies>
         <dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/Application.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/Application.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/Application.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/main/java/org/apache/camel/k/loader/yaml/quarkus/deployment/Application.java
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/main/resources/application.properties
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-knative/it/src/main/resources/application.properties
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/main/resources/application.properties
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionIT.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionTest.java b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionTest.java
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionTest.java
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/java/org/apache/camel/k/loader/yaml/quarkus/deployment/ExtensionTest.java
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/resources/routes.yaml b/camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/resources/routes.yaml
similarity index 100%
rename from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/test/resources/routes.yaml
rename to camel-k-quarkus/camel-k-quarkus-itests/camel-k-quarkus-itests-loader-yaml/src/test/resources/routes.yaml
diff --git a/camel-k-quarkus/camel-k-quarkus-cron/pom.xml b/camel-k-quarkus/camel-k-quarkus-itests/pom.xml
similarity index 77%
copy from camel-k-quarkus/camel-k-quarkus-cron/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-itests/pom.xml
index 9ae1a12..fb317cf 100644
--- a/camel-k-quarkus/camel-k-quarkus-cron/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-itests/pom.xml
@@ -26,12 +26,15 @@
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus-cron-parent</artifactId>
+    <artifactId>camel-k-quarkus-itests</artifactId>
 
     <modules>
-        <module>runtime</module>
-        <module>deployment</module>
-        <module>it</module>
+        <module>camel-k-quarkus-itests-core</module>
+        <module>camel-k-quarkus-itests-cron</module>
+        <module>camel-k-quarkus-itests-knative</module>
+        <module>camel-k-quarkus-itests-loader-js</module>
+        <module>camel-k-quarkus-itests-loader-xml</module>
+        <module>camel-k-quarkus-itests-loader-yaml</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-knative/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
index 8f64b59..a6b81b3 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml
index 846f151..75c1336 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml
index c3e98b7..2cbe561 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-yaml/pom.xml
index 27b7cec..4dcdb32 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/pom.xml
@@ -31,7 +31,6 @@
     <modules>
         <module>runtime</module>
         <module>deployment</module>
-        <module>it</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/pom.xml
index 539bbbf..45b1680 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/pom.xml
@@ -53,6 +53,8 @@
         <module>camel-k-quarkus-cron</module>
 
         <module>camel-k-runtime-quarkus</module>
+
+        <module>camel-k-quarkus-itests</module>
     </modules>
 
 </project>


[camel-k-runtime] 11/12: workaround(quarkus): include rest and restapi factories

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

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

commit e6557f481661864879fef64ee23d6de5e2539351
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Mon Jun 1 11:20:28 2020 +0200

    workaround(quarkus): include rest and restapi factories
---
 .../k/quarkus/deployment/DeploymentProcessor.java  | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
new file mode 100644
index 0000000..c35b6f7
--- /dev/null
+++ b/camel-k-quarkus/camel-k-runtime-quarkus/deployment/src/main/java/org/apache/camel/k/quarkus/deployment/DeploymentProcessor.java
@@ -0,0 +1,34 @@
+/*
+ * 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.k.quarkus.deployment;
+
+import java.util.List;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import org.apache.camel.quarkus.core.deployment.spi.CamelServicePatternBuildItem;
+
+public class DeploymentProcessor {
+    @BuildStep
+    public List<CamelServicePatternBuildItem> factoryPatterns() {
+        return List.of(
+            new CamelServicePatternBuildItem(
+            CamelServicePatternBuildItem.CamelServiceDestination.DISCOVERY,
+            true,
+            "META-INF/services/org/apache/camel/rest/*",
+            "META-INF/services/org/apache/camel/restapi/*"));
+    }
+}


[camel-k-runtime] 12/12: chore(build): reomve staging repo

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

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

commit 76297e4b41b606c53533ff10904ddc5a415eedcd
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Tue Jun 2 16:10:05 2020 +0200

    chore(build): reomve staging repo
---
 pom.xml | 22 ----------------------
 1 file changed, 22 deletions(-)

diff --git a/pom.xml b/pom.xml
index 6747e20..2d080ac 100644
--- a/pom.xml
+++ b/pom.xml
@@ -271,17 +271,6 @@
                 <enabled>false</enabled>
             </releases>
         </repository>
-        <repository>
-            <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1218/</url>
-            <name>Apache Staging Repo</name>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </repository>
     </repositories>
 
     <pluginRepositories>
@@ -295,17 +284,6 @@
                 <enabled>false</enabled>
             </releases>
         </pluginRepository>
-        <pluginRepository>
-            <id>apache.staging</id>
-            <url>https://repository.apache.org/content/repositories/orgapachecamel-1218/</url>
-            <name>Apache Staging Repo</name>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-        </pluginRepository>
     </pluginRepositories>
 
     <dependencyManagement>