Details
-
Improvement
-
Status: Resolved
-
P2
-
Resolution: Fixed
-
None
-
None
Description
Maven artifact beam-sdks-java-core does not have dependencies specified as "compile".
This is a followup of iemejia's finding:
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
in jsr305 dependency declaration for Nullable class.
Other 4 dependencies are not found in the snapshot pom either:
compile library.java.antlr_runtime compile library.java.protobuf_java compile library.java.commons_compress compile library.java.commons_lang3
Compile-declared dependencies needed at runtime?
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:
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
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:
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
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:
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
antlr-runtime
Same.
suztomo-macbookpro44:beam suztomo$ jar tf ~/Downloads/beam-sdks-java-core-2.16.0.jar |grep org.antlr.v4 |head org/apache/beam/repackaged/core/org/antlr/v4/ org/apache/beam/repackaged/core/org/antlr/v4/runtime/ org/apache/beam/repackaged/core/org/antlr/v4/runtime/ANTLRErrorListener.class