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 2011/01/09 18:44:40 UTC

svn commit: r1056985 - in /maven/plugins/trunk/maven-remote-resources-plugin/src: main/java/org/apache/maven/plugin/resources/remote/ test/java/org/apache/maven/plugin/resources/remote/ test/resources/

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