You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2017/02/02 15:10:49 UTC

[4/4] camel git commit: CAMEL-10775: Add information to components which version they were added to Camel

CAMEL-10775: Add information to components which version they were added to Camel


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/163f1e0d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/163f1e0d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/163f1e0d

Branch: refs/heads/master
Commit: 163f1e0d1374858ad108691fff164aaa86fb2941
Parents: e4e2317
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Feb 2 14:21:31 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Feb 2 16:10:38 2017 +0100

----------------------------------------------------------------------
 .../apache/camel/component/ejb/EjbEndpoint.java |  2 +-
 .../camel/component/grape/GrapeEndpoint.groovy  |  2 +-
 .../org/apache/camel/component/grape/grape.json |  1 +
 .../component/javaspace/JavaSpaceEndpoint.java  |  2 +-
 .../streams/ReactiveStreamsEndpoint.java        |  2 +-
 .../component/servlet/ServletEndpoint.java      |  2 +-
 .../camel/component/spark/SparkEndpoint.java    |  2 +-
 .../maven/packaging/PrepareCatalogMojo.java     | 23 ++++++++++++++++++--
 8 files changed, 28 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
index 6a5030f..46e1b5a 100644
--- a/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
+++ b/components/camel-ejb/src/main/java/org/apache/camel/component/ejb/EjbEndpoint.java
@@ -23,7 +23,7 @@ import org.apache.camel.spi.UriEndpoint;
 /**
  * The ejb component is for invoking EJB Java beans from Camel.
  */
