You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gn...@apache.org on 2020/09/15 12:51:36 UTC

[camel] 03/06: [CAMEL-15433] Generators should run during a component build

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

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

commit 95cc415c0048b340995d3a55c838b752841f3970
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Mon Sep 14 14:17:04 2020 +0200

    [CAMEL-15433] Generators should run during a component build
---
 .../camel/maven/packaging/PrepareCatalogMojo.java  |  2 -
 .../camel/maven/packaging/UpdateReadmeMojo.java    | 88 ++++++++++++++++++++++
 2 files changed, 88 insertions(+), 2 deletions(-)

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 36dcfae..934749c 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
@@ -321,8 +321,6 @@ public class PrepareCatalogMojo extends AbstractMojo {
 
     // CHECKSTYLE:OFF
     protected Set<String> executeComponents() throws Exception {
-        Path coreDir = this.coreDir.toPath();
-        Path componentsDir = this.componentsDir.toPath();
         Path componentsOutDir = this.componentsOutDir.toPath();
 
         getLog().info("Copying all Camel component json descriptors");
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index d7de57e..0067ff2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -19,6 +19,7 @@ package org.apache.camel.maven.packaging;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -54,6 +55,8 @@ import org.apache.maven.project.MavenProjectHelper;
 import org.mvel2.templates.TemplateRuntime;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
+import static org.apache.camel.tooling.util.PackageHelper.findCamelDirectory;
+
 /**
  * Generate or updates the component/dataformat/language/eip readme.md and .adoc files in the project root directory.
  */
@@ -197,6 +200,24 @@ public class UpdateReadmeMojo extends AbstractGeneratorMojo {
                             throw new MojoExecutionException("Failed build due failFast=true");
                         }
                     }
+
+                    if (updated || exists) {
+                        try {
+                            Path root = findCamelDirectory(project.getBasedir(), "core/camel-core").toPath().getParent()
+                                    .getParent();
+                            String text = PackageHelper.loadText(file);
+                            updateResource(
+                                    root.resolve("catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs"),
+                                    file.getName(), text);
+                            String rep = "$1\n"
+                                         + "//THIS FILE IS COPIED: EDIT THE SOURCE FILE:\n"
+                                         + ":page-source: " + root.relativize(file.toPath());
+                            text = Pattern.compile("^(= .+)$", Pattern.MULTILINE).matcher(text).replaceAll(rep);
+                            updateResource(root.resolve("docs/components/modules/ROOT/pages"), file.getName(), text);
+                        } catch (IOException e) {
+                            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+                        }
+                    }
                 }
             }
         }
@@ -237,6 +258,24 @@ public class UpdateReadmeMojo extends AbstractGeneratorMojo {
                             throw new MojoExecutionException("Failed build due failFast=true");
                         }
                     }
+
+                    if (updated || exists) {
+                        try {
+                            Path root = findCamelDirectory(project.getBasedir(), "core/camel-core").toPath().getParent()
+                                    .getParent();
+                            String text = PackageHelper.loadText(file);
+                            updateResource(
+                                    root.resolve("catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs"),
+                                    file.getName(), text);
+                            String rep = "$1\n"
+                                         + "//THIS FILE IS COPIED: EDIT THE SOURCE FILE:\n"
+                                         + ":page-source: " + root.relativize(file.toPath());
+                            text = Pattern.compile("^(= .+)$", Pattern.MULTILINE).matcher(text).replaceAll(rep);
+                            updateResource(root.resolve("docs/components/modules/others/pages"), file.getName(), text);
+                        } catch (IOException e) {
+                            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+                        }
+                    }
                 }
             }
         }
@@ -289,6 +328,24 @@ public class UpdateReadmeMojo extends AbstractGeneratorMojo {
                             throw new MojoExecutionException("Failed build due failFast=true");
                         }
                     }
+
+                    if (updated || exists) {
+                        try {
+                            Path root = findCamelDirectory(project.getBasedir(), "core/camel-core").toPath().getParent()
+                                    .getParent();
+                            String text = PackageHelper.loadText(file);
+                            updateResource(
+                                    root.resolve("catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs"),
+                                    file.getName(), text);
+                            String rep = "$1\n"
+                                         + "//THIS FILE IS COPIED: EDIT THE SOURCE FILE:\n"
+                                         + ":page-source: " + root.relativize(file.toPath());
+                            text = Pattern.compile("^(= .+)$", Pattern.MULTILINE).matcher(text).replaceAll(rep);
+                            updateResource(root.resolve("docs/components/modules/dataformats/pages"), file.getName(), text);
+                        } catch (IOException e) {
+                            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+                        }
+                    }
                 }
             }
         }
@@ -359,6 +416,24 @@ public class UpdateReadmeMojo extends AbstractGeneratorMojo {
                             throw new MojoExecutionException("Failed build due failFast=true");
                         }
                     }
+
+                    if (updated || exists) {
+                        try {
+                            Path root = findCamelDirectory(project.getBasedir(), "core/camel-core").toPath().getParent()
+                                    .getParent();
+                            String text = PackageHelper.loadText(file);
+                            updateResource(
+                                    root.resolve("catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs"),
+                                    file.getName(), text);
+                            String rep = "$1\n"
+                                         + "//THIS FILE IS COPIED: EDIT THE SOURCE FILE:\n"
+                                         + ":page-source: " + root.relativize(file.toPath());
+                            text = Pattern.compile("^(= .+)$", Pattern.MULTILINE).matcher(text).replaceAll(rep);
+                            updateResource(root.resolve("docs/components/modules/languages/pages"), file.getName(), text);
+                        } catch (IOException e) {
+                            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+                        }
+                    }
                 }
             }
         }
@@ -435,6 +510,19 @@ public class UpdateReadmeMojo extends AbstractGeneratorMojo {
                             throw new MojoExecutionException("Failed build due failFast=true");
                         }
                     }
+
+                    if (updated || exists) {
+                        try {
+                            Path root = findCamelDirectory(project.getBasedir(), "core/camel-core").toPath().getParent()
+                                    .getParent();
+                            String text = PackageHelper.loadText(file);
+                            updateResource(
+                                    root.resolve("catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs"),
+                                    file.getName(), text);
+                        } catch (IOException e) {
+                            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
+                        }
+                    }
                 }
             }
         }