Я хочу создать правило, очень похожее на cc_proto_library
. Ключевые особенности заключаются в том, что он применяет аспект ко всем транзитивным proto_library
зависимостям и генерирует файлы .cc
и .h
для всех зависимостей. Вдобавок он генерирует действия, которые компилируют их в объектные файлы.
Хотя я понимаю, как я могу создать файл, я не понимаю, как легко создать объект. Модуль native недоступен для правила (или аспекта), и я не могу использовать макрос поверх аспекта, поскольку мне нужно, чтобы объектные файлы создавались в том же пакете, что и proto_library
, чтобы он создавался только один раз.
cc_proto_library
, я считаю, может это сделать, потому что он написан не на Skylark и, следовательно, имеет доступ к большему количеству примитивов. Есть ли способ сделать это только с Скайларком?
native.cc_proto_library
в одном проекте, позаботьтесь о том, чтобы ваше правило генерировало разные имена файлов и разные символы. В противном случае вы столкнетесь с конфликтами выходных файлов и ошибками компоновщика. - person user1071136   schedule 25.09.2017