Могут ли аспекты Bazel получить доступ к java_common.provider текущей цели
В рамках наших усилий по созданию инструмента взаимодействия перехода между базиликом и мейвом (который создает банки размером с мавена из более мелких зернистых банок), мы хотим, чтобы aspect
который работает на bazel build
чтобы получить доступ к цели java_common.provider
для того, чтобы получить из него банки и ижары.
Это возможно?
1 ответ
Короткий ответ - да, это возможно.
Вы можете использовать java_common
Модуль в реализации аспекта так же, как вы использовали бы его в реализации правила.
Из документации на java_common.provider:
java_common.provider.compile_jars
а такжеjava_common.provider.transitive_compile_time_jars
обратитесь к ijars, использованным во время компиляцииjava_common.provider.transitive_runtime_jars
обратитесь к полным банкам, используемым во время выполнения.
Полные фляги во время компиляции еще не доступны, но кто-то работает над раскрытием этой функции. (Выпуск № 3528 на GitHub.)
Обязательно прочитайте сообщение в блоге на эту тему: https://blog.bazel.build/2017/03/07/java-sandwich.html