-sourcepath not passed to javac
-------------------------------

                 Key: MCOMPILER-98
                 URL: http://jira.codehaus.org/browse/MCOMPILER-98
             Project: Maven 2.x Compiler Plugin
          Issue Type: Bug
    Affects Versions: 2.0.2
         Environment: Ubuntu 8.10, JDK 6.
            Reporter: Jesse Glick
            Priority: Critical
         Attachments: maven-6647998-test.zip

JavacCompiler.java (actually in plexus-compiler-javac, but I cannot find the 
source project for this anywhere) has

        List sourceLocations = config.getSourceLocations();
        if ( sourceLocations != null && !sourceLocations.isEmpty() && ( 
sourceFiles.length == 0 ) )
        {
            args.add( "-sourcepath" );

            args.add( getPathString( sourceLocations ) );
        }

The sourceFiles.length == 0 clause should be deleted. The problem is that javac 
really does need to have -sourcepath even when you are passing an explicit list 
of *.java files; it is necessary for 269-compliant annotation processors:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6647998

Following is a patch which

1. Fixes diagnostics to print compiler arguments even for unforked mode. (javac 
is still run with a command line when unforked, so there is no reason to omit 
this valuable diagnostic info.)

2. Hacks maven-compiler-plugin to work around the bug in plexus-compiler-javac 
and pass -sourcepath. Obviously a fix to p-c-j would be preferable.

When applied to m-c-p 2.0.2 it allows the test case to build.

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