You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/03/18 20:29:19 UTC

svn commit: r755710 - in /maven/components/trunk/maven-project/src: main/java/org/apache/maven/project/processor/ test/java/org/apache/maven/project/ test/resources-project-builder/baseurl-interpolation/

Author: bentmann
Date: Wed Mar 18 19:29:18 2009
New Revision: 755710

URL: http://svn.apache.org/viewvc?rev=755710&view=rev
Log:
[MNG-3760] Support property ${baseurl} to get RFC-compliant URL of project base directory

Added:
    maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/   (with props)
    maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml   (with props)
Modified:
    maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProcessorContext.java
    maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java

Modified: maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProcessorContext.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProcessorContext.java?rev=755710&r1=755709&r2=755710&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProcessorContext.java (original)
+++ maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/processor/ProcessorContext.java Wed Mar 18 19:29:18 2009
@@ -305,6 +305,12 @@
                                                                           PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
             standardInterpolatorProperties.add( new InterpolatorProperty( "${pom.basedir}", basedir,
                                                                           PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
+
+            String baseuri = dm.getProjectDirectory().toURI().toString();
+            standardInterpolatorProperties.add( new InterpolatorProperty( "${project.baseUri}", baseuri,
+                                                                          PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
+            standardInterpolatorProperties.add( new InterpolatorProperty( "${pom.baseUri}", baseuri,
+                                                                          PomInterpolatorTag.PROJECT_PROPERTIES.name() ) );
         }
          
         for ( ModelProperty mp : modelProperties )

Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=755710&r1=755709&r2=755710&view=diff
==============================================================================
--- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java (original)
+++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Wed Mar 18 19:29:18 2009
@@ -677,7 +677,7 @@
                       new File( pom.getValue( "properties/siteOut" ).toString() ) );
     }
 
-    /* FIXME: cf. MNG-3944*/
+    /* MNG-3944*/
     public void testInterpolationOfBasedirInPomWithUnusualName()
         throws Exception
     {
@@ -951,6 +951,14 @@
         assertEquals( "org.apache.maven.its.mng4070", pom.getValue( "groupId" ) );
     }
 
+    /* MNG-3760*/
+    public void testInterpolationOfBaseUrl()
+        throws Exception
+    {
+        PomTestWrapper pom = buildPom( "baseurl-interpolation/pom.xml" );
+        assertEquals( pom.getBasedir().toURI().toString(), pom.getValue( "properties/prop1" ).toString() );
+    }
+
 
     private void assertPathWithNormalizedFileSeparators( Object value )
     {

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/
------------------------------------------------------------------------------
    bugtraq:label = Enter issue ID:

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/
------------------------------------------------------------------------------
    bugtraq:message = Issue id: %BUGID%

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/
------------------------------------------------------------------------------
    bugtraq:number = false

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/
------------------------------------------------------------------------------
    bugtraq:url = http://jira.codehaus.org/browse/%BUGID%

Added: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml?rev=755710&view=auto
==============================================================================
--- maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml (added)
+++ maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml Wed Mar 18 19:29:18 2009
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.apache.maven.its.mng3760</groupId>
+  <artifactId>test1</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>Maven Integration Test :: MNG-3760</name> 
+  <description>
+    Test interpolation of ${project.baseUri}
+  </description>
+
+  <properties>
+    <!-- this is where we collect all the interpolated values for the POM dump -->
+    <prop1>${project.baseUri}</prop1>
+  </properties>
+</project>

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/trunk/maven-project/src/test/resources-project-builder/baseurl-interpolation/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision