commit | 94de443db7c9dd53a8358bec9612466989799791 | [log] [tgz] |
---|---|---|
author | Matthew Maurer <mmaurer@google.com> | Thu Mar 09 15:13:32 2023 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Mar 09 15:13:32 2023 +0000 |
tree | 2de859f4449953546f505dfb3f328096864a7544 | |
parent | dcf8cf0a7e5972255ff126db5995cd19126d880a [diff] | |
parent | 67cc991324290f2925c330416c7cc2a23098d53a [diff] |
Make protobuf-codegen available to product and vendor am: 67cc991324 Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/protobuf-codegen/+/2476371 Change-Id: I46eb9e3e95e952e447571b8a4eccc59d23e55f14 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This crate contains protobuf code generator implementation and a protoc-gen-rust
protoc
plugin.
This crate:
protoc-gen-rust
plugin for protoc
commandThis crate is not meant to be used directly, in fact, it does not provide any public API (except for protoc-gen-rust
binary).
Code can be generated with either:
protoc-gen-rust
plugin for protoc
orprotoc-rust
crate (code generator which depends on protoc
binary for parsing of .proto
files)protobuf-codegen-pure
crate, similar API to protoc-rust
, but uses pure rust parser of .proto
files.protoc-gen-rust
plugin for protoc
When non-cargo build system is used, consider using standard protobuf code generation pattern: protoc
command does all the work of handling paths and parsing .proto
files. When protoc
is invoked with --rust_out=
option, it invokes protoc-gen-rust
plugin. provided by this crate.
When building with cargo, consider using protoc-rust
or protobuf-codegen-pure
crates.
protoc-gen-rust
if you have to(Note protoc
can be invoked programmatically with protoc crate)
protoc
binary.On OS X Homebrew can be used:
brew install protobuf
On Ubuntu, protobuf-compiler
package can be installed:
apt-get install protobuf-compiler
Protobuf is needed only for code generation, rust-protobuf
runtime does not use protobuf
library.
protoc-gen-rust
program (which is protoc
plugin)It can be installed either from source or with cargo install protobuf
command.
protoc-gen-rust
to $PATHIf you installed it with cargo, it should be
PATH="$HOME/.cargo/bin:$PATH"
protoc --rust_out . foo.proto
This will generate .rs files in current directory.
This is documentation for version 2 of the crate.
Version 3 of the crate (currently in development) encapsulates both protoc
and pure codegens in this crate.