我打算使用rust-protobuf library。我编写了一个构建所有内容(包括我的代码)的bash脚本,并将.proto文件构建到.rs文件中。文档告诉我继续的方式是专门做:
mod foo;
生成的每个.rs文件。我希望我的用户可以直接将新的.proto文件放入目录,运行构建脚本,我的代码将负责包括编译的.proto文件的所有Rust实现。
我知道Rust并不真正支持反射,所以我可以通过某种方式确定目录中所有.rs生成的文件并在我的代码中使用它们" (在TLDR声明中)。
答案 0 :(得分:4)
您可以编写一个Cargo build script来扫描您的目录并生成一个类似于以下内容的Rust文件:
mod file1;
mod file2;
//etc
然后,您可以使用include!
macro将此文件包含在库中。