Compile using Error Prone (when using Java 8)
Move all <javac> to the <gwt.javac> preset,
remove legacy build.jvm.is1? Ant properties.
Change-Id: I3be370a153a6f783f9200592d0dc097902447a27
diff --git a/common.ant.xml b/common.ant.xml
index f3a9b6e..b77ea2a 100755
--- a/common.ant.xml
+++ b/common.ant.xml
@@ -1,4 +1,4 @@
-<project name="common">
+<project name="common" xmlns:if="ant:if">
<!-- it's okay for this not to exist, but it gives a place to store
personal property settings, if any, persistently. For example, you
might use it to set gwt.junit.testcase.includes to a narrower subset
@@ -64,6 +64,12 @@
<property name="javac.source" value="1.7"/>
<property name="javac.target" value="1.7"/>
<property name="javac.nowarn" value="true"/>
+ <condition property="javac.fork" value="true" else="false">
+ <isfalse value="${isJava8}"/>
+ </condition>
+ <condition property="javac.compiler" value="modern" else="com.google.errorprone.ErrorProneAntCompilerAdapter">
+ <isfalse value="${isJava8}"/>
+ </condition>
<property name="junit.out" location="${project.build}/test"/>
<property name="emma.dir" value="${gwt.tools.redist}/emma"/>
<property name="emma.filter.exclude" value=""/>
@@ -104,15 +110,6 @@
</condition>
<fail unless="build.host.platform" message="Building on ${os.name} is not supported"/>
- <!-- JVM -->
- <condition property="build.jvm.is15">
- <equals arg1="${ant.java.version}" arg2="1.5"/>
- </condition>
-
- <condition property="build.jvm.is16">
- <equals arg1="${ant.java.version}" arg2="1.6"/>
- </condition>
-
<!-- JUnit support -->
<property name="gwt.junit.port" value="8888"/>
<property name="gwt.junit.testcase.includes" value="**/*Suite.class"/>
@@ -157,8 +154,12 @@
<presetdef name="gwt.javac">
<javac srcdir="src" destdir="${javac.out}" debug="${javac.debug}"
debuglevel="${javac.debuglevel}" source="${javac.source}" target="${javac.target}"
- nowarn="${javac.nowarn}" encoding="${javac.encoding}" fork="true"
- memoryMaximumSize="1024m" includeantruntime="false"/>
+ nowarn="${javac.nowarn}" encoding="${javac.encoding}"
+ includeantruntime="false" fork="${javac.fork}" compiler="${javac.compiler}">
+ <compilerclasspath if:true="${isJava8}">
+ <pathelement location="${gwt.tools.lib}/errorprone/error_prone_ant-2.0.19.jar"/>
+ </compilerclasspath>
+ </javac>
</presetdef>
<macrodef name="gwt.jar">
diff --git a/dev/build.xml b/dev/build.xml
index b2092f6..e138569 100755
--- a/dev/build.xml
+++ b/dev/build.xml
@@ -26,6 +26,12 @@
<gwt.javac srcdir="" destdir="${javac.junit.out}">
<src path="core/src"/>
<src path="core/test"/>
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfComparison:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfEquals:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${javac.out}"/>
<pathelement location="${alldeps.jar}"/>
@@ -36,6 +42,10 @@
excludes="**/EmulatedCharset.java,**/HashCodes.java,**/ConsoleLogger.java,**/SuperDevModeLogger.java">
<src path="${gwt.root}/user/src" />
<src path="${gwt.root}/user/super/com/google/gwt/emul/javaemul/internal"/>
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${javac.out}"/>
<pathelement location="${gwt.tools.lib}/gss/2015-11-04/closure-stylesheets-library-20151104-rebased.jar"/>
@@ -201,6 +211,10 @@
<include name="com/google/gwt/soyc/**"/>
<include name="com/google/gwt/util/**"/>
<include name="org/eclipse/jdt/**"/>
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar"/>
<pathelement location="${gwt.tools.lib}/colt/colt-1.2.jar"/>
@@ -227,6 +241,10 @@
description="Compiles this project">
<gwt.javac srcdir="" excludes="${filter.pattern}">
<src path="core/src"/>
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${alldeps.jar}"/>
</classpath>
diff --git a/dev/codeserver/build.xml b/dev/codeserver/build.xml
index e40b48b..ef45007 100755
--- a/dev/codeserver/build.xml
+++ b/dev/codeserver/build.xml
@@ -17,7 +17,7 @@
<target name="compile.tests" depends="compile"
description="Compile tests java source">
<mkdir dir="${javac.junit.out}" />
- <javac destdir="${javac.junit.out}">
+ <gwt.javac srcdir="" destdir="${javac.junit.out}">
<src path="java" />
<src path="javatests" />
<classpath>
@@ -26,7 +26,7 @@
<pathelement location="${gwt.dev.jar}" />
<pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
</classpath>
- </javac>
+ </gwt.javac>
</target>
<target name="build" depends="compile" description="builds gwt-codeserver.jar">
diff --git a/tools/cldr-import/build.xml b/tools/cldr-import/build.xml
index 41c69ac..2c95558 100644
--- a/tools/cldr-import/build.xml
+++ b/tools/cldr-import/build.xml
@@ -45,13 +45,9 @@
<target name="compile" description="Compile java source">
<mkdir dir="${javac.out}" />
- <javac srcdir="src" destdir="${javac.out}"
- debug="${javac.debug}" debuglevel="${javac.debuglevel}"
- source="${javac.source}" target="${javac.target}"
- nowarn="${javac.nowarn}" encoding="${javac.encoding}"
- includeantruntime="false">
+ <gwt.javac>
<classpath refid="project.class.path"/>
- </javac>
+ </gwt.javac>
<copy todir="${javac.out}">
<fileset dir="src" excludes="**/*.java"/>
</copy>
@@ -59,16 +55,13 @@
<target name="compile.tests" description="Compile java source">
<mkdir dir="${javac.junit.out}" />
- <javac srcdir="test" destdir="${javac.junit.out}"
- debug="${javac.debug}" debuglevel="${javac.debuglevel}"
- source="${javac.source}" target="${javac.target}"
- nowarn="${javac.nowarn}" encoding="${javac.encoding}">
+ <gwt.javac srcdir="test" destdir="${javac.junit.out}">
<classpath>
<pathelement location="${javac.out}"/>
- <path refid="project.class.path"/>
+ <path refid="project.class.path"/>
<pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar" />
</classpath>
- </javac>
+ </gwt.javac>
<copy todir="${javac.junit.out}">
<fileset dir="src" excludes="**/*.java"/>
</copy>
diff --git a/user/build.xml b/user/build.xml
index b67bac4..738eb86 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -100,6 +100,12 @@
<mkdir dir="${javac.out}"/>
<gwt.javac excludes="**/EmulatedCharset.java,**/HashCodes.java,**/ConsoleLogger.java,**/SuperDevModeLogger.java">
<src path="super/com/google/gwt/emul/javaemul/internal"/>
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfComparison:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfEquals:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${gwt.tools.lib}/gss/2015-10-07/closure-stylesheets-library-20151007-rebased.jar"/>
<pathelement location="${gwt.tools.lib}/gss/2015-11-04/closure-stylesheets-library-20151104-rebased.jar"/>
@@ -145,6 +151,16 @@
<mkdir dir="${javac.junit.out}"/>
<gwt.javac srcdir="test" destdir="${javac.junit.out}"
excludes="com/google/gwt/langtest/**,**/super/**,**/java8/**,**/*Java8Suite.java">
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfComparison:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfEquals:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:IdentityBinaryExpression:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:LoopConditionChecker:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:JUnitAssertSameCheck:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:CollectionIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${javac.out}"/>
<pathelement location="${gwt.tools.lib}/junit/junit-4.8.2.jar"/>
@@ -159,6 +175,12 @@
<target name="-compile.tests.java8" if="isJava8" depends="-compile.tests.java7">
<gwt.javac srcdir="test" destdir="${javac.junit.out}" source="1.8" target="1.8"
includes="**/java8/**,**/*Java8Suite.java">
+ <compilerarg value="-Xep:MissingCasesInEnumSwitch:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfComparison:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:SelfEquals:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:FallThrough:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:ReturnValueIgnored:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
+ <compilerarg value="-Xep:EqualsIncompatibleType:OFF" compiler="com.google.errorprone.ErrorProneAntCompilerAdapter"/>
<classpath>
<pathelement location="${javac.junit.out}"/>
<pathelement location="${javac.out}"/>