From d999453b48511615067d935e883ab2ae28869458 Mon Sep 17 00:00:00 2001 From: Tomo Suzuki Date: Thu, 12 Dec 2019 14:57:41 -0500 Subject: [PATCH] [BEAM-8917] jsr305 dependency declaration for Nullable class (#10324) The Maven artifact org.apache.beam:beam-sdks-java-core, which contains org.apache.beam.sdk.schemas.FieldValueTypeInformation, should declare the dependency to com.google.code.findbugs:jsr305. The class needs Nullable class at runtime. --- .../groovy/org/apache/beam/gradle/BeamModulePlugin.groovy | 5 +++++ sdks/java/core/build.gradle | 1 + 2 files changed, 6 insertions(+) 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 b2d78a3557653..8e5bd5e648ee6 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