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

[camel-quarkus] 01/02: Added AWS2-ECS native extension

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

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

commit 212a3bdf2b467f620345be69a0e6a4dc53158b9f
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Wed Jun 10 11:09:21 2020 +0200

    Added AWS2-ECS native extension
---
 .../pages/list-of-camel-quarkus-extensions.adoc    |  2 +-
 extensions-jvm/aws2-ecs/integration-test/pom.xml   | 81 ----------------------
 .../component/aws2/ecs/it/Aws2EcsResource.java     | 51 --------------
 .../quarkus/component/aws2/ecs/it/Aws2EcsTest.java | 34 ---------
 extensions-jvm/pom.xml                             |  1 -
 .../aws2-ecs/deployment/pom.xml                    | 12 ++++
 .../aws2/ecs/deployment/Aws2EcsProcessor.java      |  0
 {extensions-jvm => extensions}/aws2-ecs/pom.xml    |  1 -
 .../aws2-ecs/runtime/pom.xml                       | 12 ++++
 .../main/resources/META-INF/quarkus-extension.yaml |  0
 integration-tests/aws2/pom.xml                     |  4 ++
 poms/bom/pom.xml                                   |  6 ++
 12 files changed, 35 insertions(+), 169 deletions(-)

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 6c8e5f6..39bc55f 100644
--- a/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
+++ b/docs/modules/ROOT/pages/list-of-camel-quarkus-extensions.adoc
@@ -42,7 +42,7 @@ Number of Camel components: 148 in 113 JAR artifacts (0 deprecated)
 
 | xref:extensions/aws2-ec2.adoc[AWS 2 EC2] | camel-quarkus-aws2-ec2 | Native + Stable | 1.0.0-M6 | Manage AWS EC2 instances using AWS SDK version 2.x.
 
-| xref:extensions/aws2-ecs.adoc[AWS 2 ECS] | camel-quarkus-aws2-ecs | JVM + Preview | 1.0.0-M6 | Manage AWS ECS cluster instances using AWS SDK version 2.x.
+| xref:extensions/aws2-ecs.adoc[AWS 2 ECS] | camel-quarkus-aws2-ecs | Native + Stable | 1.0.0-M6 | Manage AWS ECS cluster instances using AWS SDK version 2.x.
 
 | xref:extensions/aws2-eks.adoc[AWS 2 EKS] | camel-quarkus-aws2-eks | JVM + Preview | 1.0.0-M6 | Manage AWS EKS cluster instances using AWS SDK version 2.x.
 
diff --git a/extensions-jvm/aws2-ecs/integration-test/pom.xml b/extensions-jvm/aws2-ecs/integration-test/pom.xml
deleted file mode 100644
index 01595cc..0000000
--- a/extensions-jvm/aws2-ecs/integration-test/pom.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.apache.camel.quarkus</groupId>
-        <artifactId>camel-quarkus-build-parent-it</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../../../poms/build-parent-it/pom.xml</relativePath>
-    </parent>
-
-    <artifactId>camel-quarkus-aws2-ecs-integration-test</artifactId>
-    <name>Camel Quarkus :: AWS 2 ECS :: Integration Test</name>
-    <description>Integration tests for Camel Quarkus AWS 2 ECS 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-aws2-ecs-deployment,camel-quarkus-support-policy-deployment</mvnd.builder.rule>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.camel.quarkus</groupId>
-            <artifactId>camel-quarkus-aws2-ecs</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>
-</project>
diff --git a/extensions-jvm/aws2-ecs/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsResource.java b/extensions-jvm/aws2-ecs/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsResource.java
deleted file mode 100644
index 4ef9258..0000000
--- a/extensions-jvm/aws2-ecs/integration-test/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsResource.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.aws2.ecs.it;
-
-import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Inject;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.apache.camel.CamelContext;
-import org.jboss.logging.Logger;
-
-@Path("/aws2-ecs")
-@ApplicationScoped
-public class Aws2EcsResource {
-
-    private static final Logger LOG = Logger.getLogger(Aws2EcsResource.class);
-
-    private static final String COMPONENT_AWS2_ECS = "aws2-ecs";
-    @Inject
-    CamelContext context;
-
-    @Path("/load/component/aws2-ecs")
-    @GET
-    @Produces(MediaType.TEXT_PLAIN)
-    public Response loadComponentAws2Ecs() throws Exception {
-        /* This is an autogenerated test */
-        if (context.getComponent(COMPONENT_AWS2_ECS) != null) {
-            return Response.ok().build();
-        }
-        LOG.warnf("Could not load [%s] from the Camel context", COMPONENT_AWS2_ECS);
-        return Response.status(500, COMPONENT_AWS2_ECS + " could not be loaded from the Camel context").build();
-    }
-}
diff --git a/extensions-jvm/aws2-ecs/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsTest.java b/extensions-jvm/aws2-ecs/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsTest.java
deleted file mode 100644
index 52a710a..0000000
--- a/extensions-jvm/aws2-ecs/integration-test/src/test/java/org/apache/camel/quarkus/component/aws2/ecs/it/Aws2EcsTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.quarkus.component.aws2.ecs.it;
-
-import io.quarkus.test.junit.QuarkusTest;
-import io.restassured.RestAssured;
-import org.junit.jupiter.api.Test;
-
-@QuarkusTest
-class Aws2EcsTest {
-
-    @Test
-    public void loadComponentAws2Ecs() {
-        /* A simple autogenerated test */
-        RestAssured.get("/aws2-ecs/load/component/aws2-ecs")
-                .then()
-                .statusCode(200);
-    }
-
-}
diff --git a/extensions-jvm/pom.xml b/extensions-jvm/pom.xml
index a144e6a..98f4a66 100644
--- a/extensions-jvm/pom.xml
+++ b/extensions-jvm/pom.xml
@@ -36,7 +36,6 @@
         <!-- extensions a..z; do not remove this comment, it is important when sorting via  mvn process-resources -Pformat -->
         <module>avro-rpc</module>
         <module>aws2-ddb</module>
