[
https://issues.apache.org/jira/browse/BEAM-8917?focusedWorklogId=356024&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-356024
]
ASF GitHub Bot logged work on BEAM-8917:
----------------------------------------
Author: ASF GitHub Bot
Created on: 09/Dec/19 09:31
Start Date: 09/Dec/19 09:31
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_r355334143
##########
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:
You cannot do this a compile time dependency due to the license (LGPL) of
findbugs/spotbugs. So far I think we have gotten around it because of the scope.
https://github.com/apache/beam/blob/8066d78f0fd2237b718859d4a776511203880df0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy#L738-L741
CC: @kennknowles who probably knows more of the details.
----------------------------------------------------------------
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: 356024)
Time Spent: 40m (was: 0.5h)
> 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
> Time Spent: 40m
> 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)