Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical 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.

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

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development