You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hmz007 36ed224bac
Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a)
2 years ago
..
src Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
.cargo_vcs_info.json Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Android.bp Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Cargo.lock Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Cargo.toml Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
Cargo.toml.orig Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
LICENSE Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
LICENSE.txt Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
METADATA Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
MODULE_LICENSE_MIT Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
NOTICE Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
OWNERS Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
README.md Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago
cargo2android.json Rockchip Anroid14_SDK 20240628-rkr5 (2556df1a) 2 years ago

README.md

Protobuf code generator

This crate contains protobuf code generator implementation and a protoc-gen-rust protoc plugin.

This crate:

  • provides protoc-gen-rust plugin for protoc command
  • implement protobuf codegen

This 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 or
  • protoc-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.

How to use protoc-gen-rust if you have to

(Note protoc can be invoked programmatically with protoc crate)

  1. 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.

  1. Install protoc-gen-rust program (which is protoc plugin)

It can be installed either from source or with cargo install protobuf command.

  1. Add protoc-gen-rust to $PATH

If you installed it with cargo, it should be

PATH="$HOME/.cargo/bin:$PATH"
  1. Generate .rs files:
protoc --rust_out . foo.proto

This will generate .rs files in current directory.

Version 2

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.