Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Struggling to compile java code with annotation processor produced generated-sources/ #335

Closed
Infiniverse opened this issue Sep 3, 2017 · 15 comments

Comments

@Infiniverse
Copy link

I've just started using groovy-eclipse-batch (with maven) for a project that also uses a java framework that makes use of an annotation processor to precompile some java classes.

Until now we've been using GMavenPlus. Switching to groovy-batch appears to work with a clean target directory, but when I run 'mvn compile' a second time it complains about classes in the generated-sources/ that were generated by an annotation processor, saying that they already exist.

Is there a simple fix for this?

The errors are of the form:

[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project truedb: Compilation failure: Compilation failure:
[ERROR] /Users/joe/Documents/code/target/generated-sources/annotations/com/truespeed/truedb/account/AccountResourceRouter.java:[28,-1]
[ERROR] 1. ERROR in /Users/joe/Documents/code/truedb-truedb/target/generated-sources/annotations/com/truespeed/truedb/account/AccountResourceRouter.java (at line 28)
[ERROR] public class AccountResourceRouter extends RestxRouter {
[ERROR] ^^^^^^^^^^^^^^^^^^^^^
[ERROR] The type AccountResourceRouter is already defined

The class AccountResourceRouter is created during compilation of my AccountResource by an annotation processor in my code base (but not my code).

How do I teach groovy-eclipse-batch not to trip up on these classes? Is there a way?

To be clear, if I run with an empty target/ directory, it works as expected; it's only the second time around that it trips up.

@eric-milles
Copy link
Member

Would you mind sharing your pom.xml?

@Infiniverse
Copy link
Author

Sure. Here it is.

<?xml version="1.0" encoding="UTF-8"?>mponents</groupId>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>truedb</groupId>
<artifactId>truedb</artifactId>/groupId>
<packaging>war</packaging>-api</artifactId>
<version>0.1-SNAPSHOT</version>ersion}</version>
<name>truedb</name>

<properties>ncy>
    <maven.compiler.plugin.version>3.6.1</maven.compiler.plugin.version>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.compiler.source>1.7</maven.compiler.source>
    </dependency>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <groupId>com.gocardless</groupId>
    <truedb-api-version>2.80-SNAPSHOT</truedb-api-version>
        <version>1.16.0</version>
    <groovy.version>2.4.12</groovy.version>
    <groovy.eclipse.compiler.version>2.9.2-01</groovy.eclipse.compiler.version>
    <groovy.eclipse.batch.version>${groovy.version}-02</groovy.eclipse.batch.version>
        <groupId>fr.opensagres.xdocreport</groupId>
    <restx.version>0.34</restx.version>eport.converter.docx.xwpf</artifactId>
    <neo4j.version>2.3.8</neo4j.version>ort-version}</version>
    <spring.data.neo4j.version>3.4.0.M1</spring.data.neo4j.version>
    <neo4j.spatial.version>0.15-neo4j-intersectAll-2.3.4</neo4j.spatial.version>
    <com.dietsodasoftware.yail-version>0.9.6</com.dietsodasoftware.yail-version>
    <fr.opensagres.xdocreport-version>1.0.5</fr.opensagres.xdocreport-version>
    <commons-validator.version>1.6</commons-validator.version>tifactId>
</properties>ion>${fr.opensagres.xdocreport-version}</version>
    </dependency>
