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/06 23:27:37 UTC
svn commit: r692742 - in /maven/shared/trunk/maven-filtering/src:
main/java/org/apache/maven/shared/filtering/
test/java/org/apache/maven/shared/filtering/
test/units-files/maven-resources-filtering/
Author: olamy
Date: Sat Sep 6 14:27:37 2008
New Revision: 692742
URL: http://svn.apache.org/viewvc?rev=692742&view=rev
Log:
[MSHARED-60] Filtering ${foo.file} evaluates to in full path to pom.xml
Modified:
maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenProjectValueSource.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
maven/shared/trunk/maven-filtering/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt
Modified: maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenProjectValueSource.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenProjectValueSource.java?rev=692742&r1=692741&r2=692742&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenProjectValueSource.java (original)
+++ maven/shared/trunk/maven-filtering/src/main/java/org/apache/maven/shared/filtering/MavenProjectValueSource.java Sat Sep 6 14:27:37 2008
@@ -39,6 +39,8 @@
private MavenProject project;
private boolean escapedBackslashesInFilePath;
+
+ private MavenResourcesExecution mavenResourcesExecution;
public MavenProjectValueSource( MavenProject mavenProject )
{
@@ -47,13 +49,24 @@
public MavenProjectValueSource( MavenProject mavenProject, boolean escapedBackslashesInFilePath )
{
- super();
project = mavenProject;
this.escapedBackslashesInFilePath = escapedBackslashesInFilePath;
}
+
+ public MavenProjectValueSource( MavenProject mavenProject, boolean escapedBackslashesInFilePath,
+ MavenResourcesExecution mavenResourcesExecution )
+ {
+ super();
+
+ project = mavenProject;
+
+ this.escapedBackslashesInFilePath = escapedBackslashesInFilePath;
+
+ this.mavenResourcesExecution = mavenResourcesExecution;
+ }
public Object getValue( String expression )
{
@@ -65,7 +78,7 @@
Object value = null;
try
{
- value = ReflectionValueExtractor.evaluate( "" + expression, project );
+ value = ReflectionValueExtractor.evaluate( "" + expression, project, IsProjectExpression( expression ) );
if ( escapedBackslashesInFilePath && value != null
&& "java.lang.String".equals( value.getClass().getName() ) )
@@ -87,4 +100,18 @@
}
return value;
}
+
+ private boolean IsProjectExpression( String key )
+ {
+ if ( StringUtils.isEmpty( key ) )
+ {
+ return false;
+ }
+ if ( mavenResourcesExecution != null )
+ {
+ return mavenResourcesExecution.getProjectStartExpressions().contains( key );
+ }
+ // we use default values here
+ return ( key.startsWith( "project." ) || key.startsWith( "pom." ) );
+ }
}
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=692742&r1=692741&r2=692742&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 Sat Sep 6 14:27:37 2008
@@ -62,10 +62,18 @@
private boolean useDefaultFilterWrappers = false;
+ /**
+ * List of String considered as expressions which contains values in the project/pom : pom project
+ * default value will be pom and project.
+ *
+ */
+ private List projectStartExpressions = new ArrayList();
+
public MavenResourcesExecution()
{
- // nothing here just add an empty constructor for java bean convention
+ projectStartExpressions.add( "pom" );
+ projectStartExpressions.add( "project" );
}
/**
@@ -81,6 +89,7 @@
public MavenResourcesExecution( List resources, File outputDirectory, MavenProject mavenProject, String encoding,
List fileFilters, List nonFilteredFileExtensions, MavenSession mavenSession )
{
+ this();
this.resources = resources;
this.outputDirectory = outputDirectory;
this.mavenProject = mavenProject;
@@ -95,6 +104,7 @@
public MavenResourcesExecution( List resources, File outputDirectory, String encoding, List filterWrappers,
File resourcesBaseDirectory, List nonFilteredFileExtensions )
{
+ this();
this.resources = resources;
this.outputDirectory = outputDirectory;
this.encoding = encoding;
@@ -273,5 +283,15 @@
{
this.useDefaultFilterWrappers = useDefaultFilterWrappers;
}
+
+ public List getProjectStartExpressions()
+ {
+ return projectStartExpressions;
+ }
+
+ public void setProjectStartExpressions( List projectStartExpressions )
+ {
+ this.projectStartExpressions = projectStartExpressions;
+ }
}
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=692742&r1=692741&r2=692742&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 Sat Sep 6 14:27:37 2008
@@ -148,7 +148,8 @@
assertEquals( "1.0", result.get( "version" ) );
assertEquals( "org.apache", result.get( "groupId" ) );
assertEquals( "bar", result.get( "foo" ) );
-
+ assertEquals( "${foo.version}", result.get( "fooVersion" ) );
+
assertEquals( "@@", result.getProperty( "emptyexpression" ) );
assertEquals( "${}", result.getProperty( "emptyexpression2" ) );
assertEquals( System.getProperty( "user.dir" ), result.getProperty( "userDir" ) );
Modified: maven/shared/trunk/maven-filtering/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-filtering/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt?rev=692742&r1=692741&r2=692742&view=diff
==============================================================================
--- maven/shared/trunk/maven-filtering/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt (original)
+++ maven/shared/trunk/maven-filtering/src/test/units-files/maven-resources-filtering/maven-resources-filtering.txt Sat Sep 6 14:27:37 2008
@@ -25,4 +25,5 @@
emptyexpression=@@
emptyexpression2=${}
javaVersion=${java.version}
-pomName=@pom.name@
\ No newline at end of file
+pomName=@pom.name@
+fooVersion=${foo.version}
\ No newline at end of file