Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: maven-doxia-tools-1.0
-
Component/s: maven-doxia-tools
-
Labels:None
-
Testcase included:yes
-
Patch Submitted:Yes
-
Number of attachments :
Description
The algo in AbstractSiteMojo.getRelativePath() assumes that its input paths are both normalized and produces wrong output if it gets something like "dir/../dir". Attached is a simple unit test and a fix for the method itself.
FYI, non-normalized path are easily created by Maven if one has a non-Maven-like directory layout with
project/
project-parent/
project-module-1/
where simple string/path concatenation produces a path like "project/project-module-1/../project-parent" when referencing the parent POM from the module POM.
Path/URL transformations like normalization/relativization/resolution are quite ubiquitous in Maven. Isn't there a nice util class around that prevents each and every plugin developer to reimplement those error-prone methods?
The patch has been modified and applied to maven-doxia-tools, where this code now resides. Thanks!
Please check r640091 that everything looks OK.