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