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 2019/12/18 18:18:52 UTC

[camel-k-runtime] branch master updated: [quarkus] create loaders for java, groovy and kotlin in JVM mode #212

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


The following commit(s) were added to refs/heads/master by this push:
     new 05454b7  [quarkus] create loaders for java, groovy and kotlin in JVM mode #212
05454b7 is described below

commit 05454b79871ada865bb6d3b5e98668c951bc9e60
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Dec 18 17:21:27 2019 +0100

    [quarkus] create loaders for java, groovy and kotlin in JVM mode #212
---
 .../deployment}/pom.xml                            |  44 ++++++---
 .../loader/groovy/quarkus/deployment/Feature.java  |  29 ++++++
 .../{ => camel-k-quarkus-loader-groovy}/pom.xml    |  27 +-----
 .../camel-k-quarkus-loader-groovy/runtime/pom.xml  | 105 +++++++++++++++++++++
 .../deployment}/pom.xml                            |  44 ++++++---
 .../k/loader/java/quarkus/deployment/Feature.java  |  29 ++++++
 .../{ => camel-k-quarkus-loader-java}/pom.xml      |  27 +-----
 .../camel-k-quarkus-loader-java/runtime/pom.xml    |  90 ++++++++++++++++++
 .../it/src/main/resources/application.properties   |   5 +
 .../deployment}/pom.xml                            |  44 ++++++---
 .../loader/kotlin/quarkus/deployment/Feature.java  |  29 ++++++
 .../{ => camel-k-quarkus-loader-kotlin}/pom.xml    |  27 +-----
 .../camel-k-quarkus-loader-kotlin/runtime/pom.xml  |  90 ++++++++++++++++++
 .../it/src/main/resources/application.properties   |   5 +
 .../it/src/main/resources/application.properties   |   4 +
 camel-k-quarkus/pom.xml                            |   3 +
 camel-k-runtime-bom/pom.xml                        |  34 ++++++-
 .../data}/application.properties                   |  14 ++-
 .../data/routes.groovy                             |  19 ++++
 .../pom.xml                                        |  64 +------------
 .../src/main/resources/application.properties      |  15 +--
 .../data/MyRoutes.java                             |  25 +++++
 .../data}/application.properties                   |  14 ++-
 .../pom.xml                                        |  64 +------------
 .../src/main/resources/application.properties      |  15 +--
 .../camel-k-runtime-example-quarkus-js/pom.xml     |   1 +
 .../pom.xml                                        |   5 +
 .../camel-k-runtime-example-quarkus-yaml/pom.xml   |   1 +
 examples/pom.xml                                   |   2 +
 pom.xml                                            |  30 ++++++
 30 files changed, 634 insertions(+), 271 deletions(-)

diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
similarity index 56%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
index 0080052..58cf1a2 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/pom.xml
@@ -20,19 +20,18 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus-loader-groovy-parent</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
+    <artifactId>camel-k-quarkus-loader-groovy-deployment</artifactId>
 
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
@@ -40,16 +39,33 @@
         </dependencies>
     </dependencyManagement>
 
