-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