diff --git a/MODULE.bazel b/MODULE.bazel index ed027757e86..4893b653f3b 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -15,9 +15,9 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "com.google.auto.value:auto-value:1.11.0", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.11.0", - "com.google.errorprone:error_prone_annotations:2.30.0", + "com.google.errorprone:error_prone_annotations:2.36.0", "com.google.guava:failureaccess:1.0.1", - "com.google.guava:guava:33.3.1-android", + "com.google.guava:guava:33.4.8-android", "com.google.re2j:re2j:1.8", "com.google.s2a.proto.v2:s2a-proto:0.1.1", "com.google.truth:truth:1.4.2", @@ -41,7 +41,7 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "io.opencensus:opencensus-contrib-grpc-metrics:0.31.0", "io.perfmark:perfmark-api:0.27.0", "junit:junit:4.13.2", - "org.checkerframework:checker-qual:3.12.0", + "org.checkerframework:checker-qual:3.49.5", "org.codehaus.mojo:animal-sniffer-annotations:1.24", ] # GRPC_DEPS_END diff --git a/core/build.gradle b/core/build.gradle index 2fac9ddba04..b320f326b41 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1,6 +1,6 @@ buildscript { dependencies { - classpath 'com.google.guava:guava:30.0-android' + classpath 'com.google.guava:guava:33.4.8-android' } } diff --git a/cronet/build.gradle b/cronet/build.gradle index 1a327f9f966..936a2e2a2a7 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -46,6 +46,7 @@ dependencies { libraries.cronet.api implementation project(':grpc-core') implementation libraries.guava + implementation 'org.checkerframework:checker-qual:3.49.5' testImplementation project(':grpc-testing') testImplementation libraries.cronet.embedded diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2ea4c8b5fa1..f159bec96e2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -29,11 +29,7 @@ commons-math3 = "org.apache.commons:commons-math3:3.6.1" conscrypt = "org.conscrypt:conscrypt-openjdk-uber:2.5.2" cronet-api = "org.chromium.net:cronet-api:119.6045.31" cronet-embedded = "org.chromium.net:cronet-embedded:119.6045.31" -# error-prone 2.31.0+ blocked on https://github.com/grpc/grpc-java/issues/10152 -# It breaks Bazel (ArrayIndexOutOfBoundsException in turbine) and Dexing ("D8: -# java.lang.NullPointerException"). We can trivially upgrade the Bazel CI to -# 6.3.0+ (https://github.com/bazelbuild/bazel/issues/18743). -errorprone-annotations = "com.google.errorprone:error_prone_annotations:2.30.0" +errorprone-annotations = "com.google.errorprone:error_prone_annotations:2.36.0" # error-prone 2.32.0+ require Java 17+ errorprone-core = "com.google.errorprone:error_prone_core:2.31.0" google-api-protos = "com.google.api.grpc:proto-google-common-protos:2.51.0" @@ -45,13 +41,13 @@ google-auth-oauth2Http = "com.google.auth:google-auth-library-oauth2-http:1.24.1 google-cloud-logging = "com.google.cloud:google-cloud-logging:3.21.2" # 2.12.1 requires error_prone_annotations:2.36.0 but we are stuck with 2.30.0 gson = "com.google.code.gson:gson:2.11.0" -# 33.4.0 requires com.google.errorprone:error_prone_annotations:2.36.0 but we are stuck with 2.30.0 (see above) -guava = "com.google.guava:guava:33.3.1-android" +# 33.4.8 requires com.google.errorprone:error_prone_annotations:2.36.0 +guava = "com.google.guava:guava:33.4.8-android" guava-betaChecker = "com.google.guava:guava-beta-checker:1.0" -guava-testlib = "com.google.guava:guava-testlib:33.3.1-android" +guava-testlib = "com.google.guava:guava-testlib:33.4.8-android" # JRE version is needed for projects where its a transitive dependency, f.e. gcp-observability. # May be different from the -android version. -guava-jre = "com.google.guava:guava:33.3.1-jre" +guava-jre = "com.google.guava:guava:33.4.8-jre" hdrhistogram = "org.hdrhistogram:HdrHistogram:2.2.2" # 6.0.0+ use java.lang.Deprecated forRemoval and since from Java 9 jakarta-servlet-api = "jakarta.servlet:jakarta.servlet-api:5.0.0" diff --git a/repositories.bzl b/repositories.bzl index 12a8ec7a6f1..e7a37e0ca4e 100644 --- a/repositories.bzl +++ b/repositories.bzl @@ -19,9 +19,9 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "com.google.auto.value:auto-value:1.11.0", "com.google.code.findbugs:jsr305:3.0.2", "com.google.code.gson:gson:2.11.0", - "com.google.errorprone:error_prone_annotations:2.30.0", + "com.google.errorprone:error_prone_annotations:2.36.0", "com.google.guava:failureaccess:1.0.1", - "com.google.guava:guava:33.3.1-android", + "com.google.guava:guava:33.4.8-android", "com.google.re2j:re2j:1.8", "com.google.s2a.proto.v2:s2a-proto:0.1.1", "com.google.truth:truth:1.4.2", @@ -45,7 +45,7 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [ "io.opencensus:opencensus-contrib-grpc-metrics:0.31.0", "io.perfmark:perfmark-api:0.27.0", "junit:junit:4.13.2", - "org.checkerframework:checker-qual:3.12.0", + "org.checkerframework:checker-qual:3.49.5", "org.codehaus.mojo:animal-sniffer-annotations:1.24", ] # GRPC_DEPS_END diff --git a/s2a/build.gradle b/s2a/build.gradle index 1e48e2bb297..012411c19ba 100644 --- a/s2a/build.gradle +++ b/s2a/build.gradle @@ -12,6 +12,7 @@ description = "gRPC: S2A" dependencies { implementation libraries.s2a.proto + implementation 'org.checkerframework:checker-qual:3.49.5' api project(':grpc-api') implementation project(':grpc-stub'), diff --git a/settings.gradle b/settings.gradle index e30849dbe2b..b8c6825f21e 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,17 @@ pluginManagement { + // https://issuetracker.google.com/issues/342522142#comment8 + // use D8/R8 8.0.44 or 8.1.44 with AGP 7.4 if needed. + buildscript { + repositories { + mavenCentral() + maven { + url = uri("https://storage.googleapis.com/r8-releases/raw") + } + } + dependencies { + classpath("com.android.tools:r8:8.1.44") + } + } plugins { // https://developer.android.com/build/releases/gradle-plugin // 8+ has many changes: https://github.com/grpc/grpc-java/issues/10152