-@UriEndpoint(scheme = "ejb", title = "EJB", syntax = "ejb:beanName", producerOnly = true, label = "endpoint,java")
+@UriEndpoint(firstVersion = "2.4.0", scheme = "ejb", title = "EJB", syntax = "ejb:beanName", producerOnly = true, label = "endpoint,java")
 public class EjbEndpoint extends BeanEndpoint {
 
     public EjbEndpoint(String endpointUri, Component component) {

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
----------------------------------------------------------------------
diff --git a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
index 3f15ae3..aa58b43 100644
--- a/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
+++ b/components/camel-grape/src/main/groovy/org/apache/camel/component/grape/GrapeEndpoint.groovy
@@ -31,7 +31,7 @@ import static org.apache.camel.component.grape.MavenCoordinates.parseMavenCoordi
 /**
  * The grape component allows you to fetch, load and manage additional jars when CamelContext is running.
  */
-@UriEndpoint(scheme = "grape", syntax = "grape:defaultCoordinates", title = "Grape", producerOnly = true, label = "management,deployment")
+@UriEndpoint(firstVersion = "2.16.0", scheme = "grape", syntax = "grape:defaultCoordinates", title = "Grape", producerOnly = true, label = "management,deployment")
 class GrapeEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
----------------------------------------------------------------------
diff --git a/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json b/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
index 4abdbe9..b5c56bc 100644
--- a/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
+++ b/components/camel-grape/src/main/resources/org/apache/camel/component/grape/grape.json
@@ -5,6 +5,7 @@
     "syntax": "grape:defaultCoordinates",
     "title": "Grape",
     "description": "Grape component allows you to fetch, load and manage additional jars when CamelContext is running.",
+    "firstVersion": "2.16.0",
     "label": "management,deployment",
     "producerOnly": "true",
     "javaType": "org.apache.camel.component.grape.GrapeEndpoint",

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java b/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
index 60ef607..b48e2d6 100644
--- a/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
+++ b/components/camel-javaspace/src/main/java/org/apache/camel/component/javaspace/JavaSpaceEndpoint.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * Sending and receiving messages through JavaSpace.
  */
-@UriEndpoint(scheme = "javaspace", title = "JavaSpace", syntax = "javaspace:url", consumerClass = JavaSpaceConsumer.class, label = "messaging")
+@UriEndpoint(firstVersion = "2.1.0", scheme = "javaspace", title = "JavaSpace", syntax = "javaspace:url", consumerClass = JavaSpaceConsumer.class, label = "messaging")
 public class JavaSpaceEndpoint extends DefaultEndpoint {
 
     @UriPath @Metadata(required = "true")

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
index 9f1d919..42de155 100644
--- a/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
+++ b/components/camel-reactive-streams/src/main/java/org/apache/camel/component/reactive/streams/ReactiveStreamsEndpoint.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * The Camel reactive-streams endpoint.
  */
-@UriEndpoint(scheme = "reactive-streams", title = "Reactive Streams", syntax = "reactive-streams:stream",
+@UriEndpoint(firstVersion = "2.19.0", scheme = "reactive-streams", title = "Reactive Streams", syntax = "reactive-streams:stream",
         consumerClass = ReactiveStreamsConsumer.class, label = "streams")
 public class ReactiveStreamsEndpoint extends DefaultEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
index 9fdd32c..0425b4b 100644
--- a/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
+++ b/components/camel-servlet/src/main/java/org/apache/camel/component/servlet/ServletEndpoint.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.UriPath;
 /**
  * To use a HTTP Servlet as entry for Camel routes when running in a servlet container.
  */
-@UriEndpoint(scheme = "servlet", extendsScheme = "http", title = "Servlet",
+@UriEndpoint(firstVersion = "2.0.0", scheme = "servlet", extendsScheme = "http", title = "Servlet",
         syntax = "servlet:contextPath", consumerOnly = true, consumerClass = ServletConsumer.class, label = "http")
 public class ServletEndpoint extends HttpCommonEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
----------------------------------------------------------------------
diff --git a/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java b/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
index 6a5ad91..eece793 100644
--- a/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
+++ b/components/camel-spark/src/main/java/org/apache/camel/component/spark/SparkEndpoint.java
@@ -33,7 +33,7 @@ import static org.slf4j.LoggerFactory.getLogger;
 /**
  * The spark component can be used to send RDD or DataFrame jobs to Apache Spark cluster.
  */
-@UriEndpoint(scheme = "spark", title = "Apache Spark", syntax = "spark:endpointType",
+@UriEndpoint(firstVersion = "2.17.0", scheme = "spark", title = "Apache Spark", syntax = "spark:endpointType",
         producerOnly = true, label = "bigdata,iot")
 public class SparkEndpoint extends DefaultEndpoint {
 

http://git-wip-us.apache.org/repos/asf/camel/blob/163f1e0d/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 74cf646..451627e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -326,6 +326,7 @@ public class PrepareCatalogMojo extends AbstractMojo {
         Map<String, Set<String>> usedComponentLabels = new TreeMap<String, Set<String>>();
         Set<String> usedOptionLabels = new TreeSet<String>();
         Set<String> unlabeledOptions = new TreeSet<String>();
+        Set<File> missingFirstVersions = new TreeSet<File>();
 
         // find all json files in components and camel-core
         if (componentsDir != null && componentsDir.isDirectory()) {
@@ -461,6 +462,17 @@ public class PrepareCatalogMojo extends AbstractMojo {
                     }
                 }
 
+                // detect missing first version
+                String firstVersion = null;
+                for (Map<String, String> row : rows) {
+                    if (row.get("firstVersion") != null) {
+                        firstVersion = row.get("firstVersion");
+                    }
+                }
+                if (firstVersion == null) {
+                    missingFirstVersions.add(file);
+                }
+
             } catch (IOException e) {
                 // ignore
             }
@@ -498,7 +510,7 @@ public class PrepareCatalogMojo extends AbstractMojo {
             throw new MojoFailureException("Error writing to file " + all);
         }
 
-        printComponentsReport(jsonFiles, duplicateJsonFiles, missingComponents, usedComponentLabels, usedOptionLabels, unlabeledOptions);
+        printComponentsReport(jsonFiles, duplicateJsonFiles, missingComponents, usedComponentLabels, usedOptionLabels, unlabeledOptions, missingFirstVersions);
 
         // filter out duplicate component names that are alternative scheme names
         Set<String> answer = new LinkedHashSet<>();
@@ -1003,7 +1015,7 @@ public class PrepareCatalogMojo extends AbstractMojo {
     }
 
     private void printComponentsReport(Set<File> json, Set<File> duplicate, Set<File> missing, Map<String,
-            Set<String>> usedComponentLabels, Set<String> usedOptionsLabels, Set<String> unusedLabels) {
+            Set<String>> usedComponentLabels, Set<String> usedOptionsLabels, Set<String> unusedLabels, Set<File> missingFirstVersions) {
         getLog().info("================================================================================");
         getLog().info("");
         getLog().info("Camel component catalog report");
@@ -1050,6 +1062,13 @@ public class PrepareCatalogMojo extends AbstractMojo {
                 getLog().warn("\t\t" + name.getName());
             }
         }
+        if (!missingFirstVersions.isEmpty()) {
+            getLog().info("");
+            getLog().warn("\tComponents without firstVersion defined: " + missingFirstVersions.size());
+            for (File name : missingFirstVersions) {
+                getLog().warn("\t\t" + name.getName());
+            }
+        }
         getLog().info("");
         getLog().info("================================================================================");
     }