Bazel方面可以访问当前目标的java_common.provider

时间:2017-08-29 14:15:08

标签: bazel bazel-aspect

作为我们努力创建一个bazel-maven过渡互操作工具(从更细粒度的bazel罐中创建maven大小的罐子)的一部分, 我们希望aspect上运行的bazel build能够访问目标java_common.provider,以便从中获取jar和ijars。

这可能吗?

1 个答案:

答案 0 :(得分:3)

简短的回答是肯定的,这是可能的。

您可以在方面实现中使用java_common模块,就像在规则实现中使用它一样。

来自java_common.provider的文档:

  • java_common.provider.compile_jarsjava_common.provider.transitive_compile_time_jars指的是编译时使用的ijars
  • java_common.provider.transitive_runtime_jars指的是运行时使用的完整jar。

编译时的完整罐子尚不可用,但有人正在努力公开此功能。 (关于GitHub的问题#3528。)

请务必阅读有关此主题的博文:https://blog.bazel.build/2017/03/07/java-sandwich.html