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

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


The following commit(s) were added to refs/heads/main by this push:
     new da7842a4520 chore: change mojo for example projects (#9404)
da7842a4520 is described below

commit da7842a4520754e34d7bc53619c3e49bc714af99
Author: Mateus Alexandre <mateusa...@gmail.com>
AuthorDate: Fri Feb 24 02:24:29 2023 -0300

    chore: change mojo for example projects (#9404)
---
 .../java/org/apache/camel/tooling/model/ExampleModel.java | 15 ++++++++++++++-
 .../apache/camel/maven/packaging/PrepareExampleMojo.java  | 10 +++++++---
 2 files changed, 21 insertions(+), 4 deletions(-)

diff --git 
a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ExampleModel.java
 
b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ExampleModel.java
index dde2c14009f..051e5f5222f 100644
--- 
a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ExampleModel.java
+++ 
b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/ExampleModel.java
@@ -24,6 +24,7 @@ public class ExampleModel {
     protected String description = "";
     protected String readmeFileName = "readme.md";
     protected String deprecated;
+    protected String middleFolder;
 
     public String getFileName() {
         return fileName;
@@ -73,7 +74,19 @@ public class ExampleModel {
         this.deprecated = deprecated;
     }
 
+    public String getMiddleFolder() {
+        return middleFolder;
+    }
+
+    public void setMiddleFolder(String middleFolder) {
+        this.middleFolder = middleFolder;
+    }
+
     public String getDocLink() {
-        return fileName + "/" + readmeFileName;
+        if (middleFolder == null) {
+            return fileName + "/" + readmeFileName;
+        }
+
+        return middleFolder + "/" + fileName + "/" + readmeFileName;
     }
 }
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 2770cce20d1..16817a5099e 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
@@ -108,15 +108,16 @@ public class PrepareExampleMojo extends AbstractMojo {
                     if (!middleFolders.contains(file.getName())) {
                         File pom = new File(file, "pom.xml");
                         if (pom.exists()) {
-                            processExamples(models, file, pom);
+                            processExamples(models, file, pom, null);
                         }
                     } else {
                         File[] subFiles = file.listFiles();
+                        String middleFolder = file.getName();
                         for (File innerFile : subFiles) {
                             if (innerFile.isDirectory()) {
                                 File pom = new File(innerFile, "pom.xml");
                                 if (pom.exists()) {
-                                    processExamples(models, innerFile, pom);
+                                    processExamples(models, innerFile, pom, 
middleFolder);
                                 }
                             }
                         }
@@ -153,7 +154,7 @@ public class PrepareExampleMojo extends AbstractMojo {
         }
     }
 
-    private void processExamples(List<ExampleModel> models, File file, File 
pom) throws IOException {
+    private void processExamples(List<ExampleModel> models, File file, File 
pom, String middleFolder) throws IOException {
         String existing = FileUtils.readFileToString(pom, 
Charset.defaultCharset());
 
         ExampleModel model = new ExampleModel();
@@ -181,6 +182,9 @@ public class PrepareExampleMojo extends AbstractMojo {
         } else {
             model.setDeprecated("false");
         }
+        if (middleFolder != null) {
+            model.setMiddleFolder(middleFolder);
+        }
 
         // readme files is either readme.md or readme.adoc
         String[] readmes = new File(file, ".")

Reply via email to