我正在编写一个构建后工具,它在 bazel 构建后合成 maven pom 文件。我正在使用方面来收集有关各种目标的相关信息。
其中一项功能涉及将外部jar 依赖项添加到相关的 pom 文件中。
假设我们的工作区包含以下目标:
maven_jar(
name = "com_google_guava_guava",
artifact = "com.google.guava:guava:19.0",
)
并且我们的一个BUILD文件包含一个目标,该目标具有番石榴作为依赖项
scala_library(
name = "somename",
srcs = glob(["*.scala"]) + glob(["*.java"]),
deps = [
"@com_google_guava_guava//jar:file" ,
],
在这个目标的一个方面,如何检索maven_jar的属性,特别是artifact?
(我能得到的最接近的是:
[InputFileConfiguredTarget(@com_google_guava_guava//jar:guava-19.0.jar)]
使用ctx.rule.attr.srcs
)
我可能只是解析工作区外部 jars目标并获取从名称到工件的映射作为混合解决方案,
但是一个更优雅的解决方案是让方面自己提供工件。可能吗?