Merge pull request #10370 from iemejia/release-2.17.0
[release-2.17.0][BEAM-8917][BEAM-8967] jsr305 dependency declaration for Nullable class (#10324)
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 b824535..87694a8 100644
--- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
@@ -491,6 +491,7 @@
jackson_module_scala : "com.fasterxml.jackson.module:jackson-module-scala_2.11:$jackson_version",
jaxb_api : "javax.xml.bind:jaxb-api:$jaxb_api_version",
joda_time : "joda-time:joda-time:2.10.3",
+ jsr305 : "com.google.code.findbugs:jsr305:3.0.2",
junit : "junit:junit:4.13-beta-3",
kafka : "org.apache.kafka:kafka_2.11:$kafka_version",
kafka_clients : "org.apache.kafka:kafka-clients:$kafka_version",
@@ -738,6 +739,10 @@
// spotbugs-annotations artifact is licensed under LGPL and cannot be included in the
// Apache Beam distribution, but may be relied on during build.
// See: https://www.apache.org/legal/resolved.html#prohibited
+ // Special case for jsr305 (a transitive dependency of spotbugs-annotations):
+ // sdks/java/core's FieldValueTypeInformation needs javax.annotations.Nullable at runtime.
+ // Therefore, the java core module declares jsr305 dependency (BSD license) as "compile".
+ // https://github.com/findbugsproject/findbugs/blob/master/findbugs/licenses/LICENSE-jsr305.txt
"com.github.spotbugs:spotbugs-annotations:3.1.12",
"net.jcip:jcip-annotations:1.0",
]
diff --git a/sdks/java/core/build.gradle b/sdks/java/core/build.gradle
index a7ed6c2..a14305d 100644
--- a/sdks/java/core/build.gradle
+++ b/sdks/java/core/build.gradle
@@ -69,6 +69,7 @@
compile library.java.protobuf_java
compile library.java.commons_compress
compile library.java.commons_lang3
+ shadow library.java.jsr305
shadow library.java.jackson_core
shadow library.java.jackson_annotations
shadow library.java.jackson_databind