#build #workspace #ci #make #build-tool

app hull

构建工具以辅助 Rust 开发

4 个版本

使用旧的 Rust 2015

0.1.3 2018年7月20日
0.1.2 2018年6月27日
0.1.1 2018年3月29日
0.1.0 2018年3月28日

#24 in #make

MIT 许可证

14KB
228

Hull

Hull 是一个跨 Linux 和 Windows 辅助 Rust 开发的构建工具。

内容

用法

单个 Crates

# Compile binaries, tests, and examples:
hull build

# Compile binaries, tests, and examples in release mode:
hull build -- --release

# Compile and specify features:
hull build -- --features "feature1 feature2"

工作区

# Compile binaries, tests, and examples:
hull build

# Compile binaries, tests, and examples in release mode:
hull build -- --release

# Arbitrary command
hull each -- bash -c 'echo ${PWD}' # Linux, Windows Git Bash
hull each -- cmd /Q /C echo %cd%   # Windows Cmd

# Don't do this, because `hull build` automatically detects whether the crate is a workspace:
hull each -- hull build
# If you really need to, you can use this:
hull each -- hull build --no-detect-workspace

安装

crates.io

cargo install hull

从源代码

(git clone [email protected]:azriel91/hull.git && cd hull && cargo install)

状态

目前这处于实验模式,我会逐渐在生产环境中提高代码质量。

路线图

  • 测试所有代码。
  • 使用日志框架。
  • 使用 failure 处理和报告失败。
  • 使用 indicatif 在交互式运行时减少日志冗余。

动机

这个工具是因我无法简单地“运行这个”而编译跨操作系统的所有 crate 可编译文件而产生的挫败感。

cargo-make 解决了我的许多构建问题,但 Windows 上有太多怪癖,这意味着我必须在 Bash 和 Batch 中编码构建步骤以实现无缝集成,但 Batch 是你永远不会想接触的语言 *shudder*。所以我决定用 Rust 编写一个构建工具。

问题

  • 关于 macOS 呢?

    我目前没有 Mac,理论上它应该可以工作,但没有保证。

依赖关系

~5MB
~91K SLoC