cc_proto_library
とよく似たルールを作成したいと考えています。主な特徴は、すべての推移的なproto_library
の依存関係に1つのアスペクトを適用し、すべての依存関係のファイルを.cc
と.h
と生成することです。さらに、これらをオブジェクトファイルにコンパイルするアクションが生成されます。bazelのアスペクトとcc_libraryを組み合わせる方法
私はファイルの生成方法を理解していますが、オブジェクト生成を簡単に行う方法はわかりません。 nativeモジュールはルール(またはアスペクト)実装では使用できません。オブジェクトファイルをproto_library
と同じパッケージに生成する必要があるため、1回だけ生成されるように、アスペクトの上にマクロを使用することはできません。
cc_proto_library
これはSkylarkで書かれていないため、より多くのプリミティブにアクセスできるので、私は信じています。 Skylarkだけでこれを行うには、とにかくありますか?
私はSkylark + C++の人にSkylarkのC++コンパイルアクションの作成についてコメントしてもらいましたが、同じプロジェクトで 'native.cc_proto_library'を使用する場合は、名前と異なるシンボル。そうしないと、出力ファイルの競合とリンカエラーが発生します。 – user1071136