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