You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by de...@apache.org on 2012/10/24 15:28:12 UTC

svn commit: r1401670 - in /maven/plugins/trunk/maven-assembly-plugin/src: it/projects/filtering-feature/filters-defined-in-build/ it/projects/filtering-feature/filters-defined-in-build/src/main/config/ it/projects/filtering-feature/filtersDefinedInAsse...

Author: dennisl
Date: Wed Oct 24 13:28:11 2012
New Revision: 1401670

URL: http://svn.apache.org/viewvc?rev=1401670&view=rev
Log:
[MASSEMBLY-546] Cannot supply escapeString for filtering

Added a new parameter called escapeString that works in the same way as Maven Resource Plugin.

Modified:
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt
    maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
    maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
    maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/pom.xml Wed Oct 24 13:28:11 2012
@@ -23,6 +23,7 @@
             <descriptor>${basedir}/src/main/assembly/descriptor.xml</descriptor>
           </descriptors>
           <appendAssemblyId>false</appendAssemblyId>
+          <escapeString>\</escapeString>
         </configuration>
         <executions>
           <execution>

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/src/main/config/file-1.properties Wed Oct 24 13:28:11 2012
@@ -1,3 +1,4 @@
 test.build.filter.props.1=${filter.build}
+escapedString=\${project.artifactId}
 test.assembly.filter.props.1=${filter.assembly}
 test.pom.props.1=${project.artifactId}-${project.version}.${project.packaging}
\ No newline at end of file

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filters-defined-in-build/verify.bsh Wed Oct 24 13:28:11 2012
@@ -12,6 +12,12 @@ try
         System.out.println("file-1.properties was not filtered");
         return false;
     }
+    s = r.readLine();
+    if(!s.contains("escapedString=${project.artifactId}"))
+    {
+        System.out.println("file-1.properties did not escape filtering");
+        return false;
+    }
 
     file = new File( basedir, "target/filters-defined-in-build-1/file-2.properties");
     r = new BufferedReader(new FileReader(file));

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/src/config/file.txt Wed Oct 24 13:28:11 2012
@@ -1 +1,2 @@
 ${test.properties}
+\${project.artifactId}

Modified: maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/filtersDefinedInAssemblyPluginConfig/verify.bsh Wed Oct 24 13:28:11 2012
@@ -11,6 +11,14 @@ try
         BufferedReader r = new BufferedReader(new FileReader(file));
         String s = r.readLine();
         result = s.equals("foo");
+        if(result) {
+            s = r.readLine();
+            if(!s.contains("\\"))
+            {
+                System.out.println("file.txt escaped filtering");
+                return false;
+            }
+        }
     }
 }
 catch( IOException e )

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/AssemblerConfigurationSource.java Wed Oct 24 13:28:11 2012
@@ -97,4 +97,6 @@ public interface AssemblerConfigurationS
     boolean isIgnorePermissions();
     
     String getEncoding();
+
+    String getEscapeString();
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/FileFormatter.java Wed Oct 24 13:28:11 2012
@@ -73,7 +73,7 @@ public class FileFormatter
         }
 
         if ( filter )
-            result = doFileFilter( source, tempRoot, encoding );
+            result = doFileFilter( source, tempRoot, encoding, configSource.getEscapeString() );
 
         String lineEndingChars = AssemblyFileUtils.getLineEndingCharacters( lineEnding );
         if ( lineEndingChars != null )
@@ -84,7 +84,7 @@ public class FileFormatter
         return result;
     }
 
-    private File doFileFilter( File source, File tempRoot, String encoding )
+    private File doFileFilter( File source, File tempRoot, String encoding, String escapeString )
         throws AssemblyFormattingException
     {
         try
@@ -96,6 +96,7 @@ public class FileFormatter
 
             MavenFileFilterRequest filterRequest = new MavenFileFilterRequest( source, target, true, configSource.getProject(),
                     configSource.getFilters(), isPropertiesFile, encoding, configSource.getMavenSession(), null );
+            filterRequest.setEscapeString( escapeString );
             filterRequest.setInjectProjectBuildFilters( true );
             configSource.getMavenFileFilter().copyFile( filterRequest );
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/mojos/AbstractAssemblyMojo.java Wed Oct 24 13:28:11 2012
@@ -64,6 +64,15 @@ public abstract class AbstractAssemblyMo
     protected String encoding;
 
     /**
+     * Expressions preceded with this String won't be interpolated.
+     * If you use "\" as the escape string then \${foo} will be replaced with ${foo}.
+     *
+     * @since 2.4
+     */
+    @Parameter( property = "assembly.escapeString" )
+    protected String escapeString;
+
+    /**
      * Flag allowing one or more executions of the assembly plugin to be configured as skipped for a particular build.
      * This makes the assembly plugin more controllable from profiles.
      */
@@ -840,10 +849,14 @@ public abstract class AbstractAssemblyMo
     }
     
     public String getEncoding() {
-    	return encoding;
+        return encoding;
     }
 
     protected boolean isRecompressZippedFiles() {
         return recompressZippedFiles;
     }
+
+    public String getEscapeString() {
+      return escapeString;
+    }
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileFormatterTest.java Wed Oct 24 13:28:11 2012
@@ -382,6 +382,9 @@ public class FileFormatterTest
         configSource.getTemporaryRootDirectory();
         configSourceControl.setReturnValue( basedir );
 
+        configSource.getEscapeString();
+        configSourceControl.setReturnValue( null, MockControl.ONE_OR_MORE );
+
         configSource.getProject();
         configSourceControl.setReturnValue( project, MockControl.ONE_OR_MORE );
 

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/format/FileSetFormatterTest.java Wed Oct 24 13:28:11 2012
@@ -356,6 +356,9 @@ public class FileSetFormatterTest
 
         configSource.getEncoding();
         configSourceControl.setReturnValue( "UTF-8", MockControl.ONE_OR_MORE );
+
+        configSource.getEscapeString();
+        configSourceControl.setReturnValue( null, MockControl.ONE_OR_MORE );
     }
 
 }

Modified: maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java?rev=1401670&r1=1401669&r2=1401670&view=diff
==============================================================================
--- maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java (original)
+++ maven/plugins/trunk/maven-assembly-plugin/src/test/java/org/apache/maven/plugin/assembly/testutils/ConfigSourceStub.java Wed Oct 24 13:28:11 2012
@@ -203,7 +203,10 @@ public class ConfigSourceStub
     }
     
     public String getEncoding() {
-    	return null;
+        return null;
     }
 
+    public String getEscapeString() {
+        return null;
+    }
 }