7be3fd486c | ||
---|---|---|
.. | ||
src | ||
.cargo_vcs_info.json | ||
Android.bp | ||
Cargo.lock | ||
Cargo.toml | ||
Cargo.toml.orig | ||
LICENSE | ||
LICENSE.txt | ||
METADATA | ||
MODULE_LICENSE_MIT | ||
NOTICE | ||
OWNERS | ||
README.android | ||
README.md |
README.md
protobuf-codegen
This crate contains protobuf code generator and a protoc-gen-rust
protoc
plugin.
protoc-gen-rust
protoc-gen-rust
implements standard protobuf protoc
plugin conventions.
Probably you do not want to use it directly in Rust environment, there are easier to use alternatives:
- protoc-rust crate
which can be invoked programmatically from
build.rs
of your project which requires onlyprotoc
in$PATH
but notprotoc-gen-rust
. - protobuf-codegen-pure crate
which behaves like protoc-rust, but does not depend on
protoc
binary
But if you really want to use that plugin, here's the instruction
(Note protoc
can be invoked programmatically with
protoc crate)
- Install protobuf for
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.
- Install
protoc-gen-rust
program (which isprotoc
plugin)
It can be installed either from source or with cargo install protobuf
command.
- Add
protoc-gen-rust
to $PATH
If you installed it with cargo, it should be
PATH="$HOME/.cargo/bin:$PATH"
- Generate .rs files:
protoc --rust_out . foo.proto
This will generate .rs files in current directory.