[ 
https://issues.apache.org/jira/browse/BEAM-8967?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomo Suzuki updated BEAM-8967:
------------------------------
    Description: 
Maven artifact beam-sdks-java-core does not have dependencies specified as 
"compile".

This is a followup of [~iemejia]'s finding:

{quote}
Just double checked with today's SNAPSHOTs after the merge and the pom of core 
is not modified, however the deps look good in master, not sure if the change 
was applied before the SNAPSHOT generation, but still to double check.
https://repository.apache.org/content/repositories/snapshots/org/apache/beam/beam-sdks-java-core/2.19.0-SNAPSHOT/beam-sdks-java-core-2.19.0-20191213.072102-9.pom
{quote} 

in [jsr305 dependency declaration for Nullable 
class|https://github.com/apache/beam/pull/10324#issuecomment-565516004].

Other 4 dependencies are not found in the snapshot pom either:

{code:groovy}
  compile library.java.antlr_runtime
  compile library.java.protobuf_java
  compile library.java.commons_compress
  compile library.java.commons_lang3
{code}

h1. Compile-declared dependencies needed at runtime?

h2. protobuf-java

They are shaded. For example, Beam's TextBasedReader uses 
{{com.google.protobuf.ByteString}} from protobuf-java. The shaded ByteString 
class is in the published JAR file:

{noformat}
suztomo-macbookpro44:beam suztomo$ jar tf 
~/Downloads/beam-sdks-java-core-2.16.0.jar |grep protobuf.ByteString
org/apache/beam/repackaged/core/com/google/protobuf/ByteString$1.class
{noformat}

h2. commons-compress

They are shaded. For example, Beam's {{org.apache.beam.sdk.io.Compression}} 
uses 
{{org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream}}. 
The shaded class is in the published JAR file:

{noformat}
suztomo-macbookpro44:beam suztomo$ jar tf 
~/Downloads/beam-sdks-java-core-2.16.0.jar |grep BZip2CompressorInputStream
org/apache/beam/repackaged/core/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream$Data.class
org/apache/beam/repackaged/core/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.class
{noformat}

h2. commons-lang3

They are shaded. For example, Beam's {{org.apache.beam.sdk.io.LocalFileSystem}} 
uses {{org.apache.commons.lang3.SystemUtils}}. The shaded class is in the 
published JAR file:

{noformat}
suztomo-macbookpro44:beam suztomo$ jar tf 
~/Downloads/beam-sdks-java-core-2.16.0.jar |grep SystemUtils
org/apache/beam/repackaged/core/org/apache/commons/lang3/SystemUtils.class
{noformat}






  was:
Maven artifact beam-sdks-java-core does not have dependencies specified as 
"compile".

This is a followup of [~iemejia]'s finding:

{quote}
Just double checked with today's SNAPSHOTs after the merge and the pom of core 
is not modified, however the deps look good in master, not sure if the change 
was applied before the SNAPSHOT generation, but still to double check.
https://repository.apache.org/content/repositories/snapshots/org/apache/beam/beam-sdks-java-core/2.19.0-SNAPSHOT/beam-sdks-java-core-2.19.0-20191213.072102-9.pom
{quote} 

in [jsr305 dependency declaration for Nullable 
class|https://github.com/apache/beam/pull/10324#issuecomment-565516004].

Other 4 dependencies are not found in the snapshot pom either:

{code:groovy}
  compile library.java.antlr_runtime
  compile library.java.protobuf_java
  compile library.java.commons_compress
  compile library.java.commons_lang3
{code}

h1. Compile-declared dependencies needed at runtime?

h2. protobuf-java: Yes

TextBasedReader uses {{com.google.protobuf.ByteString}} from protobuf-java.

h2. commons-compress: Yes

{{org.apache.beam.sdk.io.Compression}} uses 
{{org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream}}.

h2. commons-lang3: Yes

{{org.apache.beam.sdk.io.LocalFileSystem}} uses 
{{org.apache.commons.lang3.SystemUtils}}




> Maven artifact beam-sdks-java-core does not have dependencies specified as 
> "compile"
> ------------------------------------------------------------------------------------
>
>                 Key: BEAM-8967
>                 URL: https://issues.apache.org/jira/browse/BEAM-8967
>             Project: Beam
>          Issue Type: Improvement
>          Components: build-system
>            Reporter: Tomo Suzuki
>            Priority: Major
>
> Maven artifact beam-sdks-java-core does not have dependencies specified as 
> "compile".
> This is a followup of [~iemejia]'s finding:
> {quote}
> Just double checked with today's SNAPSHOTs after the merge and the pom of 
> core is not modified, however the deps look good in master, not sure if the 
> change was applied before the SNAPSHOT generation, but still to double check.
> https://repository.apache.org/content/repositories/snapshots/org/apache/beam/beam-sdks-java-core/2.19.0-SNAPSHOT/beam-sdks-java-core-2.19.0-20191213.072102-9.pom
> {quote} 
> in [jsr305 dependency declaration for Nullable 
> class|https://github.com/apache/beam/pull/10324#issuecomment-565516004].
> Other 4 dependencies are not found in the snapshot pom either:
> {code:groovy}
>   compile library.java.antlr_runtime
>   compile library.java.protobuf_java
>   compile library.java.commons_compress
>   compile library.java.commons_lang3
> {code}
> h1. Compile-declared dependencies needed at runtime?
> h2. protobuf-java
> They are shaded. For example, Beam's TextBasedReader uses 
> {{com.google.protobuf.ByteString}} from protobuf-java. The shaded ByteString 
> class is in the published JAR file:
> {noformat}
> suztomo-macbookpro44:beam suztomo$ jar tf 
> ~/Downloads/beam-sdks-java-core-2.16.0.jar |grep protobuf.ByteString
> org/apache/beam/repackaged/core/com/google/protobuf/ByteString$1.class
> {noformat}
> h2. commons-compress
> They are shaded. For example, Beam's {{org.apache.beam.sdk.io.Compression}} 
> uses 
> {{org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream}}. 
> The shaded class is in the published JAR file:
> {noformat}
> suztomo-macbookpro44:beam suztomo$ jar tf 
> ~/Downloads/beam-sdks-java-core-2.16.0.jar |grep BZip2CompressorInputStream
> org/apache/beam/repackaged/core/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream$Data.class
> org/apache/beam/repackaged/core/org/apache/commons/compress/compressors/bzip2/BZip2CompressorInputStream.class
> {noformat}
> h2. commons-lang3
> They are shaded. For example, Beam's 
> {{org.apache.beam.sdk.io.LocalFileSystem}} uses 
> {{org.apache.commons.lang3.SystemUtils}}. The shaded class is in the 
> published JAR file:
> {noformat}
> suztomo-macbookpro44:beam suztomo$ jar tf 
> ~/Downloads/beam-sdks-java-core-2.16.0.jar |grep SystemUtils
> org/apache/beam/repackaged/core/org/apache/commons/lang3/SystemUtils.class
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to