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 c4d51b10bd336..465fa1e9f00cf 100644 --- a/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy +++ b/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy @@ -490,6 +490,7 @@ class BeamModulePlugin implements Plugin { 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 @@ class BeamModulePlugin implements Plugin { // 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 a7ed6c2e87dbe..f8741b4ebe995 100644 --- a/sdks/java/core/build.gradle +++ b/sdks/java/core/build.gradle @@ -69,6 +69,7 @@ dependencies { compile library.java.protobuf_java compile library.java.commons_compress compile library.java.commons_lang3 + compile library.java.jsr305 shadow library.java.jackson_core shadow library.java.jackson_annotations shadow library.java.jackson_databind