Details
-
Type:
New Feature
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 2.0.9
-
Fix Version/s: 2.1.0, 3.0-alpha-3
-
Component/s: Artifacts and Repositories, Inheritance and Interpolation
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
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 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
baseurl = new File( basedir ).toURI().toString()
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.
Issue Links
- relates to
-
MINVOKER-73
Support filter token @baseurl@
-
implemented, leaving open until I add docs