You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2009/01/29 03:37:07 UTC
svn commit: r738719 - in
/maven/components/branches/maven-2.1.x/maven-project/src:
main/java/org/apache/maven/project/interpolation/
test/java/org/apache/maven/project/interpolation/
Author: brett
Date: Thu Jan 29 02:37:06 2009
New Revision: 738719
URL: http://svn.apache.org/viewvc?rev=738719&view=rev
Log:
[MNG-3760] add the ${project.baseUri} expression
Modified:
maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java
Modified: maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java?rev=738719&r1=738718&r2=738719&view=diff
==============================================================================
--- maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java (original)
+++ maven/components/branches/maven-2.1.x/maven-project/src/main/java/org/apache/maven/project/interpolation/AbstractStringBasedModelInterpolator.java Thu Jan 29 02:37:06 2009
@@ -235,16 +235,27 @@
{
return projectDir.getAbsolutePath();
}
-
return null;
}
},
PROJECT_PREFIXES, true );
+ ValueSource baseUriValueSource = new PrefixedValueSourceWrapper( new AbstractValueSource( false ){
+ public Object getValue( String expression )
+ {
+ if ( projectDir != null && "baseUri".equals( expression ) )
+ {
+ return projectDir.getAbsoluteFile().toURI().toString();
+ }
+ return null;
+ }
+ },
+ PROJECT_PREFIXES, false );
- List valueSources = new ArrayList( 8 );
+ List valueSources = new ArrayList( 9 );
// NOTE: Order counts here!
valueSources.add( basedirValueSource );
+ valueSources.add( baseUriValueSource );
valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), timestampFormat ) );
valueSources.add( modelValueSource1 );
valueSources.add( new MapBasedValueSource( config.getUserProperties() ) );
Modified: maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java?rev=738719&r1=738718&r2=738719&view=diff
==============================================================================
--- maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java (original)
+++ maven/components/branches/maven-2.1.x/maven-project/src/test/java/org/apache/maven/project/interpolation/AbstractModelInterpolatorTest.java Thu Jan 29 02:37:06 2009
@@ -59,7 +59,9 @@
{
super.setUp();
- context = Collections.singletonMap( "basedir", "myBasedir" );
+ context = new HashMap();
+ context.put( "basedir", "myBasedir" );
+ context.put( "project.baseUri", "myBaseUri" );
}
public void testDefaultBuildTimestampFormatShouldParseTimeIn24HourFormat()
@@ -260,6 +262,26 @@
assertEquals( "file://localhost/myBasedir/temp-repo", ( (Repository) out.getRepositories().get( 0 ) ).getUrl() );
}
+ public void testBaseUri()
+ throws Exception
+ {
+ Model model = new Model();
+ model.setVersion( "3.8.1" );
+ model.setArtifactId( "foo" );
+
+ Repository repository = new Repository();
+
+ repository.setUrl( "${project.baseUri}/temp-repo" );
+
+ model.addRepository( repository );
+
+ ModelInterpolator interpolator = createInterpolator();
+
+ Model out = interpolator.interpolate( model, context );
+
+ assertEquals( "myBaseUri/temp-repo", ( (Repository) out.getRepositories().get( 0 ) ).getUrl() );
+ }
+
public void testEnvars()
throws Exception
{