在运行带方面的bazel构建时,如何判断执行(未跳过)哪些目标

时间:2017-09-05 18:09:38

标签: bazel bazel-aspect

作为我们努力创建一个bazel-maven过渡互操作工具(从更细粒度的bazel罐中创建maven大小的罐子)的一部分, 我们编写了一个var europeanCapitals: [String] = [] var asianCapitals: [String] = [] var otherCapitals: [String] = [] let world = [ "BEL": "Brussels", "LIE": "Vaduz", "BGR": "Sofia", "USA": "Washington D.C.", "MEX": "Mexico City", "BRA": "Brasilia", "IND": "New Delhi", "VNM": "Hanoi"] for (key, value) in world { // Enter your code below switch key { case "BEL", "LIE", "BGR" : europeanCapitals.append(value); case "VNM", "IND" : asianCapitals.append(value); default: otherCapitals.append(value); } // End code } ,它在整个bazel仓库的aspect上运行,并写入bazel build个文件txt

  1. 我们希望为非兑现目标撰写这些方面outputs
  2. 更好的方法是在运行结束时有一个列表,其中包含所有已运行的目标(由于缓存而未跳过)
  3. 1.和2.可能吗?

1 个答案:

答案 0 :(得分:0)

  

我们只想为非兑现目标编写这些方面输出。

我不是百分百肯定你在这里的意思。如果目标是否被缓存,则无法检测到。但是,output文件将被缓存。如果您使用相同的方面运行相同的版本,则只会更新不是最新的文件。

  

...在运行结束时有一个包含所有已运行目标的列表

我们有一个标志--experimental_show_artifacts,可以打印出所有构建的工件。