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/03/11 17:16:22 UTC

[camel-quarkus] branch master updated (36f3c5b -> 87501cf)

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-quarkus.git.


    from 36f3c5b  Fixed kafka itests as @Inject is not supported in native tests
     new 91fdbe6  Ref component support #818
     new 87501cf  chore(build): disable qurkus banner

The 2 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.yaml                    |  1 +
 .../pages/list-of-camel-quarkus-extensions.adoc    |  5 +-
 extensions/pom.xml                                 |  1 +
 extensions/readme.adoc                             |  5 +-
 extensions/{lzf => ref}/deployment/pom.xml         |  8 +-
 .../component/ref/deployment/RefProcessor.java}    |  8 +-
 extensions/{jms => ref}/pom.xml                    |  4 +-
 extensions/{johnzon => ref}/runtime/pom.xml        |  8 +-
 .../main/resources/META-INF/quarkus-extension.yaml |  4 +-
 integration-tests/pom.xml                          |  3 +
 integration-tests/{graphql => ref}/pom.xml         | 16 ++--
 .../quarkus/component/ref/it/RefResource.java      | 95 ++++++++++++++++++++++
 .../ref/src/main/resources/application.properties  |  0
 .../camel/quarkus/component/ref/it/RefIT.java}     |  4 +-
 .../camel/quarkus/component/ref/it/RefTest.java}   | 17 ++--
 poms/bom-deployment/pom.xml                        |  5 ++
 poms/bom/pom.xml                                   | 10 +++
 17 files changed, 157 insertions(+), 37 deletions(-)
 copy extensions/{lzf => ref}/deployment/pom.xml (92%)
 copy extensions/{vm/deployment/src/main/java/org/apache/camel/quarkus/component/vm/deployment/VmProcessor.java => ref/deployment/src/main/java/org/apache/camel/quarkus/component/ref/deployment/RefProcessor.java} (88%)
 copy extensions/{jms => ref}/pom.xml (95%)
 copy extensions/{johnzon => ref}/runtime/pom.xml (92%)
 copy extensions/{vm => ref}/runtime/src/main/resources/META-INF/quarkus-extension.yaml (92%)
 copy integration-tests/{graphql => ref}/pom.xml (90%)
 create mode 100644 integration-tests/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
 copy tooling/package-maven-plugin/src/main/resources/camel-quarkus-package-maven-plugin.properties => integration-tests/ref/src/main/resources/application.properties (100%)
 copy integration-tests/{core/src/test/java/org/apache/camel/quarkus/core/CoreIT.java => ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefIT.java} (91%)
 copy integration-tests/{stream/src/test/java/org/apache/camel/quarkus/component/stream/it/StreamTest.java => ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java} (78%)


[camel-quarkus] 01/02: Ref component support #818

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-quarkus.git

commit 91fdbe69ccd7799ad7f05729801a6e22bc4e9355
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Mar 11 14:02:21 2020 +0100

    Ref component support #818
---
 .github/workflows/pr-build.yaml                    |   1 +
 .../pages/list-of-camel-quarkus-extensions.adoc    |   5 +-
 extensions/pom.xml                                 |   1 +
 extensions/readme.adoc                             |   5 +-
 extensions/ref/deployment/pom.xml                  |  75 +++++++++++++
 .../component/ref/deployment/RefProcessor.java     |  29 +++++
 extensions/ref/pom.xml                             |  50 +++++++++
 extensions/ref/runtime/pom.xml                     |  82 ++++++++++++++
 .../main/resources/META-INF/quarkus-extension.yaml |  26 +++++
 integration-tests/pom.xml                          |   1 +
 integration-tests/ref/pom.xml                      | 122 +++++++++++++++++++++
 .../quarkus/component/ref/it/RefResource.java      |  95 ++++++++++++++++
 .../ref/src/main/resources/application.properties  |  16 +++
 .../camel/quarkus/component/ref/it/RefIT.java      |  23 ++++
 .../camel/quarkus/component/ref/it/RefTest.java    |  39 +++++++
 poms/bom-deployment/pom.xml                        |   5 +
 poms/bom/pom.xml                                   |  10 ++
 17 files changed, 583 insertions(+), 2 deletions(-)

diff --git a/.github/workflows/pr-build.yaml b/.github/workflows/pr-build.yaml
index 60407d5..d556475 100644
--- a/.github/workflows/pr-build.yaml
+++ b/.github/workflows/pr-build.yaml
@@ -124,6 +124,7 @@ jobs:
               jsonpath
               scheduler
               seda