-    <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-loader-groovy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core-deployment</artifactId>
+        </dependency>
+    </dependencies>
 
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
-    </modules>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/src/main/java/org/apache/camel/k/loader/groovy/quarkus/deployment/Feature.java b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/src/main/java/org/apache/camel/k/loader/groovy/quarkus/deployment/Feature.java
new file mode 100644
index 0000000..4cdae72
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-groovy/deployment/src/main/java/org/apache/camel/k/loader/groovy/quarkus/deployment/Feature.java
@@ -0,0 +1,29 @@
+/*
+ * 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.groovy.quarkus.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+public class Feature {
+    private static final String FEATURE = "camel-k-loader-groovy";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-groovy/pom.xml
similarity index 59%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-groovy/pom.xml
index 0080052..cf81d71 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-groovy/pom.xml
@@ -20,36 +20,17 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
-                <version>${camel-quarkus.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+    <artifactId>camel-k-quarkus-loader-groovy-parent</artifactId>
 
     <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
-
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
+        <module>runtime</module>
+        <module>deployment</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-groovy/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-groovy/runtime/pom.xml
new file mode 100644
index 0000000..4c0053f
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-groovy/runtime/pom.xml
@@ -0,0 +1,105 @@
+<?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-loader-groovy-parent</artifactId>
+        <version>1.0.9-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-k-quarkus-loader-groovy</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-loader-groovy</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-endpointdsl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-groovy</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.codehaus.groovy</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy</artifactId>
+            <version>${groovy.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+                <version>${quarkus.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>extension-descriptor</goal>
+                        </goals>
+                        <configuration>
+                            <deployment>${project.groupId}:${project.artifactId}-deployment:${project.version}</deployment>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+            <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>
+        </plugins>
+    </build>
+
+</project>
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
similarity index 56%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
index 0080052..dace69f 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/pom.xml
@@ -20,19 +20,18 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus-loader-java-parent</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
+    <artifactId>camel-k-quarkus-loader-java-deployment</artifactId>
 
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
@@ -40,16 +39,33 @@
         </dependencies>
     </dependencyManagement>
 
-    <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-loader-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core-deployment</artifactId>
+        </dependency>
+    </dependencies>
 
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
-    </modules>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/src/main/java/org/apache/camel/k/loader/java/quarkus/deployment/Feature.java b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/src/main/java/org/apache/camel/k/loader/java/quarkus/deployment/Feature.java
new file mode 100644
index 0000000..a5b0d0f
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-java/deployment/src/main/java/org/apache/camel/k/loader/java/quarkus/deployment/Feature.java
@@ -0,0 +1,29 @@
+/*
+ * 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.java.quarkus.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+public class Feature {
+    private static final String FEATURE = "camel-k-loader-java";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-java/pom.xml
similarity index 59%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-java/pom.xml
index 0080052..dbf9360 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-java/pom.xml
@@ -20,36 +20,17 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
-                <version>${camel-quarkus.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+    <artifactId>camel-k-quarkus-loader-java-parent</artifactId>
 
     <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
-
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
+        <module>runtime</module>
+        <module>deployment</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-java/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-java/runtime/pom.xml
new file mode 100644
index 0000000..19d4c4d
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-java/runtime/pom.xml
@@ -0,0 +1,90 @@
+<?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-loader-java-parent</artifactId>
+        <version>1.0.9-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-k-quarkus-loader-java</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-loader-java</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-endpointdsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+                <version>${quarkus.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>extension-descriptor</goal>
+                        </goals>
+                        <configuration>
+                            <deployment>${project.groupId}:${project.artifactId}-deployment:${project.version}</deployment>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+            <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>
+        </plugins>
+    </build>
+
+</project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
index 91d5d75..3dff777 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
@@ -21,6 +21,11 @@ quarkus.log.file.enable    = false
 quarkus.log.console.enable = false
 
 #
+# Quarkus :: Camel
+#
+quarkus.camel.main.routes-discovery.enabled = false
+
+#
 # Camel
 #
 camel.context.name = camel-k-quarkus-ctx
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
similarity index 56%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
index 0080052..3f85ac3 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/pom.xml
@@ -20,19 +20,18 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus-loader-kotlin-parent</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
-    <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
+    <artifactId>camel-k-quarkus-loader-kotlin-deployment</artifactId>
 
     <dependencyManagement>
         <dependencies>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
                 <type>pom</type>
                 <scope>import</scope>
@@ -40,16 +39,33 @@
         </dependencies>
     </dependencyManagement>
 
-    <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-loader-kotlin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core-deployment</artifactId>
+        </dependency>
+    </dependencies>
 
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
-    </modules>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/src/main/java/org/apache/camel/k/loader/kotlin/quarkus/deployment/Feature.java b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/src/main/java/org/apache/camel/k/loader/kotlin/quarkus/deployment/Feature.java
new file mode 100644
index 0000000..a869ba1
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/deployment/src/main/java/org/apache/camel/k/loader/kotlin/quarkus/deployment/Feature.java
@@ -0,0 +1,29 @@
+/*
+ * 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.kotlin.quarkus.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+public class Feature {
+    private static final String FEATURE = "camel-k-loader-kotlin";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/pom.xml
similarity index 59%
copy from camel-k-quarkus/pom.xml
copy to camel-k-quarkus/camel-k-quarkus-loader-kotlin/pom.xml
index 0080052..0fd18f8 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/pom.xml
@@ -20,36 +20,17 @@
 <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-runtime-parent</artifactId>
+        <artifactId>camel-k-quarkus</artifactId>
         <version>1.0.9-SNAPSHOT</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>pom</packaging>
 
-    <artifactId>camel-k-quarkus</artifactId>
-
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>org.apache.camel.quarkus</groupId>
-                <artifactId>camel-quarkus-bom</artifactId>
-                <version>${camel-quarkus.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
+    <artifactId>camel-k-quarkus-loader-kotlin-parent</artifactId>
 
     <modules>
-        <module>camel-k-quarkus-loader-xml</module>
-        <module>camel-k-quarkus-loader-js</module>
-        <module>camel-k-quarkus-loader-yaml</module>
-        <module>camel-k-quarkus-loader-knative</module>
-
-        <module>camel-k-quarkus-core</module>
-        <module>camel-k-quarkus-knative</module>
-
-        <module>camel-k-runtime-quarkus</module>
+        <module>runtime</module>
+        <module>deployment</module>
     </modules>
 
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-kotlin/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/runtime/pom.xml
new file mode 100644
index 0000000..09e1e1f
--- /dev/null
+++ b/camel-k-quarkus/camel-k-quarkus-loader-kotlin/runtime/pom.xml
@@ -0,0 +1,90 @@
+<?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-loader-kotlin-parent</artifactId>
+        <version>1.0.9-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>camel-k-quarkus-loader-kotlin</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-loader-kotlin</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-endpointdsl</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+                <version>${quarkus.version}</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>extension-descriptor</goal>
+                        </goals>
+                        <configuration>
+                            <deployment>${project.groupId}:${project.artifactId}-deployment:${project.version}</deployment>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+            <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>
+        </plugins>
+    </build>
+
+</project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
index 876ce6b..d277fd6 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-xml/it/src/main/resources/application.properties
@@ -21,6 +21,11 @@ quarkus.log.file.enable    = false
 quarkus.log.console.enable = false
 
 #
+# Quarkus :: Camel
+#
+quarkus.camel.main.routes-discovery.enabled = false
+
+#
 # Camel
 #
 camel.context.name = camel-k-quarkus-ctx
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
index a8f86e9..3dff777 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
+++ b/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
@@ -20,6 +20,10 @@
 quarkus.log.file.enable    = false
 quarkus.log.console.enable = false
 
+#
+# Quarkus :: Camel
+#
+quarkus.camel.main.routes-discovery.enabled = false
 
 #
 # Camel
diff --git a/camel-k-quarkus/pom.xml b/camel-k-quarkus/pom.xml
index 0080052..8e26d5f 100644
--- a/camel-k-quarkus/pom.xml
+++ b/camel-k-quarkus/pom.xml
@@ -45,6 +45,9 @@
         <module>camel-k-quarkus-loader-js</module>
         <module>camel-k-quarkus-loader-yaml</module>
         <module>camel-k-quarkus-loader-knative</module>
+        <module>camel-k-quarkus-loader-java</module>
+        <module>camel-k-quarkus-loader-groovy</module>
+        <module>camel-k-quarkus-loader-kotlin</module>
 
         <module>camel-k-quarkus-core</module>
         <module>camel-k-quarkus-knative</module>
diff --git a/camel-k-runtime-bom/pom.xml b/camel-k-runtime-bom/pom.xml
index a36ca66..4fd8ff8 100644
--- a/camel-k-runtime-bom/pom.xml
+++ b/camel-k-runtime-bom/pom.xml
@@ -31,10 +31,6 @@
     <version>1.0.9-SNAPSHOT</version>
     <packaging>pom</packaging>
 
-    <properties>
-        <log4j2.version>2.12.0</log4j2.version>
-    </properties>
-
     <developers>
         <developer>
             <name>The Apache Camel Team</name>
@@ -211,6 +207,36 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-java</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-java-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-groovy</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-groovy-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-kotlin</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-kotlin-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
                 <artifactId>camel-k-quarkus-core</artifactId>
                 <version>${project.version}</version>
             </dependency>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-groovy/data/application.properties
similarity index 85%
copy from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
copy to examples/camel-k-runtime-example-quarkus-groovy/data/application.properties
index a8f86e9..b5802ce 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-groovy/data/application.properties
@@ -14,18 +14,16 @@
 ## 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
-
 
 #
-# Camel
+# camel - main
 #
-camel.context.name = camel-k-quarkus-ctx
+camel.main.name = camel-q
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
 
 #
 # Integration
 #
+message = test-xs
+
diff --git a/examples/camel-k-runtime-example-quarkus-groovy/data/routes.groovy b/examples/camel-k-runtime-example-quarkus-groovy/data/routes.groovy
new file mode 100644
index 0000000..40091b0
--- /dev/null
+++ b/examples/camel-k-runtime-example-quarkus-groovy/data/routes.groovy
@@ -0,0 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+from('timer:tick')
+    .to('log:info')
diff --git a/examples/camel-k-runtime-example-quarkus-js/pom.xml b/examples/camel-k-runtime-example-quarkus-groovy/pom.xml
similarity index 60%
copy from examples/camel-k-runtime-example-quarkus-js/pom.xml
copy to examples/camel-k-runtime-example-quarkus-groovy/pom.xml
index 60225f2..962b77f 100644
--- a/examples/camel-k-runtime-example-quarkus-js/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-groovy/pom.xml
@@ -26,10 +26,11 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>camel-k-runtime-example-quarkus-js</artifactId>
+    <artifactId>camel-k-runtime-example-quarkus-groovy</artifactId>
 
     <properties>
         <noDeps>true</noDeps>
+        <quarkus.camel.main.routes-discovery.enabled>false</quarkus.camel.main.routes-discovery.enabled>
     </properties>
 
     <dependencyManagement>
@@ -51,7 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-js</artifactId>
+            <artifactId>camel-k-quarkus-loader-groovy</artifactId>
         </dependency>
 
         <dependency>
@@ -107,68 +108,11 @@
                     </arguments>
                     <environmentVariables>
                         <CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
-                        <CAMEL_K_ROUTES>file:${project.basedir}/data/routes.js</CAMEL_K_ROUTES>
+                        <CAMEL_K_ROUTES>file:${project.basedir}/data/routes.groovy</CAMEL_K_ROUTES>
                     </environmentVariables>
                 </configuration>
             </plugin>
         </plugins>
     </build>
 
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.quarkus</groupId>
-                        <artifactId>quarkus-maven-plugin</artifactId>
-                        <version>${quarkus.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>native-image</goal>
-                                </goals>
-                                <configuration>
-                                    <finalName>${project.artifactId}</finalName>
-                                    <enableHttpUrlHandler>true</enableHttpUrlHandler>
-                                    <enableJni>true</enableJni>
-                                    <disableReports>true</disableReports>
-                                    <additionalBuildArgs>
-                                        <additionalBuildArg>--language:js</additionalBuildArg>
-                                    </additionalBuildArgs>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>exec-maven-plugin</artifactId>
-                        <version>${exec-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>exec</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <executable>${project.build.directory}/${project.artifactId}-runner</executable>
-                            <workingDirectory>${project.basedir}</workingDirectory>
-                            <environmentVariables>
-                                <CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
-                                <CAMEL_K_ROUTES>file:${project.basedir}/data/routes.js</CAMEL_K_ROUTES>
-                            </environmentVariables>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-groovy/src/main/resources/application.properties
similarity index 86%
copy from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
copy to examples/camel-k-runtime-example-quarkus-groovy/src/main/resources/application.properties
index 91d5d75..3ac1675 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-groovy/src/main/resources/application.properties
@@ -14,17 +14,12 @@
 ## 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
 
 #
-# Camel
+# quarkus
 #
-camel.context.name = camel-k-quarkus-ctx
+quarkus.log.file.enable = false
+quarkus.log.console.enable = true
 
-#
-# Integration
-#
+quarkus.log.level = INFO
+quarkus.log.category."org.apache.camel".level = INFO
diff --git a/examples/camel-k-runtime-example-quarkus-java/data/MyRoutes.java b/examples/camel-k-runtime-example-quarkus-java/data/MyRoutes.java
new file mode 100644
index 0000000..a724411
--- /dev/null
+++ b/examples/camel-k-runtime-example-quarkus-java/data/MyRoutes.java
@@ -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.
+ */
+import org.apache.camel.builder.RouteBuilder;
+
+public class MyRoutes extends RouteBuilder {
+    @Override
+    public void configure() throws Exception {
+        from("timer:tick")
+            .to("log:info");
+    }
+}
\ No newline at end of file
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-java/data/application.properties
similarity index 85%
copy from camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
copy to examples/camel-k-runtime-example-quarkus-java/data/application.properties
index a8f86e9..b5802ce 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-yaml/it/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-java/data/application.properties
@@ -14,18 +14,16 @@
 ## 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