<repositories>
    <repository>
        <id>dss-maven-repo</id>xdocreport</groupId>
        <name>Diet Soda Software Repository for YAIL</name>arker</artifactId>
        <url>http://maven.dietsodasoftware.com/maven2</url>on>
    </repository>

    <repository>
        <id>neo4j-releases</id>ion</groupId>
        <url>http://m2.neo4j.org/content/repositories/releases</url>
    </repository>1.1</version>
    <repository>>
        <id>neo4j-contrib-releases</id>
        <url>https://raw.github.com/neo4j-contrib/m2/master/releases</url>
        <releases>d>neo4j-enterprise</artifactId>
            <enabled>true</enabled>version>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>neo4j-kernel</artifactId>
    </repository>${neo4j.version}</version>
    <repository>st-jar</type>
        <id>neo4j-contrib-snapshots</id>
        <url>https://raw.github.com/neo4j-contrib/m2/master/snapshots</url>
        <releases>
            <enabled>false</enabled>
        </releases>>neo4j-io</artifactId>
        <snapshots>neo4j.version}</version>
            <enabled>true</enabled>
        </snapshots>/scope>
    </repository>
    <repository>
        <id>spring-snapshots</id>Id>
        <name>Spring Snapshots</name>factId>
        <url>http://repo.spring.io/snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>>org.neo4j</groupId>-->
    </repository>factId>neo4j-cypher-dsl</artifactId>-->
    <repository>sion>2.3.1</version>-->
        <id>spring-milestones</id>
        <name>Spring Milestones</name>
        <url>http://repo.spring.io/milestone</url>
        <snapshots>problem: http://stackoverflow.com/questions/26980240/grails-neo4j-why-is-pom-included-as-dependency
            <enabled>false</enabled>vironment.TEST) {
        </snapshots>oup:"org.neo4j.app", name:"neo4j-server", version: "$neo4jVerison", classifier:"static-web"
    </repository>("org.neo4j.app:neo4j-server:$neo4jVerison")
</repositories>
    -->
<pluginRepositories>
    <pluginRepository>
        <id>bintray</id>4j</groupId>
        <name>Groovy Bintray</name>hdb</artifactId>
        <url>https://dl.bintray.com/groovy/maven</url>
        <releases>>
            <updatePolicy>never</updatePolicy>
        </releases>g.neo4j</groupId>
        <snapshots>>neo4j-spatial</artifactId>
            <enabled>false</enabled>sion}</version>
        </snapshots>
    </pluginRepository>
</pluginRepositories>
        <groupId>net.objectlab.kit</groupId>
