Support property ${baseurl} to get RFC-compliant URL of project base directory
------------------------------------------------------------------------------

                 Key: MNG-3760
                 URL: http://jira.codehaus.org/browse/MNG-3760
             Project: Maven 2
          Issue Type: New Feature
          Components: Artifacts and Repositories, Inheritance and Interpolation
    Affects Versions: 2.0.9
            Reporter: Benjamin Bentmann
            Priority: Minor


If people currently need a URL to their project base directory or any file 
within, they need to write {{file://$\{basedir}}/}}. The problem about this 
approach is that it doesn't deliver a [RFC-compliant 
URL|http://tools.ietf.org/html/rfc3986] since characters are not properly 
percent-encoded. Also, the exact number of slashes between {{file:}}  and 
{{${basedir}}} depends on the OS (e.g. {{file:///C:/user/}} and 
{{file:///home/user}}, Unix paths have a leading slash by themselves, Windows 
not). This makes it currently impossible to configure plugins that expect a URL 
as input and do strict URL parsing.

For this reason, I suggest to support an additional property {{${baseurl}}} 
with the value
{code:java}
  baseurl = new File( basedir ).toURI().toString()
{code}
for POM interpolation.

Some day, when Maven/Wagon itself handle percent-encoded {{file:}} URLs 
correctly (WAGON-111), this property could also be used to define local 
deployment repos like we commonly use for testing.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to