You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ol...@apache.org on 2008/09/10 12:58:20 UTC
svn commit: r693783 - in /maven/shared/trunk/maven-filtering/src:
main/java/org/apache/maven/shared/filtering/
test/java/org/apache/maven/shared/filtering/
Author: olamy
Date: Wed Sep 10 03:58:19 2008
New Revision: 693783
URL: http://svn.apache.org/viewvc?rev=693783&view=rev
Log:
[MSHARED-51] ability to escape interpolation with \
to preserve backward comp no default escape String is used
Modified:
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java
maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java?rev=693783&r1=693782&r2=693783&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/DefaultMavenFileFilter.java Wed Sep 10 03:58:19 2008
@@ -155,8 +155,7 @@
final ValueSource propertiesValueSource =
new PropertiesEscapingBackSlashValueSource( escapedBackslashesInFilePath, filterProperties );
- final String escapeString = mavenResourcesExecution == null ? MavenResourcesExecution.DEFAULT_ESCAPE_STRING
- : mavenResourcesExecution.getEscapeString();
+ final String escapeString = mavenResourcesExecution == null ? null : mavenResourcesExecution.getEscapeString();
// support ${token}
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java?rev=693783&r1=693782&r2=693783&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenFileFilter.java Wed Sep 10 03:58:19 2008
@@ -67,7 +67,7 @@
* <li>interpolate with token ${} and values from mavenProject interpolation.</li>
* <li>interpolation with token @ @ and values from mavenProject interpolation</li>
* </ul>
- * <b>default escape characters will be \</b>
+ * <b>this method si now deprecated and no escape mechanism will be use</b>
* @deprecated use {@link #getDefaultFilterWrappers(MavenProject, List, boolean, MavenSession, MavenResourcesExecution)}
* @param mavenProject
* @param filters {@link List} of properties file
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java?rev=693783&r1=693782&r2=693783&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenResourcesExecution.java Wed Sep 10 03:58:19 2008
@@ -29,6 +29,7 @@
import org.codehaus.plexus.interpolation.Interpolator;
import org.codehaus.plexus.interpolation.InterpolatorFilterReader;
import org.codehaus.plexus.interpolation.RegexBasedInterpolator;
+import org.codehaus.plexus.interpolation.StringSearchInterpolator;
import org.codehaus.plexus.interpolation.ValueSource;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.FileUtils.FilterWrapper;
@@ -40,9 +41,7 @@
*/
public class MavenResourcesExecution
{
-
- public static final String DEFAULT_ESCAPE_STRING = "\\";
-
+
/** @see org.apache.maven.model.Resource */
private List resources;
@@ -73,9 +72,8 @@
/**
* String which will escape interpolation mechanism : foo \${foo.bar} -> foo ${foo.bar}
- * by default it will be {@value #DEFAULT_ESCAPE_STRING}
*/
- private String escapeString = DEFAULT_ESCAPE_STRING;
+ private String escapeString;
public MavenResourcesExecution()
@@ -257,6 +255,14 @@
} );
}
+ /**
+ * @param valueSource
+ * @param startRegExp
+ * @param endRegExp
+ * @param startToken
+ * @param endToken
+ * @deprecated this doesn't support escaping
+ */
public void addFilerWrapper( final ValueSource valueSource, final String startRegExp, final String endRegExp,
final String startToken, final String endToken )
{
@@ -269,7 +275,31 @@
return new InterpolatorFilterReader( reader, propertiesInterpolator, startToken, endToken );
}
} );
- }
+ }
+
+ /**
+ * @param valueSource
+ * @param startRegExp
+ * @param endRegExp
+ * @param startToken
+ * @param endToken
+ * @since 1.0-beta-2
+ * @param escapeString
+ */
+ public void addFilerWrapperWithEscaping( final ValueSource valueSource, final String startRegExp, final String endRegExp,
+ final String startToken, final String endToken, final String escapeString )
+ {
+ addFilterWrapper( new FileUtils.FilterWrapper()
+ {
+ public Reader getReader( Reader reader )
+ {
+ StringSearchInterpolator propertiesInterpolator = new StringSearchInterpolator( startRegExp, endRegExp );
+ propertiesInterpolator.addValueSource( valueSource );
+ propertiesInterpolator.setEscapeString( escapeString );
+ return new InterpolatorFilterReader( reader, propertiesInterpolator, startToken, endToken );
+ }
+ } );
+ }
public File getResourcesBaseDirectory()
Modified: maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java?rev=693783&r1=693782&r2=693783&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java (original)
+++ maven/shared/trunk/maven-filtering/src/test/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFilteringTest.java Wed Sep 10 03:58:19 2008
@@ -93,7 +93,7 @@
mavenResourcesFiltering.filterResources( resources, outputDirectory, mavenProject, null, filtersFile,
nonFilteredFileExtensions, new StubMavenSession() );
- assertFiltering( baseDir, initialImageFile );
+ assertFiltering( baseDir, initialImageFile, false );
}
public void testWithMavenResourcesExecution()
@@ -130,12 +130,12 @@
mavenProject, null, filtersFile,
nonFilteredFileExtensions,
new StubMavenSession() );
-
+ mavenResourcesExecution.setEscapeString( "\\" );
mavenResourcesFiltering.filterResources( mavenResourcesExecution );
- assertFiltering( baseDir, initialImageFile );
+ assertFiltering( baseDir, initialImageFile, true );
}
- private void assertFiltering( File baseDir, File initialImageFile )
+ private void assertFiltering( File baseDir, File initialImageFile, boolean escapeTest )
throws Exception
{
assertEquals( 7, outputDirectory.listFiles().length );
@@ -158,9 +158,11 @@
assertEquals( System.getProperty( "user.dir" ), result.getProperty( "userDir" ) );
assertEquals( System.getProperty( "java.version" ), result.getProperty( "javaVersion" ) );
- assertEquals("${java.version}", result.getProperty( "escapeJavaVersion" ));
- assertEquals("@user.dir@", result.getProperty( "escapeuserDir" ));
-
+ if ( escapeTest )
+ {
+ assertEquals( "${java.version}", result.getProperty( "escapeJavaVersion" ) );
+ assertEquals( "@user.dir@", result.getProperty( "escapeuserDir" ) );
+ }
assertEquals( baseDir.toString(), result.get( "base" ) );
assertEquals( new File( baseDir.toString() ).getPath(), new File( result.getProperty( "base" ) ).getPath() );
@@ -208,12 +210,11 @@
mavenResourcesExecution.addFilerWrapper( new MavenProjectValueSource( mavenProject, true ), "\\@", "(.+?)\\@", "@", "@" );
mavenResourcesFiltering.filterResources( mavenResourcesExecution );
-
Properties result = PropertyUtils
.loadPropertyFile( new File( outputDirectory, "maven-resources-filtering.txt" ), null );
assertFalse( result.isEmpty() );
assertEquals( mavenProject.getName(), result.get( "pomName" ) );
- assertFiltering( baseDir, initialImageFile );
+ assertFiltering( baseDir, initialImageFile, false );
}
public void testNoFiltering()