作为我们创建 bazel-maven 过渡互操作工具(从更精细大小的 bazel jar 创建 maven 大小的 jar)的努力的一部分, 我们希望在bazel build
上运行的aspect
访问目标的java_common.provider
,以便从中获取 jar 和 ijar。
这可能吗?
简短的回答是肯定的,这是可能的。
您可以在方面实现中使用java_common
模块,就像在规则实现中使用模块一样。
来自 java_common.provider 的文档:
java_common.provider.compile_jars
和java_common.provider.transitive_compile_time_jars
是指编译时使用的 ijarjava_common.provider.transitive_runtime_jars
引用运行时使用的完整 jar。
编译时的完整 jar 尚不可用,但有人正在努力公开此功能。(GitHub 上的问题 #3528。
确保您还阅读了有关此主题的博客文章:https://blog.bazel.build/2017/03/07/java-sandwich.html