Author: brett
Date: Mon May 2 00:22:18 2005
New Revision: 165597
URL: http://svn.apache.org/viewcvs?rev=165597&view=rev
Log:
fix bad expression handling
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=165597&r1=165596&r2=165597&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
(original)
+++
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
Mon May 2 00:22:18 2005
@@ -193,7 +193,7 @@
context.getLog().warn( "DEPRECATED: use ${} to delimit expressions
instead of # for '" + expr + "'" );
expr = expr.substring( 1 );
}
- else if ( expr.startsWith( "${" ) && expr.endsWith( "}" ) )
+ else if ( expr.startsWith( "${" ) && expr.indexOf( "}" ) ==
expr.length() - 1 )
{
expr = expr.substring( 2, expr.length() - 1 );
}
Modified:
maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
URL:
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java?rev=165597&r1=165596&r2=165597&view=diff
==============================================================================
---
maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
(original)
+++
maven/components/trunk/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
Mon May 2 00:22:18 2005
@@ -45,13 +45,6 @@
{
String expected = getTestFile( "target/test-classes/target/classes"
).getCanonicalPath();
- ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout)
lookup( ArtifactRepositoryLayout.ROLE,
-
"legacy" );
-
- ArtifactRepository repo = new ArtifactRepository( "local", "here",
repoLayout );
-
- PlexusContainer container = getContainer();
-
Build build = new Build();
build.setDirectory( expected.substring( 0, expected.length() -
"/classes".length() ) );
@@ -61,9 +54,7 @@
MavenProject project = new MavenProject( model );
project.setFile( new File( "pom.xml" ).getCanonicalFile() );
- MavenSession session = createSession( project, container, repo );
-
- ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
+ ExpressionEvaluator expressionEvaluator = createExpressionEvaluator(
project );
Object value = expressionEvaluator.evaluate(
"${project.build.directory}/classes" );
String actual = new File( value.toString() ).getCanonicalPath();
@@ -88,7 +79,7 @@
ArtifactRepository repo = new ArtifactRepository( "test",
"http://www.test.com", repoLayout );
PlexusContainer container = getContainer();
- MavenSession session = createSession( new MavenProject(new Model()),
container, repo );
+ MavenSession session = createSession( createDefaultProject(),
container, repo );
ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
@@ -98,17 +89,47 @@
public void testLocalRepositoryExtraction()
throws Exception
{
+ ExpressionEvaluator expressionEvaluator = createExpressionEvaluator(
createDefaultProject() );
+ Object value = expressionEvaluator.evaluate( "${localRepository}" );
+
+ assertEquals( "local", ( (ArtifactRepository) value ).getId() );
+ }
+
+ public void testTwoExpressions()
+ throws Exception
+ {
+ Build build = new Build();
+ build.setDirectory( "expected-directory" );
+ build.setFinalName( "expected-finalName" );
+
+ Model model = new Model();
+ model.setBuild( build );
+
+
+ ExpressionEvaluator expressionEvaluator = createExpressionEvaluator(
new MavenProject( model ) );
+
+ Object value = expressionEvaluator.evaluate(
"${project.build.directory}/${project.build.finalName}" );
+
+ assertEquals( "expected-directory/expected-finalName", value );
+ }
+
+ private MavenProject createDefaultProject()
+ {
+ return new MavenProject( new Model() );
+ }
+
+ private ExpressionEvaluator createExpressionEvaluator( MavenProject
project )
+ throws Exception
+ {
ArtifactRepositoryLayout repoLayout = (ArtifactRepositoryLayout)
lookup( ArtifactRepositoryLayout.ROLE,
"legacy" );
ArtifactRepository repo = new ArtifactRepository( "local",
"target/repo", repoLayout );
PlexusContainer container = getContainer();
- MavenSession session = createSession( new MavenProject(new Model()),
container, repo );
+ MavenSession session = createSession( project, container, repo );
ExpressionEvaluator expressionEvaluator = new
PluginParameterExpressionEvaluator( session, null );
- Object value = expressionEvaluator.evaluate( "${localRepository}" );
-
- assertEquals( "local", ( (ArtifactRepository) value ).getId() );
+ return expressionEvaluator;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]