You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 10:27:43 UTC

[sling-slingstart-maven-plugin] 03/06: SLING-5738 : Add support for configuring a pattern for the model files to be read

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

rombert pushed a commit to annotated tag slingstart-maven-plugin-1.4.4
in repository https://gitbox.apache.org/repos/asf/sling-slingstart-maven-plugin.git

commit af5befd943e0717675f976b3333246d232d35ff8
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Thu May 19 12:45:11 2016 +0000

    SLING-5738 : Add support for configuring a pattern for the model files to be read
    
    git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/tooling/maven/slingstart-maven-plugin@1744562 13f79535-47bb-0310-9956-ffa450edef68
---
 .../apache/sling/maven/slingstart/AbstractSlingStartMojo.java  |  7 +++++++
 .../org/apache/sling/maven/slingstart/ModelPreprocessor.java   | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
index 0e84976..f880a26 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
@@ -39,6 +39,13 @@ public abstract class AbstractSlingStartMojo extends AbstractMojo {
     private File modelDirectory;
 
     /**
+     * The model file name pattern
+     * This parameter is evaluated in the DependencyLifecycleParticipant
+     */
+    @Parameter
+    private String modelPattern;
+
+    /**
      * Inlined model, supported since version 1.3.
      * This parameter is evaluated in the DependencyLifecycleParticipant
      */
diff --git a/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java b/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
index 753714d..cc2853c 100644
--- a/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
+++ b/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
@@ -26,6 +26,7 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.regex.Pattern;
 
 import org.apache.commons.io.IOUtils;
 import org.apache.maven.MavenExecutionException;
@@ -93,10 +94,13 @@ public class ModelPreprocessor {
         final String directory = nodeValue(info.plugin,
                 "modelDirectory",
                 new File(info.project.getBasedir(), "src/main/provisioning").getAbsolutePath());
+        final String pattern = nodeValue(info.plugin,
+                "modelPattern", "((.*)\\.txt|(.*)\\.model)");
+
         final String inlinedModel = nodeValue(info.plugin,
                 "model", null);
         try {
-            info.localModel = readLocalModel(info.project, inlinedModel, new File(directory), env.logger);
+            info.localModel = readLocalModel(info.project, inlinedModel, new File(directory), pattern, env.logger);
         } catch ( final IOException ioe) {
             throw new MavenExecutionException(ioe.getMessage(), ioe);
         }
@@ -390,13 +394,15 @@ public class ModelPreprocessor {
             final MavenProject project,
             final String inlinedModel,
             final File modelDirectory,
+            final String pattern,
             final Logger logger)
     throws MavenExecutionException, IOException {
+        final Pattern p = Pattern.compile(pattern);
         final List<String> candidates = new ArrayList<String>();
         if ( modelDirectory != null && modelDirectory.exists() ) {
             for(final File f : modelDirectory.listFiles() ) {
                 if ( f.isFile() && !f.getName().startsWith(".") ) {
-                    if ( f.getName().endsWith(".txt") || f.getName().endsWith(".model") ) {
+                    if ( p.matcher(f.getName()).matches() ) {
                         candidates.add(f.getName());
                     }
                 }

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.