-
 
 #
-# Camel
+# camel - main
 #
-camel.context.name = camel-k-quarkus-ctx
+camel.main.name = camel-q
+camel.main.stream-caching-enabled = true
+camel.main.stream-caching-spool-directory = ${java.io.tmpdir}/camel-q
 
 #
 # Integration
 #
+message = test-xs
+
diff --git a/examples/camel-k-runtime-example-quarkus-js/pom.xml b/examples/camel-k-runtime-example-quarkus-java/pom.xml
similarity index 60%
copy from examples/camel-k-runtime-example-quarkus-js/pom.xml
copy to examples/camel-k-runtime-example-quarkus-java/pom.xml
index 60225f2..6e18cc9 100644
--- a/examples/camel-k-runtime-example-quarkus-js/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-java/pom.xml
@@ -26,10 +26,11 @@
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
-    <artifactId>camel-k-runtime-example-quarkus-js</artifactId>
+    <artifactId>camel-k-runtime-example-quarkus-java</artifactId>
 
     <properties>
         <noDeps>true</noDeps>
+        <quarkus.camel.main.routes-discovery.enabled>false</quarkus.camel.main.routes-discovery.enabled>
     </properties>
 
     <dependencyManagement>
@@ -51,7 +52,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-quarkus-loader-js</artifactId>
+            <artifactId>camel-k-quarkus-loader-java</artifactId>
         </dependency>
 
         <dependency>
