[
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)