• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

src/H03-May-2022-6,5085,633

.cargo-checksum.jsonH A D03-May-202289 11

.cargo_vcs_info.jsonH A D01-Jan-197074 65

Cargo.lockH A D01-Jan-1970386 1714

Cargo.tomlH A D01-Jan-19701.2 KiB3732

Cargo.toml.orig-cargoH A D29-Nov-1973750 3626

README.mdH A D29-Nov-19731.6 KiB5836

README.md

1# protobuf-codegen
2
3This crate contains protobuf code generator and a `protoc-gen-rust` `protoc` plugin.
4
5## protoc-gen-rust
6
7`protoc-gen-rust` implements standard protobuf `protoc` plugin conventions.
8
9Probably you do not want to use it directly in Rust environment, there are easier to use alternatives:
10
11* [protoc-rust crate](https://github.com/stepancheg/rust-protobuf/tree/master/protoc-rust)
12  which can be invoked programmatically from `build.rs` of your project
13  which requires only `protoc` in `$PATH` but not `protoc-gen-rust`.
14* [protobuf-codegen-pure crate](https://github.com/stepancheg/rust-protobuf/tree/master/protobuf-codegen-pure)
15  which behaves like protoc-rust, but does not depend on `protoc` binary
16
17## But if you really want to use that plugin, here's the instruction
18
19(Note `protoc` can be invoked programmatically with
20[protoc crate](https://github.com/stepancheg/rust-protobuf/tree/master/protoc/))
21
220) Install protobuf for `protoc` binary.
23
24On OS X [Homebrew](https://github.com/Homebrew/brew) can be used:
25
26```
27brew install protobuf
28```
29
30On Ubuntu, `protobuf-compiler` package can be installed:
31
32```
33apt-get install protobuf-compiler
34```
35
36Protobuf is needed only for code generation, `rust-protobuf` runtime
37does not use `protobuf` library.
38
391) Install `protoc-gen-rust` program (which is `protoc` plugin)
40
41It can be installed either from source or with `cargo install protobuf` command.
42
432) Add `protoc-gen-rust` to $PATH
44
45If you installed it with cargo, it should be
46
47```
48PATH="$HOME/.cargo/bin:$PATH"
49```
50
513) Generate .rs files:
52
53```
54protoc --rust_out . foo.proto
55```
56
57This will generate .rs files in current directory.
58