-        <module>aws2-ecs</module>
         <module>aws2-eks</module>
         <module>aws2-iam</module>
         <module>aws2-kms</module>
diff --git a/extensions-jvm/aws2-ecs/deployment/pom.xml b/extensions/aws2-ecs/deployment/pom.xml
similarity index 84%
rename from extensions-jvm/aws2-ecs/deployment/pom.xml
rename to extensions/aws2-ecs/deployment/pom.xml
index 4c66916..b48e4e6 100644
--- a/extensions-jvm/aws2-ecs/deployment/pom.xml
+++ b/extensions/aws2-ecs/deployment/pom.xml
@@ -50,6 +50,18 @@
             <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-ecs</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-xml-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging-deployment</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws2-deployment</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions-jvm/aws2-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/deployment/Aws2EcsProcessor.java b/extensions/aws2-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/deployment/Aws2EcsProcessor.java
similarity index 100%
rename from extensions-jvm/aws2-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/deployment/Aws2EcsProcessor.java
rename to extensions/aws2-ecs/deployment/src/main/java/org/apache/camel/quarkus/component/aws2/ecs/deployment/Aws2EcsProcessor.java
diff --git a/extensions-jvm/aws2-ecs/pom.xml b/extensions/aws2-ecs/pom.xml
similarity index 97%
rename from extensions-jvm/aws2-ecs/pom.xml
rename to extensions/aws2-ecs/pom.xml
index 62205a7..1c375db 100644
--- a/extensions-jvm/aws2-ecs/pom.xml
+++ b/extensions/aws2-ecs/pom.xml
@@ -33,6 +33,5 @@
     <modules>
         <module>deployment</module>
         <module>runtime</module>
-        <module>integration-test</module>
     </modules>
 </project>
diff --git a/extensions-jvm/aws2-ecs/runtime/pom.xml b/extensions/aws2-ecs/runtime/pom.xml
similarity index 87%
rename from extensions-jvm/aws2-ecs/runtime/pom.xml
rename to extensions/aws2-ecs/runtime/pom.xml
index 785dfac..6da2b49 100644
--- a/extensions-jvm/aws2-ecs/runtime/pom.xml
+++ b/extensions/aws2-ecs/runtime/pom.xml
@@ -54,6 +54,18 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-aws2-ecs</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-aws2</artifactId>
+        </dependency>
+       <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-xml</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-support-commons-logging</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/extensions-jvm/aws2-ecs/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/aws2-ecs/runtime/src/main/resources/META-INF/quarkus-extension.yaml
similarity index 100%
rename from extensions-jvm/aws2-ecs/runtime/src/main/resources/META-INF/quarkus-extension.yaml
rename to extensions/aws2-ecs/runtime/src/main/resources/META-INF/quarkus-extension.yaml
diff --git a/integration-tests/aws2/pom.xml b/integration-tests/aws2/pom.xml
index 89dfd99..b7f14a5 100644
--- a/integration-tests/aws2/pom.xml
+++ b/integration-tests/aws2/pom.xml
@@ -50,6 +50,10 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.quarkus</groupId>
+            <artifactId>camel-quarkus-aws2-ecs</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.quarkus</groupId>
             <artifactId>camel-quarkus-aws2-s3</artifactId>
         </dependency>
         <dependency>
diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml
index 46d5252..1240667 100644
--- a/poms/bom/pom.xml
+++ b/poms/bom/pom.xml
@@ -247,6 +247,12 @@
                 <groupId>org.apache.camel</groupId>
                 <artifactId>camel-aws2-ecs</artifactId>
                 <version>${camel.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>software.amazon.awssdk</groupId>
+                        <artifactId>netty-nio-client</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.camel</groupId>