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 2023/07/13 09:17:45 UTC

[camel-kamelets] branch crds created (now e38b0ea0)

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

acosentino pushed a change to branch crds
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git


      at e38b0ea0 Switch from Fabric8 Camel K Extension to Camel K CRDS

This branch includes the following new commits:

     new e38b0ea0 Switch from Fabric8 Camel K Extension to Camel K CRDS

The 1 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.



[camel-kamelets] 01/01: Switch from Fabric8 Camel K Extension to Camel K CRDS

Posted by ac...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit e38b0ea05b10cc30a5f3459c8c284860c0c097a4
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Thu Jul 13 11:17:16 2023 +0200

    Switch from Fabric8 Camel K Extension to Camel K CRDS
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 library/camel-kamelets-catalog/pom.xml                      |  6 +++---
 .../org/apache/camel/kamelets/catalog/KameletsCatalog.java  |  9 +++++----
 .../apache/camel/kamelets/catalog/KameletsCatalogTest.java  | 13 +++++++------
 .../camel/kamelets/maven/plugin/ValidateKameletsMojo.java   | 12 ++++++++++--
 pom.xml                                                     |  2 +-
 5 files changed, 26 insertions(+), 16 deletions(-)

diff --git a/library/camel-kamelets-catalog/pom.xml b/library/camel-kamelets-catalog/pom.xml
index ea227540..99d2c4d3 100644
--- a/library/camel-kamelets-catalog/pom.xml
+++ b/library/camel-kamelets-catalog/pom.xml
@@ -64,9 +64,9 @@
             <version>${jackson2-version}</version>
         </dependency>
         <dependency>
-            <groupId>io.fabric8</groupId>
-            <artifactId>camel-k-model-v1alpha1</artifactId>
-            <version>${camel.k.extension.version}</version>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-crds</artifactId>
+            <version>${camel.k.crds.version}</version>
         </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.datatype</groupId>
diff --git a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
index 014c20a6..0824a5ff 100644
--- a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
+++ b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/KameletsCatalog.java
@@ -30,8 +30,6 @@ import java.util.stream.Collectors;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
-import io.fabric8.camelk.v1alpha1.Kamelet;
-import io.fabric8.camelk.v1alpha1.JSONSchemaProps;
 import io.github.classgraph.ClassGraph;
 import io.github.classgraph.Resource;
 import io.github.classgraph.ScanResult;
@@ -42,6 +40,9 @@ import org.apache.camel.kamelets.catalog.model.KameletPrefixSchemeEnum;
 import org.apache.camel.kamelets.catalog.model.KameletTypeEnum;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.util.ObjectHelper;
+import org.apache.camel.v1alpha1.Kamelet;
+import org.apache.camel.v1alpha1.kameletspec.Definition;
+import org.apache.camel.v1alpha1.kameletspec.Template;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -135,7 +136,7 @@ public class KameletsCatalog {
         return collect;
     }
 
-    public JSONSchemaProps getKameletDefinition(String name) {
+    public Definition getKameletDefinition(String name) {
         Kamelet kamelet = kameletModels.get(name);
         if (kamelet != null) {
             return kamelet.getSpec().getDefinition();
@@ -188,7 +189,7 @@ public class KameletsCatalog {
         }
     }
 
-    public Map<String, Object> getKameletTemplate(String name) {
+    public Template getKameletTemplate(String name) {
         Kamelet kamelet = kameletModels.get(name);
         if (kamelet != null) {
             return kamelet.getSpec().getTemplate();
diff --git a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
index 404a9bfe..eb7e3402 100644
--- a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
+++ b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
@@ -19,12 +19,13 @@ package org.apache.camel.kamelets.catalog;
 import java.util.List;
 import java.util.Map;
 
-import io.fabric8.camelk.v1alpha1.JSONSchemaProps;
-import io.fabric8.camelk.v1alpha1.Kamelet;
+
 import io.github.classgraph.ClassGraph;
-import org.apache.camel.kamelets.catalog.model.KameletPrefixSchemeEnum;
 import org.apache.camel.kamelets.catalog.model.KameletTypeEnum;
 import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.v1alpha1.Kamelet;
+import org.apache.camel.v1alpha1.kameletspec.Definition;
+import org.apache.camel.v1alpha1.kameletspec.Template;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
@@ -52,7 +53,7 @@ public class KameletsCatalogTest {
 
     @Test
     void testGetKameletsDefinition() throws Exception {
-        JSONSchemaProps props = catalog.getKameletDefinition("aws-sqs-source");
+        Definition props = catalog.getKameletDefinition("aws-sqs-source");
         assertEquals(14, props.getProperties().keySet().size());
         assertTrue(props.getProperties().containsKey("queueNameOrArn"));
     }
@@ -66,7 +67,7 @@ public class KameletsCatalogTest {
 
     @Test
     void testGetKameletsDefinitionNotExists() throws Exception {
-        JSONSchemaProps props = catalog.getKameletDefinition("word");
+        Definition props = catalog.getKameletDefinition("word");
         assertNull(props);
     }
 
@@ -118,7 +119,7 @@ public class KameletsCatalogTest {
 
     @Test
     void testGetKameletsTemplate() throws Exception {
-        Map<String, Object> template = catalog.getKameletTemplate("aws-sqs-source");
+        Template template = catalog.getKameletTemplate("aws-sqs-source");
         assertNotNull(template);
     }
 
diff --git a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
index 370df12e..b8a59393 100644
--- a/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
+++ b/library/kamelets-maven-plugin/src/main/java/org/apache/camel/kamelets/maven/plugin/ValidateKameletsMojo.java
@@ -22,9 +22,14 @@ import java.util.List;
 import java.util.Map;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.camel.catalog.DefaultCamelCatalog;
 import org.apache.camel.kamelets.catalog.KameletsCatalog;
 import org.apache.camel.tooling.model.ComponentModel;
+import org.apache.camel.v1alpha1.kameletspec.Template;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -64,9 +69,12 @@ public class ValidateKameletsMojo extends AbstractMojo {
         KameletsCatalog catalog = new KameletsCatalog();
         DefaultCamelCatalog cc = new DefaultCamelCatalog();
         List<String> names = catalog.getKameletsName();
+        ObjectMapper om = new ObjectMapper();
         for (String name: names) {
-            Map<String, Object> kd = catalog.getKameletTemplate(name);
-            Map<String,Object> f = (Map) kd.get("from");
+            Map<Object, Object> templateJson;
+            Template kd = catalog.getKameletTemplate(name);
+            templateJson = om.convertValue(kd, new TypeReference<Map<Object, Object>>(){});
+            Map<String,Object> f = (Map) templateJson.get("from");
             Map<String,Object> p = (Map) f.get("parameters");
             List<String> deps = catalog.getKameletDependencies(name).stream()
                     .filter(Predicate.not(bannedDepsList::contains))
diff --git a/pom.xml b/pom.xml
index 2e39f826..f2e0be2f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,7 +61,7 @@
 	<cyclonedx-maven-plugin-version>2.7.8</cyclonedx-maven-plugin-version>
 
         <camel.version>4.0.0-RC1</camel.version>
-        <camel.k.extension.version>6.1.1</camel.k.extension.version>
+        <camel.k.crds.version>1.12.1</camel.k.crds.version>
 
         <!-- Versions used inside Kamelets (add them also to the dependencyManagement section and the groovy script below) -->
         <!-- These properties must keep this same format "version.<groupId>.<artifactId>" -->