Crane
- 源代码获取:使用 Cargo.lock 文件自动完成
- 增量式:只需构建一次工作空间依赖项,然后快速对项目进行代码检查、构建和测试,无需减慢速度
- 可组合:将构建和测试拆分为细粒度的步骤。在不增加从源代码构建的下游用户负担的情况下进行 CI 门控。
特性
- 以适用于 Nix 的方式自动打包依赖项
- 支持替代 cargo 注册表(需要进行少量配置更改)
- 自动支持 Git 依赖项,无需额外配置
- Cargo 保留了仅在实际需要时使用这些依赖项的灵活性,无需强制覆盖整个工作空间
- 仅构建一次依赖项后重复使用构建产物
- clippy 检查
- rustfmt 检查
- cargo-doc 生成
- 支持多种流行工具,如:
入门
最简单的入门方法是从模板初始化一个 flake:
# 从一套全面的测试套件开始
nix flake init -t github:ipetkov/crane#quick-start
或者查看示例和模板以获取更详细的示例。还提供了API 参考。
兼容性政策
破坏性更改可能随时在 master
分支上出现,因此建议在使用此库时采用版本控制策略(例如,使用 flakes 或 niv)。
定期发布标记版本,更改将记录在 CHANGELOG 中。版本号将遵循语义化版本控制。
测试套件针对最新的稳定版 nixpkgs 和 nixpkgs-unstable
运行。这些通道上的任何故障都被视为 bug,应该报告。
许可证
本项目采用 MIT 许可证。
贡献
除非您明确声明,否则您有意提交以包含在内的任何贡献都将根据 MIT 许可证进行许可,不附加任何其他条款或条件。