protocol buffers - bazel rules for the protobuf C++ compiler -


i'm using bazel , google's protocol buffers. want add bazel rule can generate c++ api .proto files. in gnu make, (simplified example):

%.h: %.cc %.cc: %.proto     protoc --cpp_out=. $< 

how can accomplish same (i.e. generate api whenever mymessage.proto changes) using bazel?

native support cc_proto_library has landed in bazel: http://bazel.build/blog/2017/02/27/protocol-buffers.html.

tl;dr, after setting workspace file once,

cc_proto_library(     name = "person_cc_proto",     deps = [":person_proto"], )  proto_library(     name = "person_proto",     srcs = ["person.proto"],     deps = [":address_proto"], )  ... 

then,

$ bazel build :person_cc_proto 

there's example @ https://github.com/cgrushko/proto_library.

the gist define proto_library "import" .proto file bazel, , cc_proto_library compile c++. protocol buffer compiler , runtimes taken default @com_google_protobuf//:protoc , @com_google_protobuf_cc//:cc_toolchain, respectively.

the reason separation enable large proto graphs need compiled multiple languages.


Comments

Popular posts from this blog

mysql - Dreamhost PyCharm Django Python 3 Launching a Site -

java - Sending SMS with SMSLib and Web Services -

java - How to resolve The method toString() in the type Object is not applicable for the arguments (InputStream) -