<build> <artifactId>datecalc-joda</artifactId>
    <plugins>ion>1.4.0</version>
        <plugin>ons>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>${maven.compiler.plugin.version}</version>
            <configuration>
                <compilerId>groovy-eclipse-compiler</compilerId>
                <verbose>true</verbose>
                <source>${maven.compiler.target}</source>
                <target>${maven.compiler.source}</target>
            </configuration>ramework.data</groupId>
            <dependencies>-data-neo4j</artifactId>
                <dependency>ta.neo4j.version}</version>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-compiler</artifactId>
                    <version>${groovy.eclipse.compiler.version}</version>
                </dependency>eo4j</artifactId>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-batch</artifactId>
                    <version>${groovy.eclipse.batch.version}</version>
                </dependency>tion</groupId>
            </dependencies>ion-api</artifactId>
        </plugin>1.1.0.Final</version>
        <plugin>>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>actId>
            <configuration>on>
                <failOnMissingWebXml>false</failOnMissingWebXml>
            </configuration>
        </plugin>org.jvnet.ogc</groupId>
        <!--<plugin>-->-tools-gml-jts</artifactId>
            <!--<groupId>org.mortbay.jetty</groupId>-->
            <!--<artifactId>jetty-maven-plugin</artifactId>-->
            <!--<version>8.1.16.v20140903</version>-->
        <!--</plugin>-->>commons-lang</groupId>
        <plugin><artifactId>commons-lang</artifactId>
            <!-- if including source jars, use the no-fork goals
                 otherwise both the Groovy sources and Java stub sources
                 will get included in your jar -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.4</version>tor</artifactId>
            <executions>ns-validator.version}</version>
                <execution>
                    <id>attach-sources</id>
                    <goals>
                        <goal>jar-no-fork</goal>
                        <goal>test-jar-no-fork</goal>
                    </goals>sion}</version>
                </execution>
            </executions>
        </plugin>groupId>org.javassist</groupId>
        <plugin><artifactId>javassist</artifactId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <useFile>false</useFile>
                <includes>/groupId>
                    <include>**/*Spec.java</include>>
                </includes>rsion}</version>
            </configuration>
        </plugin>
        <plugin>>io.restx</groupId>
            <groupId>org.apache.maven.plugins</groupId>tifactId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <executions>
                <execution>
                    <id>attach-docs</id>
                    <!--x-factory</artifactId>
                        we generate javadoc before packaging the jar to let a chance to apidocs doclet
                        to generate comments dictionary to be packaged inside the jar as a resource
                        -->
                    <phase>prepare-package</phase>
                    <goals>actory-admin</artifactId>
                        <goal>jar</goal>on>
                    </goals>
                </execution>
            </executions></groupId>
            <configuration>alidation</artifactId>
                <source>${maven.compiler.source}</source>
                <doclet>restx.apidocs.doclet.ApidocsDoclet</doclet>
                <docletArtifact>
                    <groupId>io.restx</groupId>
                    <artifactId>restx-apidocs-doclet</artifactId>
                    <version>${restx.version}</version>
                </docletArtifact>
                <additionalparam>-restx-target-dir ${project.basedir}/target/classes</additionalparam>
            </configuration>roupId>
        </plugin>Id>restx-monitor-admin</artifactId>
    </plugins>on>${restx.version}</version>
</build>pendency>
    <dependency>
<dependencies>Id>io.restx</groupId>
    <!--TODO Work out why truedbapi restx cookies don't have quotes escaped with 4.4.1!-->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.2.1</version>
    </dependency>

    <dependency>
        <groupId>com.truespeed</groupId>
        <artifactId>truedb-api</artifactId>
        <version>${truedb-api-version}</version>
    </dependency>

    <dependency>
        <groupId>com.sun.mail</groupId>
        <artifactId>javax.mail</artifactId>
        <version>1.5.4</version>
    </dependency>

    <dependency>
        <groupId>com.gocardless</groupId>
        <artifactId>gocardless-pro</artifactId>
        <version>1.16.0</version>
    </dependency>

    <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
        <version>${fr.opensagres.xdocreport-version}</version>
    </dependency>

    <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
        <version>${fr.opensagres.xdocreport-version}</version>
    </dependency>

    <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>fr.opensagres.xdocreport.template.freemarker</artifactId>
        <version>${fr.opensagres.xdocreport-version}</version>
    </dependency>

    <dependency>
        <groupId>javax.transaction</groupId>
        <artifactId>jta</artifactId>
        <version>1.1</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-enterprise</artifactId>
        <version>${neo4j.version}</version>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-kernel</artifactId>
        <version>${neo4j.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-io</artifactId>
        <version>${neo4j.version}</version>
        <type>test-jar</type>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-shell</artifactId>
        <version>${neo4j.version}</version>
    </dependency>
    <!--<dependency>-->
        <!--<groupId>org.neo4j</groupId>-->
        <!--<artifactId>neo4j-cypher-dsl</artifactId>-->
        <!--<version>2.3.1</version>-->
    <!--</dependency>-->

    <!--
    // Avoid a POM problem: http://stackoverflow.com/questions/26980240/grails-neo4j-why-is-pom-included-as-dependency
    // if (Environment.current != Environment.TEST) {
    //    compile group:"org.neo4j.app", name:"neo4j-server", version: "$neo4jVerison", classifier:"static-web"
    //    compile("org.neo4j.app:neo4j-server:$neo4jVerison")
    // }
    -->

    <!--dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-rest-graphdb</artifactId>
        <version>2.0.1</version>
    </dependency-->
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-spatial</artifactId>
        <version>${neo4j.spatial.version}</version>
    </dependency>

    <dependency>
        <groupId>net.objectlab.kit</groupId>
        <artifactId>datecalc-joda</artifactId>
        <version>1.4.0</version>
        <exclusions>
            <exclusion>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-neo4j</artifactId>
        <version>${spring.data.neo4j.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.neo4j</groupId>
                <artifactId>neo4j</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
    </dependency>
    <dependency>
        <groupId>net.sf.opencsv</groupId>
        <artifactId>opencsv</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>org.jvnet.ogc</groupId>
        <artifactId>ogc-tools-gml-jts</artifactId>
        <version>1.0.3</version>
        <exclusions>
            <exclusion>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>commons-validator</groupId>
        <artifactId>commons-validator</artifactId>
        <version>${commons-validator.version}</version>
    </dependency>

    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-core</artifactId>
        <version>${restx.version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.javassist</groupId>
                <artifactId>javassist</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-security-basic</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-core-annotation-processor</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-factory</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-factory-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-validation</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-monitor-codahale</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-monitor-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-log-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-i18n-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <!--dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-stats-admin</artifactId>
        <version>${restx.version}</version>
    </dependency-->
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-server-jetty</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-apidocs</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-specs-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-admin</artifactId>
        <version>${restx.version}</version>
    </dependency>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.0.13</version>
    </dependency>
    <dependency>
        <groupId>com.googlecode.libphonenumber</groupId>
        <artifactId>libphonenumber</artifactId>
        <version>8.7.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-io</artifactId>
        <version>1.3.2</version>
    </dependency>
    <dependency>
        <groupId>io.restx</groupId>
        <artifactId>restx-specs-tests</artifactId>
        <version>${restx.version}</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.spockframework</groupId>
        <artifactId>spock-core</artifactId>
        <version>1.0-groovy-2.4</version>
        <scope>test</scope>
    </dependency>
    <!-- Optional dependencies for using Spock -->
    <dependency> <!-- use a specific Groovy version rather than the one specified by spock-core -->
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
    </dependency>
    <dependency> <!-- enables mocking of classes (in addition to interfaces) -->
        <groupId>cglib</groupId>
        <artifactId>cglib-nodep</artifactId>
        <version>3.1</version>
        <scope>test</scope>
    </dependency>
    <dependency> <!-- enables mocking of classes without default constructor (together with CGLIB) -->
        <groupId>org.objenesis</groupId>
        <artifactId>objenesis</artifactId>
        <version>2.1</version>
        <scope>test</scope>
    </dependency>
    <dependency> <!-- only required if Hamcrest matchers are used -->
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-core</artifactId>
        <version>1.3</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>xmlunit</groupId>
        <artifactId>xmlunit</artifactId>
        <version>1.5</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-easymock</artifactId>
        <version>1.6.3</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-module-junit4</artifactId>
        <version>1.6.4</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>3.4</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.jvnet.mock-javamail</groupId>
        <artifactId>mock-javamail</artifactId>
        <version>1.9</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.reflections</groupId>
        <artifactId>reflections</artifactId>
        <version>0.9.10</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.groovy.modules.http-builder</groupId>
        <artifactId>http-builder</artifactId>
        <version>0.7.1</version>
    </dependency>
    <dependency>
        <groupId>com.dietsodasoftware</groupId>
        <artifactId>yail-XmlRpcJavaClient</artifactId>
        <version>${com.dietsodasoftware.yail-version}</version>
        <exclusions>
            <exclusion>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>org.ccil.cowan.tagsoup</groupId>
        <artifactId>tagsoup</artifactId>
        <version>1.2</version>
    </dependency>
</dependencies>
</project>

@eric-milles
Copy link
Member

Thanks. It looks like it got munged somewhat. Could you make a minimal maven project that has the annotation processor and causes the issue? You can attach as a zip file in the comment.

@eric-milles
Copy link
Member

eric-milles commented Sep 7, 2017

I believe I was able to recreate this issue for myself. I may have a workaround for you. I added the compiler option <useIncrementalCompilation>false</useIncrementalCompilation> and the error is not seen. Your builds may perform full compilation each time; I'm not sure of the full implications of using this option. But it at least let my build run successfully.

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
          <compilerId>groovy-eclipse-compiler</compilerId>
          <useIncrementalCompilation>false</useIncrementalCompilation>
        </configuration>
        <dependencies>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-compiler</artifactId>
            <version>2.9.2-01</version>
          </dependency>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-eclipse-batch</artifactId>
            <version>2.4.12-02</version>
          </dependency>
        </dependencies>
      </plugin>

@Infiniverse
Copy link
Author

Infiniverse commented Sep 7, 2017 via email

@eric-milles
Copy link
Member

Just curious, are you using Maven integration (m2eclipse)? You build test cycle should be able to run without any maven command-line interaction. This should spped up your edit-test cycle.

@Infiniverse
Copy link
Author

Infiniverse commented Sep 8, 2017 via email

@eric-milles
Copy link
Member

eric-milles commented Sep 8, 2017 via email

@Infiniverse
Copy link
Author

Infiniverse commented Sep 8, 2017 via email

@eric-milles
Copy link
Member

Can you try installing this to your local maven repository (as org.codehaus.groovy:groovy-eclipse-compiler) and then change your groovy-eclipse-compiler dependency to 2.9.2-SNAPSHOT? I think the stale file scanning should exclude the generated sources directory. But I want to be sure before publishing this to bintray.

2.9.2-SNAPSHOT.zip

@Infiniverse
Copy link
Author

Infiniverse commented Sep 11, 2017 via email

@Infiniverse
Copy link
Author

I've done a bit more testing, and it is definitely better.

But, I'm not sure how it is supposed to interact with the compiler flag.

With:

<useIncrementalCompilation>false</false>

it does much less work on subsequent compilations (2 seconds, vs 8 seconds initially).

With it set to true it appears to compile the entire code base each time.

I would have thought that it would have behaved the other way around.

@eric-milles
Copy link
Member

eric-milles commented Sep 11, 2017 via email

@irobertson
Copy link

Has there been a release of groovy-eclipse-compiler which contains this fix? If not, is there an ETA for one? We're currently using a copy of your snapshot for production builds, which makes me nervous...

@eric-milles
Copy link
Member

Latest is available for download from bintray: Download

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants