Update net.ltgt.errorprone to 0.6 and enable Error Prone on JDK 10+
diff --git a/.travis.yml b/.travis.yml
index eca87a7..f494148 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -42,14 +42,8 @@
- linux
jdk:
- # net.ltgt.errorprone supports jdk8 and jdk9, but has problems with jdk10
- # For jdk10, we need to switch over to using net.ltgt.errorprone-javacplugin,
- # and likely update to the latest com.google.errorprone:error_prone_core.
- # We have decided not to make our build.gradle support both plugins, so when
- # we finally move off of jdk8 and jdk9 we will need use the javac annotation
- # processor based plugin.
- - oraclejdk8 # if both jdk 8 and 9 are removed, migrate to net.ltgt.errorprone-javacplugin (see above comment)
- - oraclejdk9 # if both jdk 8 and 9 are removed, migrate to net.ltgt.errorprone-javacplugin (see above comment)
+ - oraclejdk8
+ - oraclejdk9
- openjdk11
notifications:
diff --git a/alts/build.gradle b/alts/build.gradle
index 27518bf..0dc8b29 100644
--- a/alts/build.gradle
+++ b/alts/build.gradle
@@ -46,13 +46,15 @@
configureProtoCompilation()
+import net.ltgt.gradle.errorprone.CheckSeverity
+
[compileJava, compileTestJava].each() {
- // ALTS retuns a lot of futures that we mostly don't care about.
// protobuf calls valueof. Will be fixed in next release (google/protobuf#4046)
it.options.compilerArgs += [
- "-Xlint:-deprecation",
- "-Xep:FutureReturnValueIgnored:OFF"
+ "-Xlint:-deprecation"
]
+ // ALTS returns a lot of futures that we mostly don't care about.
+ it.options.errorprone.check("FutureReturnValueIgnored", CheckSeverity.OFF)
}
javadoc { exclude 'io/grpc/alts/internal/**' }
diff --git a/android/build.gradle b/android/build.gradle
index ae4b1bb..e6a4caa 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -13,7 +13,7 @@
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
- classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.13"
+ classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.6"
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
}
}
@@ -41,6 +41,9 @@
}
dependencies {
+ errorprone 'com.google.errorprone:error_prone_core:2.3.2'
+ errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1'
+
implementation 'io.grpc:grpc-core:1.18.0-SNAPSHOT' // CURRENT_GRPC_VERSION
testImplementation 'io.grpc:grpc-okhttp:1.18.0-SNAPSHOT' // CURRENT_GRPC_VERSION
diff --git a/benchmarks/build.gradle b/benchmarks/build.gradle
index 809f34e..cc7a9a6 100644
--- a/benchmarks/build.gradle
+++ b/benchmarks/build.gradle
@@ -36,9 +36,11 @@
compileOnly libraries.javax_annotation
}
+import net.ltgt.gradle.errorprone.CheckSeverity
+
compileJava {
// The Control.Void protobuf clashes
- options.compilerArgs += ["-Xep:JavaLangClash:OFF"]
+ options.errorprone.check("JavaLangClash", CheckSeverity.OFF)
}
configureProtoCompilation()
diff --git a/build.gradle b/build.gradle
index 7581095..edd189f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,12 +7,14 @@
classpath "com.diffplug.spotless:spotless-plugin-gradle:3.13.0"
classpath 'com.google.gradle:osdetector-gradle-plugin:1.4.0'
classpath 'ru.vyarus:gradle-animalsniffer-plugin:1.4.5'
- classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.13'
+ classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.6'
classpath "me.champeau.gradle:jmh-gradle-plugin:0.4.5"
classpath 'me.champeau.gradle:japicmp-gradle-plugin:0.2.5'
}
}
+import net.ltgt.gradle.errorprone.CheckSeverity
+
subprojects {
apply plugin: "checkstyle"
apply plugin: "java"
@@ -25,23 +27,21 @@
apply plugin: "com.google.osdetector"
// The plugin only has an effect if a signature is specified
apply plugin: "ru.vyarus.animalsniffer"
- // jdk10 not supported by errorprone: https://github.com/google/error-prone/issues/860
- if (!JavaVersion.current().isJava10Compatible() &&
- rootProject.properties.get('errorProne', true).toBoolean()) {
- apply plugin: "net.ltgt.errorprone"
+ apply plugin: "net.ltgt.errorprone"
+ if (rootProject.properties.get('errorProne', true)) {
dependencies {
- // The ErrorProne plugin defaults to the latest, which would break our
- // build if error prone releases a new version with a new check
errorprone 'com.google.errorprone:error_prone_core:2.3.2'
+ errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1'
+
annotationProcessor 'com.google.guava:guava-beta-checker:1.0'
}
} else {
- // Remove per-project error-prone checker config
+ // Disable Error Prone
allprojects {
afterEvaluate { project ->
project.tasks.withType(JavaCompile) {
- options.compilerArgs.removeAll { it.startsWith("-Xep") }
+ options.errorprone.enabled = false
}
}
}
@@ -78,11 +78,11 @@
compileTestJava {
// serialVersionUID is basically guaranteed to be useless in our tests
- // LinkedList doesn't hurt much in tests and has lots of usages
options.compilerArgs += [
- "-Xlint:-serial",
- "-Xep:JdkObsolete:OFF"
+ "-Xlint:-serial"
]
+ // LinkedList doesn't hurt much in tests and has lots of usages
+ options.errorprone.check("JdkObsolete", CheckSeverity.OFF)
}
jar.manifest {
@@ -179,8 +179,8 @@
// https://github.com/google/protobuf/issues/2718
it.options.compilerArgs += [
"-Xlint:-cast",
- "-XepExcludedPaths:.*/src/generated/[^/]+/java/.*",
]
+ it.options.errorprone.excludedPaths = ".*/src/generated/[^/]+/java/.*"
}
}
diff --git a/compiler/build.gradle b/compiler/build.gradle
index 81d97ab..59da081 100644
--- a/compiler/build.gradle
+++ b/compiler/build.gradle
@@ -151,9 +151,9 @@
compileTestJava {
options.compilerArgs += [
- "-Xlint:-cast",
- "-XepExcludedPaths:.*/build/generated/source/proto/.*",
+ "-Xlint:-cast"
]
+ options.errorprone.excludedPaths = ".*/build/generated/source/proto/.*"
}
compileTestLiteJava {
@@ -164,10 +164,12 @@
"-Xlint:-unchecked",
"-Xlint:-fallthrough"
]
+ options.errorprone.excludedPaths = ".*/build/generated/source/proto/.*"
}
compileTestNanoJava {
options.compilerArgs = compileTestJava.options.compilerArgs
+ options.errorprone.excludedPaths = ".*/build/generated/source/proto/.*"
}
protobuf {
diff --git a/interop-testing/build.gradle b/interop-testing/build.gradle
index e0f60ef..215b793 100644
--- a/interop-testing/build.gradle
+++ b/interop-testing/build.gradle
@@ -38,9 +38,11 @@
configureProtoCompilation()
+import net.ltgt.gradle.errorprone.CheckSeverity
+
compileJava {
// This isn't a library; it can use beta APIs
- it.options.compilerArgs += ["-Xep:BetaApi:OFF"]
+ options.errorprone.check("BetaApi", CheckSeverity.OFF)
}
test {
diff --git a/netty/build.gradle b/netty/build.gradle
index 82f5085..a8d4524 100644
--- a/netty/build.gradle
+++ b/netty/build.gradle
@@ -13,11 +13,11 @@
signature "org.codehaus.mojo.signature:java17:1.0@signature"
}
+import net.ltgt.gradle.errorprone.CheckSeverity
+
[compileJava, compileTestJava].each() {
// Netty retuns a lot of futures that we mostly don't care about.
- it.options.compilerArgs += [
- "-Xep:FutureReturnValueIgnored:OFF"
- ]
+ it.options.errorprone.check("FutureReturnValueIgnored", CheckSeverity.OFF)
}
javadoc {
diff --git a/protobuf-lite/build.gradle b/protobuf-lite/build.gradle
index 0cd67a9..d87b880 100644
--- a/protobuf-lite/build.gradle
+++ b/protobuf-lite/build.gradle
@@ -34,9 +34,9 @@
options.compilerArgs += [
"-Xlint:-rawtypes",
"-Xlint:-unchecked",
- "-Xlint:-fallthrough",
- "-XepExcludedPaths:.*/build/generated/source/proto/.*"
+ "-Xlint:-fallthrough"
]
+ options.errorprone.excludedPaths = ".*/build/generated/source/proto/.*"
}
protobuf {