Author: jdcasey
Date: Mon Sep 8 18:52:34 2008
New Revision: 693339
URL: http://svn.apache.org/viewvc?rev=693339&view=rev
Log:
[MNG-3747] Adding prefixed-expression awareness to the pathTranslating post
processor for interpolation, to ensure project.build.directory is translated in
addition to build.directory.
Modified:
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/PathTranslatingPostProcessor.java
Modified:
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java?rev=693339&r1=693338&r2=693339&view=diff
==============================================================================
---
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
(original)
+++
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
Mon Sep 8 18:52:34 2008
@@ -264,7 +264,7 @@
protected List createPostProcessors( final Model model, final File
projectDir, final ProjectBuilderConfiguration config )
{
- return Collections.singletonList( new PathTranslatingPostProcessor(
TRANSLATED_PATH_EXPRESSIONS, projectDir, pathTranslator ) );
+ return Collections.singletonList( new PathTranslatingPostProcessor(
PROJECT_PREFIXES, TRANSLATED_PATH_EXPRESSIONS, projectDir, pathTranslator ) );
}
protected String interpolateInternal( String src, List valueSources, List
postProcessors, boolean debug )
Modified:
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/PathTranslatingPostProcessor.java
URL:
http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/PathTranslatingPostProcessor.java?rev=693339&r1=693338&r2=693339&view=diff
==============================================================================
---
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/PathTranslatingPostProcessor.java
(original)
+++
maven/components/branches/maven-2.1.0-M1-RC/maven-project/src/main/java/org/apache/maven/project/interpolation/PathTranslatingPostProcessor.java
Mon Sep 8 18:52:34 2008
@@ -23,6 +23,7 @@
import org.codehaus.plexus.interpolation.AbstractFunctionValueSourceWrapper;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
import org.codehaus.plexus.interpolation.ValueSource;
+import org.codehaus.plexus.interpolation.util.ValueSourceUtils;
import java.io.File;
import java.util.List;
@@ -38,9 +39,11 @@
private final List unprefixedPathKeys;
private final File projectDir;
private final PathTranslator pathTranslator;
+ private final List expressionPrefixes;
- public PathTranslatingPostProcessor( List unprefixedPathKeys, File
projectDir, PathTranslator pathTranslator )
+ public PathTranslatingPostProcessor( List expressionPrefixes, List
unprefixedPathKeys, File projectDir, PathTranslator pathTranslator )
{
+ this.expressionPrefixes = expressionPrefixes;
this.unprefixedPathKeys = unprefixedPathKeys;
this.projectDir = projectDir;
this.pathTranslator = pathTranslator;
@@ -49,6 +52,8 @@
public Object execute( String expression,
Object value )
{
+ expression = ValueSourceUtils.trimPrefix( expression,
expressionPrefixes, true );
+
if ( projectDir != null && value != null &&
unprefixedPathKeys.contains( expression ) )
{
return pathTranslator.alignToBaseDirectory( String.valueOf( value
), projectDir );