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


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