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 2019/01/03 08:57:01 UTC

[camel] branch camel-2.x updated: Camel Maven tooling should skip empty example directories.

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

davsclaus pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-2.x by this push:
     new 661a1ca  Camel Maven tooling should skip empty example directories.
661a1ca is described below

commit 661a1caca510b1f7a459dfb9686a87da618fac05
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Jan 3 09:55:45 2019 +0100

    Camel Maven tooling should skip empty example directories.
---
 .../camel/maven/packaging/PrepareExampleMojo.java  | 71 +++++++++++-----------
 1 file changed, 37 insertions(+), 34 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
index a60fea0..90143a9 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
@@ -19,6 +19,7 @@ package org.apache.camel.maven.packaging;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.nio.charset.Charset;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -99,41 +100,43 @@ public class PrepareExampleMojo extends AbstractMojo {
 
                 if (file.isDirectory() && file.getName().startsWith("camel-example")) {
                     File pom = new File(file, "pom.xml");
-                    String existing = FileUtils.readFileToString(pom);
-
-                    ExampleModel model = new ExampleModel();
-                    model.setFileName(file.getName());
-
-                    String name = StringHelper.between(existing, "<name>", "</name>");
-                    String title = StringHelper.between(existing, "<title>", "</title>");
-                    String description = StringHelper.between(existing, "<description>", "</description>");
-                    String category = StringHelper.between(existing, "<category>", "</category>");
-
-                    if (title != null) {
-                        model.setTitle(title);
-                    } else {
-                        // fallback and use file name as title
-                        model.setTitle(asTitle(file.getName()));
-                    }
-                    if (description != null) {
-                        model.setDescription(description);
-                    }
-                    if (category != null) {
-                        model.setCategory(category);
+                    if (pom.exists()) {
+                        String existing = FileUtils.readFileToString(pom, Charset.defaultCharset());
+
+                        ExampleModel model = new ExampleModel();
+                        model.setFileName(file.getName());
+
+                        String name = StringHelper.between(existing, "<name>", "</name>");
+                        String title = StringHelper.between(existing, "<title>", "</title>");
+                        String description = StringHelper.between(existing, "<description>", "</description>");
+                        String category = StringHelper.between(existing, "<category>", "</category>");
+
+                        if (title != null) {
+                            model.setTitle(title);
+                        } else {
+                            // fallback and use file name as title
+                            model.setTitle(asTitle(file.getName()));
+                        }
+                        if (description != null) {
+                            model.setDescription(description);
+                        }
+                        if (category != null) {
+                            model.setCategory(category);
+                        }
+                        if (name != null && name.contains("(deprecated)")) {
+                            model.setDeprecated("true");
+                        } else {
+                            model.setDeprecated("false");
+                        }
+
+                        // readme files is either readme.md or readme.adoc
+                        String[] readmes = new File(file, ".").list((folder, fileName) -> fileName.toLowerCase().startsWith("readme"));
+                        if (readmes != null && readmes.length == 1) {
+                            model.setReadmeFileName(readmes[0]);
+                        }
+
+                        models.add(model);
                     }
-                    if (name != null && name.contains("(deprecated)")) {
-                        model.setDeprecated("true");
-                    } else {
-                        model.setDeprecated("false");
-                    }
-
-                    // readme files is either readme.md or readme.adoc
-                    String[] readmes = new File(file, ".").list((folder, fileName) -> fileName.toLowerCase().startsWith("readme"));
-                    if (readmes != null && readmes.length == 1) {
-                        model.setReadmeFileName(readmes[0]);
-                    }
-
-                    models.add(model);
                 }
             }