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

orpiske pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git


The following commit(s) were added to refs/heads/camel-main by this push:
     new fa8a0a3  Allow excluding components from the catalog.
fa8a0a3 is described below

commit fa8a0a3765773fcfe0fa17a06a25a4ca4033fd43
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Wed May 26 10:48:03 2021 +0200

    Allow excluding components from the catalog.
    
    Work-around #677 by excluding certain components from the catalog until 
apache/camel-quarkus#2661 is implemented
---
 support/camel-k-catalog/pom.xml                        |  4 ++++
 .../src/it/generate-catalog/pom.xml                    |  1 +
 .../camel/k/tooling/maven/GenerateCatalogMojo.java     | 18 +++++++++++++++++-
 .../k/tooling/maven/processors/CatalogProcessor3x.java |  9 ++++++---
 .../k/tooling/maven/support/CatalogProcessor.java      |  5 ++++-
 .../maven/processors/CatalogProcessor3Test.java        |  5 +++--
 6 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/support/camel-k-catalog/pom.xml b/support/camel-k-catalog/pom.xml
index 1104543..e6fa5f4 100644
--- a/support/camel-k-catalog/pom.xml
+++ b/support/camel-k-catalog/pom.xml
@@ -26,6 +26,10 @@
     <modelVersion>4.0.0</modelVersion>
     <artifactId>camel-k-catalog</artifactId>
 
+    <properties>
+        <exclusion.list>qute</exclusion.list>
+    </properties>
+
     <build>
         <defaultGoal>generate-resources</defaultGoal>
         <plugins>
diff --git a/support/camel-k-maven-plugin/src/it/generate-catalog/pom.xml 
b/support/camel-k-maven-plugin/src/it/generate-catalog/pom.xml
index 6d804cc..55d0792 100644
--- a/support/camel-k-maven-plugin/src/it/generate-catalog/pom.xml
+++ b/support/camel-k-maven-plugin/src/it/generate-catalog/pom.xml
@@ -32,6 +32,7 @@
         <catalog.path>${project.basedir}</catalog.path>
         <catalog.runtime>quarkus</catalog.runtime>
         <catalog.file>catalog.yaml</catalog.file>
+        <exclusion.list>qute</exclusion.list>
     </properties>
 
     <build>
diff --git 
a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
 
b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
index 286ab1f..02c562d 100644
--- 
a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
+++ 
b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java
@@ -22,7 +22,10 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
+import java.util.List;
 import java.util.Locale;
 import java.util.ServiceLoader;
 import java.util.stream.StreamSupport;
