10个版本(2个稳定版)
1.0.1 | 2020年4月14日 |
---|---|
1.0.0 | 2020年3月31日 |
1.0.0-rc.1 | 2020年2月7日 |
0.13.0-rc.2 | 2019年12月4日 |
0.10.0 | 2018年12月14日 |
#6 in #exonum
200次每月下载
在21个crate中使用(12个直接使用)
20KB
266 行
Exonum构建脚本工具
此crate简化了为Exonum和Exonum服务编写构建脚本的过程。
由于Protobuf是Exonum的默认序列化格式,构建脚本主要用于编译Protobuf文件并生成相应的代码。生成的代码随后由Exonum核心和服务使用。
提供了几个预定义的protobuf源集可供使用。目前提供的集合
- 加密源:服务和使用系统proto文件所需的全部必要加密类型。这些类型包括
Hash
、PublicKey
和Signature
。 - Exonum源:核心和系统服务(如管理器)中使用的类型。
- 通用源:可由Exonum的各个部分使用的类型。
- MerkleDB源:表示数据库中元素存在性的类型。
有关更多详细信息,请参阅crate文档。
示例
使用exonum-build
的示例build.rs
use exonum_build::ProtobufGenerator;
fn main() {
ProtobufGenerator::with_mod_name("protobuf_mod.rs")
.with_input_dir("src/proto")
.with_crypto()
.generate();
}
用法
将exonum-build
作为依赖项包含在您的Cargo.toml
中
[build-dependencies]
exonum-build = "1.0.0"
已知问题
该crate使用的代码生成器不支持层次结构,而是使用生成的Rust模块的扁平结构。这意味着如果生成器输入(包括包含的文件!)包含多个具有相同基本名称的Protobuf文件(例如,foo/bar.proto
和other/bar.proto
),则可能会发生编译错误。
许可证
exonum-build
采用Apache许可证(版本2.0)。有关详细信息,请参阅LICENSE。
依赖项
~5–13MB
~184K SLoC