+              ref
           - category: Memoryhog Dataformat JSON
             test-modules: >
               dataformats-json
diff --git a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
index c90bf88..c34986f 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -18,7 +18,7 @@ In case you are missing some Camel feature in the list:
 == Camel Components
 
 // components: START
-Number of Camel components: 75 in 65 JAR artifacts (0 deprecated)
+Number of Camel components: 76 in 66 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -183,6 +183,9 @@ Number of Camel components: 75 in 65 JAR artifacts (0 deprecated)
 | link:https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams] (camel-quarkus-reactive-streams) +
 `reactive-streams:stream` | 1.0.0-M3 | Reactive Camel using reactive streams
 
+| link:https://camel.apache.org/components/latest/ref-component.html[Ref] (camel-quarkus-ref) +
+`ref:name` | 1.0.0-M5 | The ref component is used for lookup of existing endpoints bound in the Registry.
+
 | link:https://camel.apache.org/components/latest/rest-component.html[REST] (camel-quarkus-rest) +
 `rest:method:path:uriTemplate` | 0.2.0 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
 
diff --git a/extensions/pom.xml b/extensions/pom.xml
index c6f61c4..1b73756 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -98,6 +98,7 @@
         <module>pdf</module>
         <module>platform-http</module>
         <module>reactive-streams</module>
+        <module>ref</module>
         <module>rest</module>
         <module>salesforce</module>
         <module>scheduler</module>
diff --git a/extensions/readme.adoc b/extensions/readme.adoc
index 57adb00..e4bedfd 100644
--- a/extensions/readme.adoc
+++ b/extensions/readme.adoc
@@ -5,7 +5,7 @@ Apache Camel Quarkus supports the following Camel artifacts as Quarkus Extension
 == Camel Components
 
 // components: START
-Number of Camel components: 75 in 65 JAR artifacts (0 deprecated)
+Number of Camel components: 76 in 66 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -170,6 +170,9 @@ Number of Camel components: 75 in 65 JAR artifacts (0 deprecated)
 | link:https://camel.apache.org/components/latest/reactive-streams-component.html[Reactive Streams] (camel-quarkus-reactive-streams) +
 `reactive-streams:stream` | 1.0.0-M3 | Reactive Camel using reactive streams
 
+| link:https://camel.apache.org/components/latest/ref-component.html[Ref] (camel-quarkus-ref) +
+`ref:name` | 1.0.0-M5 | The ref component is used for lookup of existing endpoints bound in the Registry.
+
 | link:https://camel.apache.org/components/latest/rest-component.html[REST] (camel-quarkus-rest) +
 `rest:method:path:uriTemplate` | 0.2.0 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
 
