2017-05-30 41 views
4

我正在寫一個生成後的工具,一個巴澤勒生成後合成的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" , 
], 

目標在方面 fo R此目標怎麼能檢索maven_jar的屬性,特別是神器

(最接近我能得到是:

[InputFileConfiguredTarget(@com_google_guava_guava//jar:guava-19.0.jar)] 

使用ctx.rule.attr.srcs

我很可能只是解析目標工作區外部罐子和從名稱獲得地圖神器作爲混合解決方案,

但是更優雅的解決方案woul d爲方面自己提供神器。可能嗎?

回答

1

的「神器」屬性是一個倉庫規則,這是不是從雲雀訪問的屬性。工件看起來像是一種可以以某種方式集成到jar目標中的信息,隨時可以在https://github.com/bazelbuild/bazel/issues/new上提交功能請求,其原因是您需要這樣做。

+0

謝謝達米安的澄清, 我開了一個[功能要求(https://github.com/bazelbuild/bazel/issues/3120)。 – Natan