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