Uploaded image for project: 'Maven Compiler Plugin'
  1. Maven Compiler Plugin
  2. MCOMPILER-202

Plugin dependencies not added to compiler classpath with javax.tools.Compiler

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.0
    • None
    • None
    • Maven 3.0.4, Ubuntu 12.10, OpenJDK 6u27 (Ubuntu package), OpenJDK 7u15 (Ubuntu package), Oracle JDK 6u27, Oracle JDK 8 (1.8.0-ea-b81)

    Description

      Dependencies added to the maven-compiler-plugin used to be added to the compiler classpath with previous versions (tested with 2.4, 2.5 and 2.5.1) but no longer are with 3.0. This was very useful for annotation processors, that shouldn't affect dependency mediation in downstream projects.

      This seems to be due to the switch to javax.tools as setting forceJavacCompilerUse to true works around the issue.

      To reproduce:

      1. clone https://github.com/square/dagger/
      2. edit examples/simple/pom.xml and move the dagger-compiler dependency into the maven-compiler-plugin, and set the m-c-p version to 3.0
      3. mvn package

      Expected behavior:
      sources should be generated into target/generated-sources/annotations and there should be xxx$InjectAdapter and xxx$ModuleAdapter classes in target/classes.

      Now change the m-c-p version to 2.5.1 or set forceJavacCompilerUse to true: behavior is as expected.

      Ideally, we'd want MCOMPILER-134 with an explicit processorpath.

      See also the discussion at https://github.com/square/dagger/pull/182 which lead me to create this issue.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              t.broyer Thomas Broyer
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: