Description
Some JARs in the distribution are not uniquely identified by Maven coordinates. It may cause one JAR to be overwritten by another, if they happen to have the same name.
Consider the following example: Suppose Console depends on @vaticle_typedb_client_java//common
and @vaticle_typedb_common//common
. When bazel build
is invoked bazel-bin/external/vaticle_typedb_client_java/common/libcommon.jar
and bazel-bin/external/vaticle_typedb_common/common/libcommon.jar
will be generated, respectively. During the assembly process, both JARs will be placed within the lib
directory and given that both JARs have identical names, one will overwrite the other.
Therefore, we must ensure that all JARs are uniquely identified by assigning Maven coordinates to each of them.