如何在不知道其名称的情况下包含任意一组Protobuf构建的文件?

时间:2016-07-21 12:58:16

标签: rust protocol-buffers

我打算使用rust-protobuf library。我编写了一个构建所有内容(包括我的代码)的bash脚本,并将.proto文件构建到.rs文件中。文档告诉我继续的方式是专门做:

mod foo;

生成的每个.rs文件。我希望我的用户可以直接将新的.proto文件放入目录,运行构建脚本,我的代码将负责包括编译的.proto文件的所有Rust实现。

我知道Rust并不真正支持反射,所以我可以通过某种方式确定目录中所有.rs生成的文件并在我的代码中使用它们" (在TLDR声明中)。

1 个答案:

答案 0 :(得分:4)

您可以编写一个Cargo build script来扫描您的目录并生成一个类似于以下内容的Rust文件:

mod file1;
mod file2;
//etc

然后,您可以使用include! macro将此文件包含在库中。