Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0.2
    • Fix Version/s: 2.2
    • Labels:
      None
    • Environment:
      Ubuntu 8.10, JDK 6.
    • Flags:
      Patch

      Description

      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.

        Attachments

        1. maven-6647998-test.zip
          8 kB
          Jesse Glick
        2. MCOMPILER-98.diff
          3 kB
          Jesse Glick

          Issue Links

            Activity

              People

              • Assignee:
                mkleint Milos Kleint
                Reporter:
                jglick Jesse Glick
              • Votes:
                8 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: