[
https://issues.apache.org/jira/browse/BEAM-8917?focusedWorklogId=357228&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-357228
]
ASF GitHub Bot logged work on BEAM-8917:
----------------------------------------
Author: ASF GitHub Bot
Created on: 10/Dec/19 16:44
Start Date: 10/Dec/19 16:44
Worklog Time Spent: 10m
Work Description: iemejia commented on pull request #10324: [BEAM-8917]
jsr305 dependency declaration for Nullable class
URL: https://github.com/apache/beam/pull/10324#discussion_r356150976
##########
File path: 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
Review comment:
I think it covers at least the legal part, it feels weird we did not catch
this before. The code that uses programatically the annotation is more than 1y
old already.
https://github.com/apache/beam/commit/788ce61bd7c48bc16a8eaa93a46ac403155f4422#diff-504e2e0131eda09163b086becec92f3cR91
I wonder if the vendoring part was the reason this became explicit.
@kennknowles what do you think, I am inclined to merge this as a quickfix but
with some doubts because of leaking the supposed to be 'annotation' only dep
now into core.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 357228)
Time Spent: 4h 10m (was: 4h)
> javax.annotation.Nullable is missing for
> org.apache.beam.sdk.schemas.FieldValueTypeInformation
> ----------------------------------------------------------------------------------------------
>
> Key: BEAM-8917
> URL: https://issues.apache.org/jira/browse/BEAM-8917
> Project: Beam
> Issue Type: Improvement
> Components: sdk-java-core
> Reporter: Tomo Suzuki
> Assignee: Tomo Suzuki
> Priority: Major
> Fix For: 2.17.0
>
> Time Spent: 4h 10m
> Remaining Estimate: 0h
>
> This ticket is from the result of static analysis by Linkage Checker
> ([detail|https://github.com/GoogleCloudPlatform/cloud-opensource-java/issues/1045])
> h1. Example Project
> Example project to produce an issue:
> https://github.com/suztomo/beam-java-sdk-missing-nullable .
> I think 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}}.
> h1. Why there's no problem in compilation and tests of sdks/java/core?
> The compilation succeeds because the {{Nullable}} annotation is in the
> transitive dependency of compileOnly {{spotbugs-annotations}} dependency:
> {noformat}
> compileOnly - Compile only dependencies for source set 'main'.
> ...
> +--- com.github.spotbugs:spotbugs-annotations:3.1.12
> | \--- com.google.code.findbugs:jsr305:3.0.2
> ...
> {noformat}
> The tests succeed because the {{Nullable}} annotation is in the transitive
> dependency of {{guava-testlib}}.
> {noformat}
> testRuntime - Runtime dependencies for source set 'test' (deprecated, use
> 'testRuntimeOnly' instead).
> ...
> +--- com.google.guava:guava-testlib:20.0
> | +--- com.google.code.findbugs:jsr305:1.3.9
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)