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 2016/08/19 08:51:54 UTC

camel git commit: Fixed spring-boot starter generator to work with root folder not named camel such as on CI servers.

Repository: camel
Updated Branches:
  refs/heads/master 60d1c7c54 -> db1d9eb70


Fixed spring-boot starter generator to work with root folder not named camel such as on CI servers.


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

Branch: refs/heads/master
Commit: db1d9eb701b9fe8a93b5fd376d79ad5659912e47
Parents: 60d1c7c
Author: Claus Ibsen <da...@apache.org>
Authored: Fri Aug 19 10:51:46 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Fri Aug 19 10:51:46 2016 +0200

----------------------------------------------------------------------
 .../camel/maven/packaging/SpringBootHelper.java       | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/db1d9eb7/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootHelper.java
----------------------------------------------------------------------
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootHelper.java
index 553fde8..b981368 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootHelper.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootHelper.java
@@ -46,19 +46,25 @@ public final class SpringBootHelper {
     }
 
     public static File allStartersDir(File baseDir) {
-        File allStartersDir = new File(camelProjectRoot(baseDir), "components-starter");
+        File allStartersDir = new File(camelProjectRoot(baseDir, "components-starter"), "components-starter");
         return allStartersDir;
     }
 
-    public static File camelProjectRoot(File baseDir) {
+    public static File camelProjectRoot(File baseDir, String expectedDirName) {
+        // another solution could be to look for pom.xml file and see if that pom.xml is the camel root pom
+        // however looking for a dir named components-starter should be fine also (there is only 1 with such name)
         try {
             File root = baseDir.getCanonicalFile();
-            while (root != null && !root.getName().equals("camel")) {
+            while (root != null) {
+                File[] names = root.listFiles(pathname -> pathname.getName().equals(expectedDirName));
+                if (names != null && names.length == 1) {
+                    break;
+                }
                 root = root.getParentFile();
             }
 
             if (root == null) {
-                throw new IllegalStateException("Cannot find project root");
+                throw new IllegalStateException("Cannot find Apache Camel project root directory");
             }
             return root;
         } catch (IOException e) {