Add goal to mvn plugin to validate if component docs is present when building 
each component.


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

Branch: refs/heads/master
Commit: 8c0039b3d7b93750586b7c2c099eda9b5ca7720d
Parents: 572f9e2
Author: Claus Ibsen <davscl...@apache.org>
Authored: Fri Jun 19 16:23:43 2015 +0200
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Fri Jun 19 17:38:08 2015 +0200

----------------------------------------------------------------------
 components/camel-salesforce/pom.xml             | 30 ++++++++++++++++++++
 .../maven/packaging/PrepareCatalogMojo.java     |  2 ++
 .../maven/packaging/ValidateComponentMojo.java  | 26 ++++++++++-------
 .../camel/maven/packaging/ValidateHelper.java   |  4 +--
 4 files changed, 48 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8c0039b3/components/camel-salesforce/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/pom.xml 
b/components/camel-salesforce/pom.xml
index 61ccca7..b110ff0 100644
--- a/components/camel-salesforce/pom.xml
+++ b/components/camel-salesforce/pom.xml
@@ -35,6 +35,36 @@
         <module>camel-salesforce-maven-plugin</module>
     </modules>
 
+ <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-package-maven-plugin</artifactId>
+        <version>${project.version}</version>
+        <configuration>
+          <!-- TODO: remove all this when we have salesforce documented -->
+          <validate>false</validate>
+        </configuration>
+        <executions>
+          <execution>
+            <id>prepare</id>
+            <goals>
+              <goal>prepare-components</goal>
+            </goals>
+            <phase>generate-resources</phase>
+         </execution>
+          <execution>
+            <id>validate</id>
+            <goals>
+              <goal>validate-components</goal>
+            </goals>
+            <phase>prepare-package</phase>
+         </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+
     <profiles>
 
       <profile>

http://git-wip-us.apache.org/repos/asf/camel/blob/8c0039b3/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 8405781..169486b 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
@@ -169,6 +169,8 @@ public class PrepareCatalogMojo extends AbstractMojo {
         executeXmlSchemas();
     }
 
+    // TODO: Remove some of the missing check as we should have that out of 
the box with the validate goal
+
     protected void executeModel() throws MojoExecutionException, 
MojoFailureException {
         getLog().info("Copying all Camel model json descriptors");
 

http://git-wip-us.apache.org/repos/asf/camel/blob/8c0039b3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
index 58b3b11..79b30ab 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
@@ -93,27 +93,29 @@ public class ValidateComponentMojo extends AbstractMojo {
      */
     public void execute() throws MojoExecutionException, MojoFailureException {
 
-        final Set<File> jsonFiles = new TreeSet<>();
-        PackageHelper.findJsonFiles(outDir, jsonFiles, new 
PackageHelper.CamelComponentsModelFilter());
+        if (!validate) {
+            getLog().info("Validation disabled");
+        } else {
 
-        boolean failed = false;
-        if (validate) {
-            getLog().info("Validating ...");
+            final Set<File> jsonFiles = new TreeSet<File>();
+            PackageHelper.findJsonFiles(outDir, jsonFiles, new 
PackageHelper.CamelComponentsModelFilter());
+            boolean failed = false;
 
             for (File file : jsonFiles) {
                 final String name = asName(file);
                 final ErrorDetail detail = new ErrorDetail();
 
+                getLog().debug("Validating file " + file);
                 validate(file, detail);
 
                 if (detail.hasErrors()) {
                     failed = true;
-                    getLog().warn("The " + detail.getKind() + ": " + name + " 
has errors!");
+                    getLog().warn("The " + detail.getKind() + ": " + name + " 
has validation errors");
                     if (detail.isMissingDescription()) {
-                        getLog().warn("Missing description on " + 
detail.getKind());
+                        getLog().warn("Missing description on: " + 
detail.getKind());
                     }
                     if (detail.isMissingLabel()) {
-                        getLog().warn("Missing label on " + detail.getKind());
+                        getLog().warn("Missing label on: " + detail.getKind());
                     }
                     if (detail.isMissingSyntax()) {
                         getLog().warn("Missing syntax on endpoint");
@@ -129,10 +131,12 @@ public class ValidateComponentMojo extends AbstractMojo {
                     }
                 }
             }
-        }
 
-        if (failed) {
-            throw new MojoFailureException("There are validation errors, see 
above!");
+            if (failed) {
+                throw new MojoFailureException("Validating failed, see errors 
above!");
+            } else {
+                getLog().info("Validation complete");
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/camel/blob/8c0039b3/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateHelper.java
----------------------------------------------------------------------
diff --git 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateHelper.java
 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateHelper.java
index 4db0e73..ac52996 100644
--- 
a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateHelper.java
+++ 
b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateHelper.java
@@ -39,8 +39,6 @@ public final class ValidateHelper {
      * @param errorDetail details to add errors
      */
     public static void validate(File file, ErrorDetail errorDetail) {
-        String name = asName(file);
-
         try {
             String json = loadText(new FileInputStream(file));
 
@@ -86,7 +84,7 @@ public final class ValidateHelper {
                 errorDetail.setMissingDescription(true);
             }
             if (!syntax) {
-                errorDetail.setMissingDescription(true);
+                errorDetail.setMissingSyntax(true);
             }
 
             if (isComponent) {

Reply via email to