2.0.0-alpha.2 2021年8月2日
1.3.0 2021年3月3日
1.2.0 2020年11月15日
1.2.0-pre.2 2020年9月24日
0.6.2 2020年6月25日

#28#phase

每月下载量 43

MIT 许可证

105KB
2K SLoC

Runscript

Runscript 是一个像 make 一样的工具,用于管理运行命令。Runscript 还可以处理构建,但它不跟踪文件更新时间(目前还不?),因此您可能仍然想使用 make 来处理(但您可以从 runscript 中调用它)。

有关有用 runscript 的示例,请参阅 此存储库的运行文件

如何安装

二进制文件可以从 发布页面 获取。或者,您可以使用 cargo 来构建和安装它。支持包管理器很困难,所以我不打算尝试,直到这个项目真正开始使用。

Cargo

如果您有 cargo,并且愿意从源代码构建,runscript 在 crates.io

cargo install runscript

它是如何工作的

run 被执行时,它会在当前工作目录中查找一个名为 run 的文件(也可以指定其他文件)。它会搜索这个运行文件中的脚本,其外观如下

#target phase
commands
#/

target 可以是默认目标 -,全局目标 #,或者是任何其他名称的目标(匹配正则表达式 [A-Za-z0-9_]*)。

phase 可以是以下字符集之一

文本 阶段
b! 仅构建
b 构建
(空白) 构建和运行
br 构建和运行
r 运行
r! 仅运行

执行的阶段取决于传递给 run 的标志。

阶段 -b--build-only (空白),--build-and-run -r--run-only
仅构建
构建
构建和运行
运行
仅运行

如果传递了多个阶段标志,则使用最后提供的标志。

commands 是一个由换行符分隔的终端命令列表,换句话说,是一个shell脚本。然而,目前并不支持所有脚本功能。以下是支持的功能列表

  • 命令和参数
  • 参数插值
    • *.run 通配符匹配(仅支持 *?**{}
    • $VAR 环境变量
    • $(echo) 内部子命令
    • $1 位置参数
    • $@ 所有位置参数
  • 单引号和双引号参数
  • 通过 &&||| (不使用 ;,仅使用换行符)进行命令链
  • VAR=val 环境变量设置(带有插值)

许可证

根据您的选择,许可协议为以下之一

贡献

除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证的定义,应如上所述双重许可,不附加任何其他条款或条件。

依赖关系

~2–10MB
~95K SLoC