You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2016/05/19 12:45:11 UTC

svn commit: r1744562 - in /sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart: AbstractSlingStartMojo.java ModelPreprocessor.java

Author: cziegeler
Date: Thu May 19 12:45:11 2016
New Revision: 1744562

URL: http://svn.apache.org/viewvc?rev=1744562&view=rev
Log:
SLING-5738 : Add support for configuring a pattern for the model files to be read

Modified:
    sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
    sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java

Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java?rev=1744562&r1=1744561&r2=1744562&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/AbstractSlingStartMojo.java Thu May 19 12:45:11 2016
@@ -39,6 +39,13 @@ public abstract class AbstractSlingStart
     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
      */

Modified: sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java?rev=1744562&r1=1744561&r2=1744562&view=diff
==============================================================================
--- sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java (original)
+++ sling/trunk/tooling/maven/slingstart-maven-plugin/src/main/java/org/apache/sling/maven/slingstart/ModelPreprocessor.java Thu May 19 12:45:11 2016
@@ -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());
                     }
                 }