brett 2005/04/14 22:29:00
Modified: maven-core/src/main/java/org/apache/maven/plugin
DefaultPluginManager.java
PluginParameterExpressionEvaluator.java
maven-core/src/test/java/org/apache/maven/plugin
PluginParameterExpressionEvaluatorTest.java
Log:
allow the expression evaluator to align strings to a base directory, for the
purposes of the file converter
Revision Changes Path
1.81 +7 -10
maven-components/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
Index: DefaultPluginManager.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- DefaultPluginManager.java 15 Apr 2005 04:52:30 -0000 1.80
+++ DefaultPluginManager.java 15 Apr 2005 05:29:00 -0000 1.81
@@ -395,7 +395,7 @@
configuration = mergeConfiguration( configuration,
mojoDescriptor.getConfiguration() );
- PluginParameterExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session );
+ ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, pathTranslator );
try
{
if ( newMojoTechnique )
@@ -577,6 +577,12 @@
for ( Iterator i = map.keySet().iterator(); i.hasNext(); )
{
String key = (String) i.next();
+
+ if ( configuration.getChild( key ) != null )
+ {
+ continue;
+ }
+
Object value = map.get( key );
if ( value != null )
@@ -684,15 +690,6 @@
throw new PluginConfigurationException(
createPluginParameterRequiredMessage( goal, parameter ) );
}
- String type = parameter.getType();
-
- // TODO: remove - done via plexus configuration, but need to
inject the base directory into it
- if ( type != null && ( type.equals( "File" ) || type.equals(
"java.io.File" ) ) )
- {
- value = pathTranslator.alignToBaseDirectory( (String) value,
-
session.getProject().getFile().getParentFile() );
- }
-
map.put( key, value );
}
return map;
1.15 +14 -2
maven-components/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
Index: PluginParameterExpressionEvaluator.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- PluginParameterExpressionEvaluator.java 15 Apr 2005 04:52:30 -0000
1.14
+++ PluginParameterExpressionEvaluator.java 15 Apr 2005 05:29:00 -0000
1.15
@@ -17,11 +17,14 @@
*/
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.util.introspection.ReflectionValueExtractor;
import
org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
import
org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
import
org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+import java.io.File;
+
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
* @version $Id$
@@ -30,11 +33,14 @@
public class PluginParameterExpressionEvaluator
implements ExpressionEvaluator
{
+ private final PathTranslator pathTranslator;
+
private final MavenSession context;
- public PluginParameterExpressionEvaluator( MavenSession context )
+ public PluginParameterExpressionEvaluator( MavenSession context,
PathTranslator pathTranslator )
{
this.context = context;
+ this.pathTranslator = pathTranslator;
}
public Object evaluate( String expression )
@@ -165,5 +171,11 @@
return value;
}
+ public File alignToBaseDirectory( File file )
+ {
+ File basedir = context.getProject().getFile().getParentFile();
+ return new File( pathTranslator.alignToBaseDirectory(
file.getPath(), basedir ) );
+ }
+
}
1.11 +3 -3
maven-components/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
Index: PluginParameterExpressionEvaluatorTest.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- PluginParameterExpressionEvaluatorTest.java 15 Apr 2005 04:52:30
-0000 1.10
+++ PluginParameterExpressionEvaluatorTest.java 15 Apr 2005 05:29:00
-0000 1.11
@@ -62,7 +62,7 @@
new
DefaultEventDispatcher(), new DefaultLog( container.getLogger() ),
Collections.EMPTY_LIST );
- ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session );
+ ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
Object value = expressionEvaluator.evaluate(
"#project.build.directory/classes" );
String actual = new File( value.toString() ).getCanonicalPath();
@@ -90,7 +90,7 @@
new
DefaultEventDispatcher(), new DefaultLog( container.getLogger() ),
Collections.EMPTY_LIST );
- ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session );
+ ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
Object value = expressionEvaluator.evaluate( role );
assertNotNull( value );
@@ -111,7 +111,7 @@
new
DefaultEventDispatcher(), new DefaultLog( container.getLogger() ),
Collections.EMPTY_LIST );
- ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session );
+ ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
Object value = expressionEvaluator.evaluate( "#localRepository" );
assertEquals( "local", ( (ArtifactRepository) value ).getId() );