Author: dennisl
Date: Sun Jan  9 17:44:39 2011
New Revision: 1056985

URL: http://svn.apache.org/viewvc?rev=1056985&view=rev
Log:
[MRRESOURCES-46] project.properties not default provided to velocity for 
interpolation
Submitted by: jieryn
Reviewed by: Dennis Lundberg

o Patch applied with modifications.  Thanks!

Added:
    
maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm
   (with props)
Modified:
    
maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
    
maven/plugins/trunk/maven-remote-resources-plugin/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java

Modified: 
maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java?rev=1056985&r1=1056984&r2=1056985&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
 (original)
+++ 
maven/plugins/trunk/maven-remote-resources-plugin/src/main/java/org/apache/maven/plugin/resources/remote/ProcessRemoteResourcesMojo.java
 Sun Jan  9 17:44:39 2011
@@ -96,6 +96,7 @@ import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 import java.util.TreeMap;
 
@@ -301,6 +302,14 @@ public class ProcessRemoteResourcesMojo
     private Map<String, String> properties = new HashMap<String, String>();
 
     /**
+     * Whether to include properties defined in the project when filtering 
resources.
+     *
+     * @parameter default-value="false"
+     * @since 1.2
+     */
+    protected boolean includeProjectProperties = false;
+    
+    /**
      * The list of resources defined for the project.
      *
      * @parameter expression="${project.resources}"
@@ -478,6 +487,15 @@ public class ProcessRemoteResourcesMojo
         locator.addSearchPath( "url", "" );
         locator.setOutputDirectory( new File( 
project.getBuild().getDirectory() ) );
 
+        if ( includeProjectProperties )
+        {
+            final Properties projectProperties = project.getProperties();
+            for ( Object key : projectProperties.keySet() )
+            {
+                properties.put( key.toString(), projectProperties.get( key 
).toString() );
+            }
+        }
+
         ClassLoader origLoader = 
Thread.currentThread().getContextClassLoader();
         try
         {

Modified: 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java?rev=1056985&r1=1056984&r2=1056985&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
 (original)
+++ 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/java/org/apache/maven/plugin/resources/remote/RemoteResourcesMojoTest.java
 Sun Jan  9 17:44:39 2011
@@ -257,6 +257,42 @@ public class RemoteResourcesMojoTest
         assertTrue( data.indexOf( "default-filterbundles" ) != -1 );
     }
 
+    public void testFilteredBundlesWithProjectProperties()
+      throws Exception
+    {
+        final MavenProjectResourcesStub project = createTestProject( 
"default-filterbundles-two" );
+        final ProcessRemoteResourcesMojo mojo =
+            lookupProcessMojoWithSettings( project, new 
String[]{"test-filtered-bundles:test-filtered-bundles:2"} );
+
+        mojo.includeProjectProperties = true;
+        setupDefaultProject( project );
+
+        project.addProperty( "testingPropertyOne", "maven" );
+        project.addProperty( "testingPropertyTwo", "rules" );
+
+        ArtifactRepository repo = (ArtifactRepository) 
getVariableValueFromObject( mojo, "localRepository" );
+        String path = repo.pathOf( new DefaultArtifact( 
"test-filtered-bundles", "test-filtered-bundles",
+                                                        
VersionRange.createFromVersion( "2" ), null, "jar", "",
+                                                        new 
DefaultArtifactHandler() ) );
+
+        File file = new File( repo.getBasedir() + "/" + path + ".jar" );
+        file.getParentFile().mkdirs();
+        buildResourceBundle( "default-filterbundles-two-create", null, new 
String[]{"PROPERTIES.txt.vm"}, file );
+
+        mojo.execute();
+        // executing a second time (example: forked lifecycle) should still 
work
+        mojo.execute();
+
+        file = (File) getVariableValueFromObject( mojo, "outputDirectory" );
+        file = new File( file, "PROPERTIES.txt" );
+
+        assertTrue( file.exists() );
+
+        String data = FileUtils.fileRead( file );
+        assertTrue( data.indexOf( "maven" ) != -1 );
+        assertTrue( data.indexOf( "rules" ) != -1 );
+    }
+
     protected void buildResourceBundle( String id,
                                        String sourceEncoding,
                                        String resourceNames[],

Added: 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm?rev=1056985&view=auto
==============================================================================
--- 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm
 (added)
+++ 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm
 Sun Jan  9 17:44:39 2011
@@ -0,0 +1,3 @@
+Some filtered text:
+${testingPropertyOne}
+${testingPropertyTwo}

Propchange: 
maven/plugins/trunk/maven-remote-resources-plugin/src/test/resources/PROPERTIES.txt.vm
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to