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/12 14:36:49 UTC

[camel-k-runtime] branch master updated: Knative extension not listed among knative dependencies in quarkus catalog #260

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 6e13473  Knative extension not listed among knative dependencies in quarkus catalog #260
6e13473 is described below

commit 6e13473c95d87e7bda34e1d08cf5661a9be68132
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Mar 12 14:37:09 2020 +0100

    Knative extension not listed among knative dependencies in quarkus catalog #260
---
 .../camel-k-quarkus-knative/runtime/pom.xml        | 10 ++++++++-
 .../src/it/generate-catalog-main/verify.groovy     |  8 +++++++
 .../src/it/generate-catalog-quarkus/verify.groovy  |  6 ++++++
 .../camel/k/tooling/maven/model/CamelArtifact.java |  7 ++++++
 .../maven/processors/CatalogProcessor3x.java       | 25 ++++++++++++++++------
 .../maven/processors/CatalogProcessor3Test.java    |  4 +---
 6 files changed, 50 insertions(+), 10 deletions(-)

diff --git a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
index 53dc33e..522905c 100644
--- a/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
+++ b/camel-k-quarkus/camel-k-quarkus-knative/runtime/pom.xml
@@ -42,7 +42,15 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel.k</groupId>
-            <artifactId>camel-k-runtime-knative</artifactId>
+            <artifactId>camel-knative-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-knative</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-knative-http</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git a/tooling/camel-k-maven-plugin/src/it/generate-catalog-main/verify.groovy b/tooling/camel-k-maven-plugin/src/it/generate-catalog-main/verify.groovy
index 99fdadd..bd8666d 100644
--- a/tooling/camel-k-maven-plugin/src/it/generate-catalog-main/verify.groovy
+++ b/tooling/camel-k-maven-plugin/src/it/generate-catalog-main/verify.groovy
@@ -30,3 +30,11 @@ assert catalog.spec.runtime.capabilities['rest'].dependencies[1].groupId == 'org
 assert catalog.spec.runtime.capabilities['rest'].dependencies[1].artifactId == 'camel-undertow'
 
 assert catalog.metadata.labels['camel.apache.org/runtime.version'] == runtimeVersion
+
+assert catalog.spec.artifacts['camel-knative'].dependencies.size == 3
+assert catalog.spec.artifacts['camel-knative'].dependencies.find { it.groupId == 'org.apache.camel.k' && it.artifactId == 'camel-knative-api'}
+assert catalog.spec.artifacts['camel-knative'].dependencies.find { it.groupId == 'org.apache.camel.k' && it.artifactId == 'camel-knative'}
+assert catalog.spec.artifacts['camel-knative'].dependencies.find { it.groupId == 'org.apache.camel.k' && it.artifactId == 'camel-knative-http'}
+
+assert catalog.spec.artifacts['camel-knative'].schemes.size == 1
+assert catalog.spec.artifacts['camel-knative'].schemes[0].id == 'knative'
diff --git a/tooling/camel-k-maven-plugin/src/it/generate-catalog-quarkus/verify.groovy b/tooling/camel-k-maven-plugin/src/it/generate-catalog-quarkus/verify.groovy
index 8c0df4c..3f9680b 100644
--- a/tooling/camel-k-maven-plugin/src/it/generate-catalog-quarkus/verify.groovy
+++ b/tooling/camel-k-maven-plugin/src/it/generate-catalog-quarkus/verify.groovy
@@ -30,3 +30,9 @@ assert catalog.spec.runtime.capabilities['rest'].dependencies[1].groupId == 'org
 assert catalog.spec.runtime.capabilities['rest'].dependencies[1].artifactId == 'camel-quarkus-platform-http'
 
 assert catalog.metadata.labels['camel.apache.org/runtime.version'] == runtimeVersion
+
+assert catalog.spec.artifacts['camel-knative'].dependencies.size == 1
+assert catalog.spec.artifacts['camel-knative'].dependencies[0].groupId == 'org.apache.camel.k'
+assert catalog.spec.artifacts['camel-knative'].dependencies[0].artifactId == 'camel-k-quarkus-knative'
+assert catalog.spec.artifacts['camel-knative'].schemes.size == 1
+assert catalog.spec.artifacts['camel-knative'].schemes[0].id == 'knative'
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/model/CamelArtifact.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/model/CamelArtifact.java
index d031919..8b60ab6 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/model/CamelArtifact.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/model/CamelArtifact.java
@@ -18,6 +18,7 @@ package org.apache.camel.k.tooling.maven.model;
 
 import java.util.Collections;
 import java.util.Set;
+import java.util.function.BooleanSupplier;
 
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
@@ -65,5 +66,11 @@ public interface CamelArtifact extends Artifact {
     }
 
     class Builder extends ImmutableCamelArtifact.Builder {
+        public Builder addDependencies(BooleanSupplier condition, Artifact... artifacts) {
+            if (condition.getAsBoolean()) {
+                addDependencies(artifacts);
+            }
+            return this;
+        }
     }
 }
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
index c0fc4b8..e235443 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java
@@ -24,6 +24,7 @@ import java.util.Objects;
 
 import com.vdurmont.semver4j.Semver;
 import org.apache.camel.catalog.CamelCatalog;
+import org.apache.camel.catalog.DefaultRuntimeProvider;
 import org.apache.camel.catalog.quarkus.QuarkusRuntimeProvider;
 import org.apache.camel.k.tooling.maven.model.CamelArtifact;
 import org.apache.camel.k.tooling.maven.model.CamelLoader;
@@ -151,10 +152,16 @@ public class CatalogProcessor3x implements CatalogProcessor {
             new CamelArtifact.Builder()
                 .groupId("org.apache.camel.k")
                 .artifactId("camel-k-runtime-knative")
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-k-loader-yaml"))
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-knative-api"))
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-knative"))
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-knative-http"))
+                .addDependencies(
+                    () -> catalog.getRuntimeProvider() instanceof DefaultRuntimeProvider,
+                    MavenArtifact.from("org.apache.camel.k", "camel-k-loader-yaml"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative-api"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative-http"))
+                .addDependencies(
+                    () -> catalog.getRuntimeProvider() instanceof QuarkusRuntimeProvider,
+                    MavenArtifact.from("org.apache.camel.k", "camel-k-quarkus-knative"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-k-quarkus-loader-yaml"))
                 .build()
         );
 
@@ -166,8 +173,14 @@ public class CatalogProcessor3x implements CatalogProcessor {
                     .id("knative")
                     .http(true)
                     .build())
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-knative-api"))
-                .addDependencies(MavenArtifact.from("org.apache.camel.k", "camel-knative-http"))
+                .addDependencies(
+                    () -> catalog.getRuntimeProvider() instanceof DefaultRuntimeProvider,
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative-api"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative"),
+                    MavenArtifact.from("org.apache.camel.k", "camel-knative-http"))
+                .addDependencies(
+                    () -> catalog.getRuntimeProvider() instanceof QuarkusRuntimeProvider,
+                    MavenArtifact.from("org.apache.camel.k", "camel-k-quarkus-knative"))
                 .build()
         );
     }
diff --git a/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java b/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
index 82e99a5..9a953bc 100644
--- a/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
+++ b/tooling/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
@@ -53,8 +53,6 @@ public class CatalogProcessor3Test extends AbstractCatalogProcessorTest {
 
     @Test
     public void testAcceptEqualToHigher() {
-        CatalogProcessor3x cp3 = new CatalogProcessor3x();
-
         CamelCatalog catalog = versionCamelCatalog("4.0.0");
 
         assertThat(new CatalogProcessor3x().accepts(catalog)).isFalse();
@@ -87,7 +85,7 @@ public class CatalogProcessor3Test extends AbstractCatalogProcessorTest {
 
         assertThat(artifactMap.get("camel-k-runtime-knative")).satisfies(a -> {
             assertThat(a.getDependencies()).anyMatch(
-                d -> d.getGroupId().equals("org.apache.camel.k") && d.getArtifactId().equals("camel-knative")
+                d -> d.getGroupId().equals("org.apache.camel.k") && d.getArtifactId().equals("camel-knative-api")
             );
             assertThat(a.getDependencies()).anyMatch(
                 d -> d.getGroupId().equals("org.apache.camel.k") && d.getArtifactId().equals("camel-knative")