@@ -69,6 +72,9 @@ public class GenerateCatalogMojo extends AbstractMojo {
     @Parameter(property = "catalog.file", defaultValue = 
"camel-catalog-${runtime.version}.yaml")
     private String outputFile;
 
+    @Parameter(property = "exclusion.list")
+    private String exclusionList;
+
     // ********************
     //
     // ********************
@@ -148,10 +154,12 @@ public class GenerateCatalogMojo extends AbstractMojo {
             CamelCatalogSpec.Builder catalogSpec = new 
CamelCatalogSpec.Builder()
                 .runtime(runtimeSpec.build());
 
+            List<String> exclusions = createExclusionList();
+
             
StreamSupport.stream(ServiceLoader.load(CatalogProcessor.class).spliterator(), 
false)
                 .sorted(Comparator.comparingInt(CatalogProcessor::getOrder))
                 .filter(p -> p.accepts(catalog))
-                .forEach(p -> p.process(project, catalog, catalogSpec));
+                .forEach(p -> p.process(project, catalog, catalogSpec, 
exclusions));
 
             ObjectMeta.Builder metadata = new ObjectMeta.Builder()
                 .name(catalogName)
@@ -208,4 +216,12 @@ public class GenerateCatalogMojo extends AbstractMojo {
             throw new MojoExecutionException("Exception while generating 
catalog", e);
         }
     }
+
+    private List<String> createExclusionList() {
+        if (exclusionList != null) {
+            return Arrays.asList(exclusionList.split(","));
+        }
+
+        return Collections.emptyList();
+    }
 }
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 4aae669..68d996d 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
@@ -94,10 +94,11 @@ public class CatalogProcessor3x implements CatalogProcessor 
{
     }
 
     @Override
-    public void process(MavenProject project, CamelCatalog catalog, 
CamelCatalogSpec.Builder specBuilder) {
+    public void process(MavenProject project, CamelCatalog catalog, 
CamelCatalogSpec.Builder specBuilder,
+                        List<String> exclusions) {
         Map<String, CamelArtifact> artifacts = new TreeMap<>();
 
-        processComponents(catalog, artifacts);
+        processComponents(catalog, artifacts, exclusions);
         processLanguages(catalog, artifacts);
         processDataFormats(catalog, artifacts);
         processLoaders(specBuilder);
@@ -200,9 +201,11 @@ public class CatalogProcessor3x implements 
CatalogProcessor {
         );
     }
 
-    private static void processComponents(CamelCatalog catalog, Map<String, 
CamelArtifact> artifacts) {
+    private static void processComponents(CamelCatalog catalog, Map<String, 
CamelArtifact> artifacts, List<String> exclusions) {
         final Set<String> elements = new 
TreeSet<>(catalog.findComponentNames());
 
+        elements.removeAll(exclusions);
+
         for (String name : elements) {
             String json = catalog.componentJSonSchema(name);
             CatalogComponentDefinition definition = 
CatalogSupport.unmarshallComponent(json);
diff --git 
a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/CatalogProcessor.java
 
b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/CatalogProcessor.java
index f9571df..b7d908e 100644
--- 
a/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/CatalogProcessor.java
+++ 
b/support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/CatalogProcessor.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.k.tooling.maven.support;
 
+import java.util.List;
+
 import org.apache.camel.catalog.CamelCatalog;
 import org.apache.camel.k.catalog.model.k8s.crd.CamelCatalogSpec;
 import org.apache.maven.project.MavenProject;
@@ -33,7 +35,8 @@ public interface CatalogProcessor {
 
     boolean accepts(CamelCatalog catalog);
 
-    void process(MavenProject project, CamelCatalog catalog, 
CamelCatalogSpec.Builder specBuilder);
+    void process(MavenProject project, CamelCatalog catalog, 
CamelCatalogSpec.Builder specBuilder,
+                 List<String> exclusions);
 
     default int getOrder() {
         return LOWEST;
diff --git 
a/support/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
 
b/support/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
index 608508c..96ac3bb 100644
--- 
a/support/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
+++ 
b/support/camel-k-maven-plugin/src/test/java/org/apache/camel/k/tooling/maven/processors/CatalogProcessor3Test.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.k.tooling.maven.processors;
 
+import java.util.Collections;
 import java.util.Map;
 
 import org.apache.camel.catalog.CamelCatalog;
@@ -74,7 +75,7 @@ public class CatalogProcessor3Test extends 
AbstractCatalogProcessorTest {
         CamelCatalogSpec.Builder builder = new 
CamelCatalogSpec.Builder().runtime(runtime);
 
         assertThat(processor.accepts(catalog)).isTrue();
-        processor.process(new MavenProject(), catalog, builder);
+        processor.process(new MavenProject(), catalog, builder, 
Collections.emptyList());
 
         CamelCatalogSpec spec = builder.build();
         Map<String, CamelArtifact> artifactMap = spec.getArtifacts();
@@ -96,7 +97,7 @@ public class CatalogProcessor3Test extends 
AbstractCatalogProcessorTest {
         CamelCatalogSpec.Builder builder = new 
CamelCatalogSpec.Builder().runtime(runtime);
 
         assertThat(processor.accepts(catalog)).isTrue();
-        processor.process(new MavenProject(), catalog, builder);
+        processor.process(new MavenProject(), catalog, builder, 
Collections.emptyList());
 
         CamelCatalogSpec spec = builder.build();
         Map<String, CamelArtifact> artifactMap = spec.getArtifacts();

Reply via email to