第三方代码
Crates.io生态系统是该语言的重要组成部分
内部和外部工具之间最清晰的边界
目前的做法:
带有虚拟包装的Cargo.toml; 即时依赖清单
Cargo执行版本解析,下载和构建
发布为预构建的rlib文件+ Buck依赖规则(BUCK是Facebook开源的快速打包工具)
到目前为止工作正常,但没有扩展到600多个crates
预编译 => 持续修复版本的rustc
新方法:
转换Cargo => Buck构建规则
使用Buck从源代码构建
主要blocker:build.rs
- 需要手动干预,因为没有明确的依赖关系,输入或输出