16 个不稳定版本 (3 个破坏性更新)

0.12.4 2020年12月28日
0.12.3 2020年12月9日
0.11.0 2020年11月26日
0.10.0 2020年11月25日
0.0.7 2019年10月20日

#349 in 构建工具

每月下载量 46

MIT 许可证

32KB
670 代码行

buildy - 为本地迭代提供超快并行构建系统

警告:buildy 还未准备好使用

buildy 非常简单且可配置。它通过监视文件系统并在必要时重建来促进开发。

buildy 的核心在其配置文件中。只需将一个名为 .buildy.yml 的文件添加到项目的根目录。

此配置文件会告诉 buildy 应该做什么。

.buildy.yml 规范

server_deps:
  watch:
    - server/package.json
    - server/yarn.lock
  build:
    - cd server && yarn install

server:
  depends_on:
    - server_deps
  watch:
    - server/src
  run:
    - cd server && node src/server.js

配置文件由 target 组成,这是一个构建实体。每个 target 可以定义其依赖项、要 watch 的文件、构建时要执行的命令以及构建完成后要执行的命令。

target 将尽可能地并行运行,直到它们的依赖项构建完成才会开始。

target 下的 build 列表中的命令将在一个 shell 工作目录中按顺序执行,该目录包含 .buildy.yml

如果没有任何 watch 路径存在,或者自上次构建以来 watch 路径中的任何内容已更改,则将重新构建 target

buildy 在名为 .buildy 的目录中维护一个校验和列表,该目录位于 .buildy.yml 旁边。此目录应在版本控制中忽略。

一旦构建了 target,它将被运行。在 run 中的命令将依次执行。它们可以在后台继续运行,这对于运行如 Web 服务器之类的程序很有用。

即使所有内容都已构建,buildy 也会在后台监视 watch 目录中的所有路径的新更改。当检测到任何更改时,那些 target 将被重建。子 target(那些依赖于重建的 target 的)只有在它们的 watch 文件也更改的情况下才会重新运行。

每次重建 target 时,它的 run 命令也会重新运行,终止可能仍在运行的任何命令。

用法

使用 cargo install buildy 安装。

然后,只需在包含 .buildy.yml 的目录中运行 buildy 即可。

已知问题

  • watch 路径更改时应该重新启动的 run 命令需要使用 exec,否则它们将无法正确终止。
  • 没有单元测试
  • 如果构建失败,则不应保存校验和 - 以便重新运行。

依赖关系

~6–15MB
~163K SLoC