You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/04/22 06:32:36 UTC
svn commit: r164171 -
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin
/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project
/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator
/maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean
Author: brett
Date: Thu Apr 21 21:32:35 2005
New Revision: 164171
URL: http://svn.apache.org/viewcvs?rev=164171&view=rev
Log:
change expressions to use ${} instead of #
Modified:
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean/CleanPlugin.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=164171&r1=164170&r2=164171&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 Thu Apr 21 21:32:35 2005
@@ -43,22 +43,30 @@
this.pathTranslator = pathTranslator;
}
- public Object evaluate( String expression )
+ public Object evaluate( String expr )
throws ExpressionEvaluationException
{
Object value = null;
- if ( expression == null )
+ if ( expr == null )
{
- // todo : verify if it's fixed with trygvis modification in Plexus
+ // TODO: this should not have happened - previously there was a note about a fix to plexus Trygve was going to make - investigate
return null;
}
- if ( expression.startsWith( "#component" ) )
+
+ String expression = stripTokens( expr );
+ if ( expression.equals( expr ) )
+ {
+ // Was not an expression
+ return expression;
+ }
+
+ if ( expression.startsWith( "component" ) )
{
context.getLog().warn( "WARNING: plugin is using deprecated expression " + expression );
// TODO: deprecated... and can remove the lookup method in context afterwards
- String role = expression.substring( 11 );
+ String role = expression.substring( 10 );
try
{
@@ -69,20 +77,20 @@
throw new ExpressionEvaluationException( "Cannot lookup component: " + role + ".", e );
}
}
- else if ( expression.equals( "#localRepository" ) )
+ else if ( expression.equals( "localRepository" ) )
{
value = context.getLocalRepository();
}
- else if ( expression.equals( "#maven.final.name" ) )
+ else if ( expression.equals( "maven.final.name" ) )
{
// TODO: remove this alias
value = context.getProject().getBuild().getFinalName();
}
- else if ( expression.equals( "#project" ) )
+ else if ( expression.equals( "project" ) )
{
value = context.getProject();
}
- else if ( expression.startsWith( "#project" ) )
+ else if ( expression.startsWith( "project" ) )
{
try
{
@@ -106,15 +114,15 @@
e );
}
}
- else if ( "#settings".equals( expression ) )
+ else if ( "settings".equals( expression ) )
{
value = context.getSettings();
}
- else if ( expression.equals( "#basedir" ) )
+ else if ( expression.equals( "basedir" ) )
{
value = context.getProject().getBasedir().getAbsolutePath();
}
- else if ( expression.startsWith( "#basedir" ) )
+ else if ( expression.startsWith( "basedir" ) )
{
int pathSeparator = expression.indexOf( "/" );
@@ -125,50 +133,57 @@
}
else
{
- new Exception( "Got expression '" + expression + "' that was not recognised" ).printStackTrace();
+ context.getLog().error( "Got expression '" + expression + "' that was not recognised" );
}
}
- else if ( expression.startsWith( "#" ) )
+ else
{
// We will attempt to get nab a system property as a way to specify a
// parameter to a plugins. My particular case here is allowing the surefire
// plugin to run a single test so I want to specify that class on the cli
// as a parameter.
- value = System.getProperty( expression.substring( 1 ) );
+ value = System.getProperty( expression );
}
if ( value instanceof String )
{
+ // Note that we only half support nesting of expressions due to endsWith above
String val = (String) value;
int sharpSeparator = val.indexOf( "#" );
-
- if ( sharpSeparator > 0 )
+ if ( sharpSeparator < 0 )
{
- val = val.substring( 0, sharpSeparator ) + evaluate( val.substring( sharpSeparator ) );
- value = val;
+ sharpSeparator = val.indexOf( "${" );
}
- else if ( sharpSeparator > 0 )
+
+ if ( sharpSeparator >= 0 )
{
- value = evaluate( val.substring( sharpSeparator ) );
+ if ( sharpSeparator > 0 )
+ {
+ value = val.substring( 0, sharpSeparator ) + evaluate( val.substring( sharpSeparator ) );
+ }
+ else
+ {
+ value = evaluate( val.substring( sharpSeparator ) );
+ }
}
}
- // ----------------------------------------------------------------------
- // If we strike and we are not dealing with an expression then we will
- // will let the value pass through unaltered so that users can hardcode
- // literal values. Expressions that evaluate to null will be passed
- // through as null so that the validator can see the null value and
- // act in accordance with the requirements laid out in the
- // mojo descriptor.
- // ----------------------------------------------------------------------
+ return value;
+ }
- if ( value == null && expression.length() > 0 && !expression.startsWith( "#" ) )
+ private String stripTokens( String expr )
+ {
+ if ( expr.startsWith( "#" ) )
{
- value = expression;
+ context.getLog().warn( "DEPRECATED: use ${} to delimit expressions instead of # for '" + expr + "'" );
+ expr = expr.substring( 1 );
}
-
- return value;
+ else if ( expr.startsWith( "${" ) && expr.endsWith( "}" ) )
+ {
+ expr = expr.substring( 2, expr.length() - 1 );
+ }
+ return expr;
}
public File alignToBaseDirectory( File file )
Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=164171&r1=164170&r2=164171&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Thu Apr 21 21:32:35 2005
@@ -75,6 +75,7 @@
private ArtifactResolver artifactResolver;
+ // TODO: comes from Maven CORE
private ArtifactFactory artifactFactory;
private ModelInheritanceAssembler modelInheritanceAssembler;
@@ -89,6 +90,7 @@
private ModelInterpolator modelInterpolator;
+ // TODO: comes from Maven CORE
private ArtifactRepositoryFactory artifactRepositoryFactory;
private final Map modelCache = new HashMap();
@@ -265,6 +267,7 @@
if ( resolveDependencies )
{
+ // TODO: comes from Maven CORE
MavenMetadataSource sourceReader = new MavenMetadataSource( artifactResolver, this );
ArtifactResolutionResult result = artifactResolver.resolveTransitively( project.getArtifacts(),
Modified: maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java?rev=164171&r1=164170&r2=164171&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java (original)
+++ maven/components/trunk/maven-plugin-tools/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginDescriptorGenerator.java Thu Apr 21 21:32:35 2005
@@ -183,7 +183,8 @@
element( w, "validator", parameter.getValidator() );
String value = null;
- if ( parameter.getExpression().startsWith( "#component" ) )
+ if ( parameter.getExpression().startsWith( "#component." ) ||
+ parameter.getExpression().startsWith( "${component." ) )
{
requirements.add( parameter );
}
@@ -253,7 +254,18 @@
w.startElement( "requirement" );
- element( w, "role", requirement.getExpression().substring( 11 ) );
+ String role;
+ // remove "component." plus expression delimiters
+ String expression = requirement.getExpression();
+ if ( expression.startsWith( "${" ) )
+ {
+ role = expression.substring( "${component.".length(), expression.length() - 1 );
+ }
+ else
+ {
+ role = expression.substring( "#component.".length() );
+ }
+ element( w, "role", role );
element( w, "field-name", requirement.getName() );
Modified: maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean/CleanPlugin.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean/CleanPlugin.java?rev=164171&r1=164170&r2=164171&view=diff
==============================================================================
--- maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean/CleanPlugin.java (original)
+++ maven/components/trunk/maven-plugins/maven-clean-plugin/src/main/java/org/apache/maven/plugin/clean/CleanPlugin.java Thu Apr 21 21:32:35 2005
@@ -30,7 +30,7 @@
* type="String"
* required="true"
* validator=""
- * expression="#project.build.directory"
+ * expression="${project.build.directory}"
* description=""
*/
public class CleanPlugin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org