@@ -107,68 +108,11 @@
                     </arguments>
                     <environmentVariables>
                         <CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
-                        <CAMEL_K_ROUTES>file:${project.basedir}/data/routes.js</CAMEL_K_ROUTES>
+                        <CAMEL_K_ROUTES>file:${project.basedir}/data/MyRoutes.java</CAMEL_K_ROUTES>
                     </environmentVariables>
                 </configuration>
             </plugin>
         </plugins>
     </build>
 
-    <profiles>
-        <profile>
-            <id>native</id>
-            <activation>
-                <activeByDefault>false</activeByDefault>
-                <property>
-                    <name>native</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <groupId>io.quarkus</groupId>
-                        <artifactId>quarkus-maven-plugin</artifactId>
-                        <version>${quarkus.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>native-image</goal>
-                                </goals>
-                                <configuration>
-                                    <finalName>${project.artifactId}</finalName>
-                                    <enableHttpUrlHandler>true</enableHttpUrlHandler>
-                                    <enableJni>true</enableJni>
-                                    <disableReports>true</disableReports>
-                                    <additionalBuildArgs>
-                                        <additionalBuildArg>--language:js</additionalBuildArg>
-                                    </additionalBuildArgs>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>exec-maven-plugin</artifactId>
-                        <version>${exec-maven-plugin.version}</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>exec</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                        <configuration>
-                            <executable>${project.build.directory}/${project.artifactId}-runner</executable>
-                            <workingDirectory>${project.basedir}</workingDirectory>
-                            <environmentVariables>
-                                <CAMEL_K_CONF>${project.basedir}/data/application.properties</CAMEL_K_CONF>
-                                <CAMEL_K_ROUTES>file:${project.basedir}/data/routes.js</CAMEL_K_ROUTES>
-                            </environmentVariables>
-                        </configuration>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-    </profiles>
-
 </project>
diff --git a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties b/examples/camel-k-runtime-example-quarkus-java/src/main/resources/application.properties
similarity index 86%
copy from camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
copy to examples/camel-k-runtime-example-quarkus-java/src/main/resources/application.properties
index 91d5d75..3ac1675 100644
--- a/camel-k-quarkus/camel-k-quarkus-loader-js/it/src/main/resources/application.properties
+++ b/examples/camel-k-runtime-example-quarkus-java/src/main/resources/application.properties
@@ -14,17 +14,12 @@
 ## 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
 
 #
-# Camel
+# quarkus
 #
-camel.context.name = camel-k-quarkus-ctx
+quarkus.log.file.enable = false
+quarkus.log.console.enable = true
 
-#
-# Integration
-#
+quarkus.log.level = INFO
+quarkus.log.category."org.apache.camel".level = INFO
diff --git a/examples/camel-k-runtime-example-quarkus-js/pom.xml b/examples/camel-k-runtime-example-quarkus-js/pom.xml
index 60225f2..6a235be 100644
--- a/examples/camel-k-runtime-example-quarkus-js/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-js/pom.xml
@@ -30,6 +30,7 @@
 
     <properties>
         <noDeps>true</noDeps>
+        <quarkus.camel.main.routes-discovery.enabled>false</quarkus.camel.main.routes-discovery.enabled>
     </properties>
 
     <dependencyManagement>
diff --git a/examples/camel-k-runtime-example-quarkus-knative/pom.xml b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
index 19c1cb8..aa1eade 100644
--- a/examples/camel-k-runtime-example-quarkus-knative/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-knative/pom.xml
@@ -28,6 +28,11 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>camel-k-runtime-example-quarkus-knative</artifactId>
 
+    <properties>
+        <noDeps>true</noDeps>
+        <quarkus.camel.main.routes-discovery.enabled>false</quarkus.camel.main.routes-discovery.enabled>
+    </properties>
+
     <dependencyManagement>
         <dependencies>
             <dependency>
diff --git a/examples/camel-k-runtime-example-quarkus-yaml/pom.xml b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
index 2db92f3..903c023 100644
--- a/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
+++ b/examples/camel-k-runtime-example-quarkus-yaml/pom.xml
@@ -30,6 +30,7 @@
 
     <properties>
         <noDeps>true</noDeps>
+        <quarkus.camel.main.routes-discovery.enabled>false</quarkus.camel.main.routes-discovery.enabled>
     </properties>
 
     <dependencyManagement>
diff --git a/examples/pom.xml b/examples/pom.xml
index ef46cad..b4b6b62 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -40,6 +40,8 @@
         <module>camel-k-runtime-example-quarkus-js</module>
         <module>camel-k-runtime-example-quarkus-yaml</module>
         <module>camel-k-runtime-example-quarkus-knative</module>
+        <module>camel-k-runtime-example-quarkus-groovy</module>
+        <module>camel-k-runtime-example-quarkus-java</module>
     </modules>
 
     <build>
diff --git a/pom.xml b/pom.xml
index 06e2127..778ef34 100644
--- a/pom.xml
+++ b/pom.xml
@@ -379,6 +379,36 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-java</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-java-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-groovy</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-groovy-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-kotlin</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
+                <artifactId>camel-k-quarkus-loader-kotlin-deployment</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.k</groupId>
                 <artifactId>camel-k-quarkus-core</artifactId>
                 <version>${project.version}</version>
             </dependency>