Author: evenisse
Date: Tue Jan 10 12:39:07 2006
New Revision: 367783

URL: http://svn.apache.org/viewcvs?rev=367783&view=rev
Log:
escape all backslashes if output file is a properties file. Useful under 
windows.

Modified:
    
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ReflectionProperties.java
    
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java

Modified: 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ReflectionProperties.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ReflectionProperties.java?rev=367783&r1=367782&r2=367783&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ReflectionProperties.java
 (original)
+++ 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ReflectionProperties.java
 Tue Jan 10 12:39:07 2006
@@ -17,6 +17,7 @@
  */
 
 import org.apache.maven.project.MavenProject;
+import org.codehaus.plexus.util.StringUtils;
 import org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
 
 import java.util.Properties;
@@ -32,10 +33,15 @@
 
     private MavenProject project;
 
-    public ReflectionProperties( MavenProject aProject ) 
+    boolean escapedBackslashesInFilePath;
+
+    public ReflectionProperties( MavenProject aProject, boolean 
escapedBackslashesInFilePath ) 
     {
        super();
-       project = aProject; 
+
+       project = aProject;
+
+       this.escapedBackslashesInFilePath = escapedBackslashesInFilePath;
     }
     
     public Object get( Object key )
@@ -44,6 +50,11 @@
         try 
         {
             value = ReflectionValueExtractor.evaluate( "" + key , project );
+
+            if ( escapedBackslashes && value != null && 
"java.lang.String".equals( value.getClass().getName() ) )
+            {
+                value = StringUtils.replace( (String)value, "\\", "\\\\" );
+            }
         }
         catch ( Exception e ) 
         {

Modified: 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
URL: 
http://svn.apache.org/viewcvs/maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java?rev=367783&r1=367782&r2=367783&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-resources-plugin/src/main/java/org/apache/maven/plugin/resources/ResourcesMojo.java
 Tue Jan 10 12:39:07 2006
@@ -255,7 +255,14 @@
                 // support @token@
                 reader = new InterpolationFilterReader( reader, 
filterProperties, "@", "@" );
 
-                reader = new InterpolationFilterReader( reader, new 
ReflectionProperties( project ), "${", "}" );
+                boolean isPropertiesFile = false;
+
+                if ( to.isFile() && to.getName().endsWith( ".properties" ) )
+                {
+                    isPropertiesFile = true;
+                }
+
+                reader = new InterpolationFilterReader( reader, new 
ReflectionProperties( project, isPropertiesFile ), "${", "}" );
 
                 IOUtil.copy( reader, fileWriter );
             }


Reply via email to