[ 
http://jira.codehaus.org/browse/MNG-5035?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=259154#action_259154
 ] 

Jesse Glick commented on MNG-5035:
----------------------------------

Right, this is in direct conflict with MNG-4464. Versionable files ought to be 
using forward slashes (as in URLs) for all relative paths but some presumably 
are not.

I found Ant's behavior to be documented, though just barely. Is Maven's 
behavior documented anywhere? 
http://maven.apache.org/guides/mini/guide-configuring-plugins.html#Mapping_Simple_Objects
 does not talk about File-valued properties except to give a single example. I 
would expect to see separators discussed. I would also expect to see what Maven 
does with relative paths - {{FileConvertor.fromString}} would imply they are 
resolved against CWD, whereas experimentation seems to say they are resolved 
against basedir (as in Ant).

> \ -> / on Unix for java.io.File-typed mojo param
> ------------------------------------------------
>
>                 Key: MNG-5035
>                 URL: http://jira.codehaus.org/browse/MNG-5035
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Plugin API
>    Affects Versions: 3.0.3
>         Environment: Ubuntu 10.04, JDK 6
>            Reporter: Jesse Glick
>            Assignee: Benjamin Bentmann
>
> I created a file {{/tmp/a\b/c}} (note backslash). I created a quickstart app 
> with
> {noformat}
>     public static void main( String[] args )
>     {
>         System.out.println( System.getProperty("user.dir") );
>         System.out.println(Arrays.toString(new File("").listFiles()));
>     }
> {noformat}
> and then run it with
> {noformat}
> mvn -Dexec.workingdir=/tmp/a\\b "-Dexec.args=-classpath %classpath ....App" 
> -Dexec.executable=.../java process-classes 
> org.codehaus.mojo:exec-maven-plugin:1.2:exec -X
> {noformat}
> I see
> {noformat}
> [DEBUG] Configuring mojo 'org.codehaus.mojo:exec-maven-plugin:1.2:exec' with 
> basic configurator -->
> [DEBUG]   (f) workingDirectory = /tmp/a/b
> [DEBUG] Making working directory '/tmp/a/b'.
> /tmp/a/b
> null
> {noformat}
> where I expected to see
> {noformat}
> [DEBUG] Configuring mojo 'org.codehaus.mojo:exec-maven-plugin:1.2:exec' with 
> basic configurator -->
> [DEBUG]   (f) workingDirectory = /tmp/a\b
> /tmp/a\b
> [/tmp/a\b/c]
> {noformat}
> I believe the guilty code is in 
> {{org.codehaus.plexus.component.configurator.converters.basic.FileConverter}}:
> {noformat}
> new File( str.replace( '\\', File.separatorChar ).replace( '/', 
> File.separatorChar ) )
> {noformat}
> should probably replace only / with \ and only on Windows. Not sure what 
> compatibility regressions there might be, if some POM written by a Windows 
> developer uses \ as the separator character for relative paths.

-- 
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