codejuicer / asynchronize

Java APT processor to generate an asynchronous version of interfaces
Apache License 2.0
3 stars 0 forks source link

Re-compile fails with maven-compiler-plugin 3.2 or 3.3 #7

Open cristcost opened 9 years ago

cristcost commented 9 years ago

If the maven build of an annotated project is performed without a clean, the build fails if using maven-compiler-plugin 3.2 or 3.3.

The problem depends on the incremental compilation, and recompiling triggers an exception on the JDK's javac:

An exception has occurred in the compiler (1.8.0_25). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.
java.lang.IllegalStateException: endPosTable already set
    at com.sun.tools.javac.util.DiagnosticSource.setEndPosTable(DiagnosticSource.java:136)
    ...

Currently the problem can be worked around by excluding incremental compilation in the target project's pom.xml adding the following configuration for the compiler plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <useIncrementalCompilation>false</useIncrementalCompilation>
    </configuration>
</plugin>
tbroyer commented 9 years ago

This is a Maven issue: https://issues.apache.org/jira/browse/MCOMPILER-236 I haven't investigated but it could be a duplicate of https://issues.apache.org/jira/browse/MCOMPILER-235 (where javac behavior is different between Java 7 –which errors out– and Java 8 –which crashes–) Both due to https://issues.apache.org/jira/browse/MCOMPILER-157