This is an automated email from the ASF dual-hosted git repository. lburgazzoli pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git
commit 1a1aa5901ce54bddc74ced7aaf615d1c0a7af435 Author: Luca Burgazzoli <lburgazz...@gmail.com> AuthorDate: Tue Jan 26 11:35:38 2021 +0100 Catalog contains duplicate entry for same schema (cron) #592 --- support/camel-k-maven-plugin/pom.xml | 5 +++ .../src/it/generate-catalog/verify.groovy | 24 +++++++++++++++ .../maven/processors/CatalogProcessor3x.java | 36 ++++++++-------------- 3 files changed, 42 insertions(+), 23 deletions(-) diff --git a/support/camel-k-maven-plugin/pom.xml b/support/camel-k-maven-plugin/pom.xml index 1ec0adf..821aecb 100644 --- a/support/camel-k-maven-plugin/pom.xml +++ b/support/camel-k-maven-plugin/pom.xml @@ -251,6 +251,11 @@ <artifactId>groovy-xml</artifactId> <version>${groovy-version}</version> </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-collections4</artifactId> + <version>${commons-collections4-version}</version> + </dependency> </dependencies> </plugin> </plugins> diff --git a/support/camel-k-maven-plugin/src/it/generate-catalog/verify.groovy b/support/camel-k-maven-plugin/src/it/generate-catalog/verify.groovy index 5ca2797..77a6f83 100644 --- a/support/camel-k-maven-plugin/src/it/generate-catalog/verify.groovy +++ b/support/camel-k-maven-plugin/src/it/generate-catalog/verify.groovy @@ -46,6 +46,30 @@ new File(basedir, "catalog.yaml").withReader { assert catalog.metadata.labels['camel.apache.org/runtime.version'] == runtimeVersion + catalog.spec.artifacts['camel-k-master'].with { + schemes == null + } + catalog.spec.artifacts['camel-k-cron'].with { + schemes == null + } + catalog.spec.artifacts['camel-k-webhook'].with { + schemes == null + } + + def diff = org.apache.commons.collections4.CollectionUtils.disjunction( + catalog.spec.artifacts.values() + .findAll { it.schemes != null } + .collect { it.schemes.collect { it.id } } + .flatten(), + catalog.spec.artifacts.values() + .findAll { it.schemes != null } + .collect { it.schemes.collect { it.id } } + .flatten() + .unique() + ) + + assert diff.size() == 0 : "Duplicated schemes: ${diff}" + catalog.spec.artifacts['camel-k-knative'].with { assert dependencies == null assert requiredCapabilities == null diff --git a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java index bb239a2..d01549c 100644 --- a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java +++ b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3x.java @@ -115,14 +115,24 @@ public class CatalogProcessor3x implements CatalogProcessor { new CamelArtifact.Builder() .groupId("org.apache.camel.k") .artifactId("camel-k-cron") - .addScheme(new CamelScheme.Builder() - .id("cron") - .build()) .build() ); specBuilder.putArtifact( new CamelArtifact.Builder() .groupId("org.apache.camel.k") + .artifactId("camel-k-webhook") + .build() + ); + specBuilder.putArtifact( + new CamelArtifact.Builder() + .groupId("org.apache.camel.k") + .artifactId("camel-k-master") + .build() + ); + + specBuilder.putArtifact( + new CamelArtifact.Builder() + .groupId("org.apache.camel.k") .artifactId("camel-k-kamelet") .addScheme(new CamelScheme.Builder() .id("kamelet") @@ -149,26 +159,6 @@ public class CatalogProcessor3x implements CatalogProcessor { specBuilder.putArtifact( new CamelArtifact.Builder() .groupId("org.apache.camel.k") - .artifactId("camel-k-master") - .addScheme(new CamelScheme.Builder() - .id("master") - .build()) - .build() - ); - specBuilder.putArtifact( - new CamelArtifact.Builder() - .groupId("org.apache.camel.k") - .artifactId("camel-k-webhook") - .addScheme(new CamelScheme.Builder() - .id("webhook") - .http(true) - .passive(true) - .build()) - .build() - ); - specBuilder.putArtifact( - new CamelArtifact.Builder() - .groupId("org.apache.camel.k") .artifactId("camel-k-kamelet-reify") .addScheme(new CamelScheme.Builder() .id("kamelet-reify")