diff --git a/CHANGES.md b/CHANGES.md index bb2a3626facf..0a4dc68afb41 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -67,6 +67,11 @@ ## Breaking Changes +* The Java artifacts "beam-sdks-java-io-kinesis", "beam-sdks-java-io-google-cloud-platform", and + "beam-sdks-java-extensions-sql-zetasql" declare Guava 30.1-jre dependency (It was 25.1-jre in Beam 2.27.0). + This new Guava version may introduce dependency conflicts if your project or dependencies rely + on removed APIs. If affected, ensure to use an appropriate Guava version via `dependencyManagement` in Maven and + `force` in Gradle. * X behavior was changed ([BEAM-X](https://issues.apache.org/jira/browse/BEAM-X)). ## Deprecations diff --git a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy index f72e14cf3758..b522f68e9ced 100644 --- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy @@ -436,7 +436,7 @@ class BeamModulePlugin implements Plugin { def google_oauth_clients_version = "1.31.0" // Try to keep grpc_version consistent with gRPC version in google_cloud_platform_libraries_bom def grpc_version = "1.32.2" - def guava_version = "25.1-jre" + def guava_version = "30.1-jre" def hadoop_version = "2.10.1" def hamcrest_version = "2.1" def influxdb_version = "2.19" diff --git a/sdks/java/io/cassandra/build.gradle b/sdks/java/io/cassandra/build.gradle index 771386a77bfa..fa6159f18c19 100644 --- a/sdks/java/io/cassandra/build.gradle +++ b/sdks/java/io/cassandra/build.gradle @@ -51,3 +51,10 @@ dependencies { testRuntimeOnly library.java.slf4j_jdk14 testRuntimeOnly project(path: ":runners:direct-java", configuration: "shadow") } + +// Cassandra dependencies require old version of Guava (BEAM-11626) +configurations.all { + resolutionStrategy { + force 'com.google.guava:guava:25.1-jre' + } +} diff --git a/sdks/java/io/hadoop-file-system/build.gradle b/sdks/java/io/hadoop-file-system/build.gradle index c4c3c93756b5..3d30ac6f20a5 100644 --- a/sdks/java/io/hadoop-file-system/build.gradle +++ b/sdks/java/io/hadoop-file-system/build.gradle @@ -74,6 +74,13 @@ hadoopVersions.each {kv -> } } +// Hadoop dependencies require old version of Guava (BEAM-11626) +configurations.all { + resolutionStrategy { + force 'com.google.guava:guava:25.1-jre' + } +} + task hadoopVersionsTest(group: "Verification") { description = "Runs Hadoop file system tests with different Hadoop versions" def taskNames = hadoopVersions.keySet().stream() diff --git a/sdks/java/io/hadoop-format/build.gradle b/sdks/java/io/hadoop-format/build.gradle index 49b9e0beded9..f7d907227fed 100644 --- a/sdks/java/io/hadoop-format/build.gradle +++ b/sdks/java/io/hadoop-format/build.gradle @@ -129,6 +129,13 @@ hadoopVersions.each {kv -> } } +// Hadoop dependencies require old version of Guava (BEAM-11626) +configurations.all { + resolutionStrategy { + force 'com.google.guava:guava:25.1-jre' + } +} + // The cassandra.yaml file currently assumes "target/..." exists. // TODO: Update cassandra.yaml to inject new properties representing // the root path. Also migrate cassandra.yaml to use any open ports