2.0.0-alpha.2 |
|
---|---|
1.3.0 |
|
1.2.0 |
|
1.2.0-pre.2 |
|
0.6.2 |
|
#28 在 #phase
每月下载量 43
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 License,版本 2.0,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您有意提交的任何贡献,根据 Apache-2.0 许可证的定义,应如上所述双重许可,不附加任何其他条款或条件。
依赖关系
~2–10MB
~95K SLoC