除了主jar之外,一些Maven工件还提供了一个单独的测试jar,其中包含有助于编写使用依赖项的测试的类。 kafka-streams
就是一个例子。在Gradle中,可以使用classifier: "test"
(如果测试jar具有-test.jar
后缀)并且在Maven中<type>test-jar</type>
依赖于此类jar。如何将测试jar添加到Bazel工作区?
答案 0 :(得分:5)
Skylark maven_jar实现支持此功能,其工件语法为group:artifact:version:packaging:classifier
。
load("@bazel_tools//tools/build_defs/repo:maven_rules.bzl", "maven_jar")
maven_jar(
name = "org_apache_kafka_test",
artifact = "org.apache.kafka:kafka-streams:1.0.0:jar:test",
sha1 = "b275b72148aad7a59cc12f1005507d61fc0ae77b",
)
答案 1 :(得分:1)
我认为maven_jar
缺少此功能。
我可以为主jar写一条规则:
maven_jar(
name = "org_apache_kafka",
artifact = "org.apache.kafka:kafka-streams:1.0.0",
sha1 = "a6c87c367176beb7650eb2df173fd9fe6e38656f",
)
但我不能为测试罐写一个,这不起作用:
maven_jar(
name = "org_apache_kafka_test",
artifact = "org.apache.kafka:kafka-streams:1.0.0-test",
sha1 = "b275b72148aad7a59cc12f1005507d61fc0ae77b",
)