diff --git a/extensions/ref/deployment/pom.xml b/extensions/ref/deployment/pom.xml
new file mode 100644
index 0000000..441c512
--- /dev/null
+++ b/extensions/ref/deployment/pom.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-ref-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-ref-deployment</artifactId>
+    <name>Camel Quarkus :: Ref :: Deployment</name>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom-deployment</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-ref</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
diff --git a/extensions/ref/deployment/src/main/java/org/apache/camel/quarkus/component/ref/deployment/RefProcessor.java b/extensions/ref/deployment/src/main/java/org/apache/camel/quarkus/component/ref/deployment/RefProcessor.java
new file mode 100644
index 0000000..b4c1c53
--- /dev/null
+++ b/extensions/ref/deployment/src/main/java/org/apache/camel/quarkus/component/ref/deployment/RefProcessor.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.quarkus.component.ref.deployment;
+
+import io.quarkus.deployment.annotations.BuildStep;
+import io.quarkus.deployment.builditem.FeatureBuildItem;
+
+class RefProcessor {
+    private static final String FEATURE = "camel-ref";
+
+    @BuildStep
+    FeatureBuildItem feature() {
+        return new FeatureBuildItem(FEATURE);
+    }
+}
diff --git a/extensions/ref/pom.xml b/extensions/ref/pom.xml
new file mode 100644
index 0000000..2b7bf6d
--- /dev/null
+++ b/extensions/ref/pom.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-build-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../../poms/build-parent/pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-ref-parent</artifactId>
+    <name>Camel Quarkus :: Ref</name>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>deployment</module>
+        <module>runtime</module>
+    </modules>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bom-deployment</artifactId>
+                <version>${quarkus.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+</project>
diff --git a/extensions/ref/runtime/pom.xml b/extensions/ref/runtime/pom.xml
new file mode 100644
index 0000000..58e6402
--- /dev/null
+++ b/extensions/ref/runtime/pom.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-ref-parent</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+
+    <artifactId>camel-quarkus-ref</artifactId>
+    <name>Camel Quarkus :: Ref :: Runtime</name>
+
+    <properties>
+        <firstVersion>1.0.0-M5</firstVersion>
+    </properties>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-bom</artifactId>
+                <version>${project.version}</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel</groupId>
+            <artifactId>camel-ref</artifactId>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-bootstrap-maven-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <annotationProcessorPaths>
+                        <path>
+                            <groupId>io.quarkus</groupId>
+                            <artifactId>quarkus-extension-processor</artifactId>
+                            <version>${quarkus.version}</version>
+                        </path>
+                    </annotationProcessorPaths>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/extensions/ref/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/ref/runtime/src/main/resources/META-INF/quarkus-extension.yaml
new file mode 100644
index 0000000..9720999
--- /dev/null
+++ b/extensions/ref/runtime/src/main/resources/META-INF/quarkus-extension.yaml
@@ -0,0 +1,26 @@
+#
+# 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.
+#
+
+---
+name: "Camel Quarkus Ref"
+description: "Camel Ref support"
+metadata:
+  keywords:
+  - "camel"
+  guide: "https://quarkus.io/guides/camel"
+  categories:
+  - "integration"
\ No newline at end of file
diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 8702a1b..5f06e2b 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -195,6 +195,7 @@
         <module>platform-http</module>
         <module>platform-http-engine</module>
         <module>reactive-streams</module>
+        <module>ref</module>
         <module>salesforce</module>
         <module>scheduler</module>
         <module>seda</module>
diff --git a/integration-tests/ref/pom.xml b/integration-tests/ref/pom.xml
new file mode 100644
index 0000000..fb37b98
--- /dev/null
+++ b/integration-tests/ref/pom.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.camel.quarkus</groupId>
+        <artifactId>camel-quarkus-integration-tests</artifactId>
+        <version>1.1.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>camel-quarkus-integration-test-ref</artifactId>
+    <name>Camel Quarkus :: Integration Tests :: Ref</name>
+    <description>Integration tests for Camel Quarkus Ref extension</description>
+
+    <properties>
+        <!-- mvnd, a.k.a. Maven Daemon: https://github.com/gnodet/mvnd -->
+        <!-- The following rule tells mvnd to build the listed deployment modules before this module. -->
+        <!-- This is important because mvnd builds modules in parallel by default. The deployment modules are not -->
+        <!-- explicit dependencies of this module in the Maven sense, although they are required by the Quarkus Maven plugin. -->
+        <!-- Please update rule whenever you change the dependencies of this module by running -->
+        <!--     mvn process-resources -Pformat    from the root directory -->
+        <mvnd.builder.rule>camel-quarkus-direct-deployment,camel-quarkus-ref-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-ref</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-direct</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>io.quarkus</groupId>
+            <artifactId>quarkus-resteasy</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>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>io.quarkus</groupId>
+                <artifactId>quarkus-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>build</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </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>
+                                        <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/integration-tests/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java b/integration-tests/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
new file mode 100644
index 0000000..7db6817
--- /dev/null
+++ b/integration-tests/ref/src/main/java/org/apache/camel/quarkus/component/ref/it/RefResource.java
@@ -0,0 +1,95 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.ref.it;
+
+import javax.enterprise.context.ApplicationScoped;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import io.quarkus.arc.Unremovable;
+import org.apache.camel.CamelContext;
+import org.apache.camel.Endpoint;
+import org.apache.camel.Exchange;
+import org.apache.camel.Expression;
+import org.apache.camel.ProducerTemplate;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.support.ExpressionAdapter;
+
+@Path("/ref")
+@ApplicationScoped
+public class RefResource {
+    @Inject
+    CamelContext camelContext;
+    @Inject
+    ProducerTemplate producerTemplate;
+
+    @Path("/post")
+    @POST
+    @Consumes(MediaType.TEXT_PLAIN)
+    @Produces(MediaType.TEXT_PLAIN)
+    public String post(String message) {
+        return producerTemplate.requestBody("my-endpoint", message, String.class);
+    }
+
+    //
+    // Camel looks up beans using its registry so we need to mark the beans belows
+    // as @Unremovable so ArC is aware that such beans should need to be removed
+    // even when not referenced.
+    //
+
+    @Unremovable
+    @Singleton
+    @Named("my-endpoint")
+    @javax.enterprise.inject.Produces
+    public Endpoint myEndpoint() {
+        return camelContext.getEndpoint("direct:start");
+    }
+
+    @Unremovable
+    @Singleton
+    @Named("my-expression")
+    @javax.enterprise.inject.Produces
+    public Expression myExpression() {
+        return new ExpressionAdapter() {
+            @Override
+            public Object evaluate(Exchange exchange) {
+                return exchange.getMessage().getBody(String.class).toUpperCase();
+            }
+        };
+    }
+
+    @Unremovable
+    @Singleton
+    @Named("my-route")
+    @javax.enterprise.inject.Produces
+    public RoutesBuilder myRoute() {
+        return new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("my-endpoint")
+                        .transform().ref("my-expression");
+            }
+        };
+    }
+}
diff --git a/integration-tests/ref/src/main/resources/application.properties b/integration-tests/ref/src/main/resources/application.properties
new file mode 100644
index 0000000..fa7a54b
--- /dev/null
+++ b/integration-tests/ref/src/main/resources/application.properties
@@ -0,0 +1,16 @@
+## ---------------------------------------------------------------------------
+## 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.
+## ---------------------------------------------------------------------------
diff --git a/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefIT.java b/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefIT.java
new file mode 100644
index 0000000..1ca0fa8
--- /dev/null
+++ b/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefIT.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.quarkus.component.ref.it;
+
+import io.quarkus.test.junit.NativeImageTest;
+
+@NativeImageTest
+class RefIT extends RefTest {
+}
diff --git a/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java b/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java
new file mode 100644
index 0000000..9da46de
--- /dev/null
+++ b/integration-tests/ref/src/test/java/org/apache/camel/quarkus/component/ref/it/RefTest.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.quarkus.component.ref.it;
+
+import io.quarkus.test.junit.QuarkusTest;
+import io.restassured.RestAssured;
+import io.restassured.http.ContentType;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.Matchers.is;
+
+@QuarkusTest
+class RefTest {
+    @Test
+    public void componentAndLanguage() {
+        final String msg = "hello";
+
+        RestAssured.given()
+                .contentType(ContentType.TEXT)
+                .body(msg).post("/ref/post")
+                .then()
+                .statusCode(200)
+                .body(is(msg.toUpperCase()));
+    }
+}
diff --git a/poms/bom-deployment/pom.xml b/poms/bom-deployment/pom.xml
index 33cbf66..b9d4a2d 100644
--- a/poms/bom-deployment/pom.xml
+++ b/poms/bom-deployment/pom.xml
@@ -406,6 +406,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-ref-deployment</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-rest-deployment</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index ea5535e..5933dd0 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -549,6 +549,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>
+                <artifactId>camel-ref</artifactId>
+                <version>${camel.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel</groupId>
                 <artifactId>camel-rest</artifactId>
                 <version>${camel.version}</version>
             </dependency>
@@ -1057,6 +1062,11 @@
             </dependency>
             <dependency>
                 <groupId>org.apache.camel.quarkus</groupId>
+                <artifactId>camel-quarkus-ref</artifactId>
+                <version>${camel-quarkus.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.apache.camel.quarkus</groupId>
                 <artifactId>camel-quarkus-rest</artifactId>
                 <version>${camel-quarkus.version}</version>
             </dependency>


[camel-quarkus] 02/02: chore(build): disable qurkus banner

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-quarkus.git

commit 87501cf2486bc9602e9b31d07f5576d6bdb12311
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Mar 11 16:04:56 2020 +0100

    chore(build): disable qurkus banner
---
 integration-tests/pom.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml
index 5f06e2b..4618e9b 100644
--- a/integration-tests/pom.xml
+++ b/integration-tests/pom.xml
@@ -38,6 +38,8 @@
         <sshd.version>2.3.0</sshd.version>
         <testcontainers.version>1.12.5</testcontainers.version>
         <mock-javamail.version>1.9</mock-javamail.version>
+
+        <quarkus.banner.enabled>false</quarkus.banner.enabled>
     </properties>
 
     <dependencyManagement>