快速开始
参见 安装部分 了解如何在你的电脑上安装 just
。试着运行 just --version
以确保它被正确安装。
关于语法的概述,请查看这个 速查表。
一旦 just
安装完毕并开始工作,在你的项目根目录创建一个名为 justfile
的文件,内容如下:
recipe-name:
echo 'This is a recipe!'
# 这是一行注释
another-recipe:
@echo 'This is another recipe.'
当你调用 just
时,它会在当前目录和父目录寻找文件 justfile
,所以你可以从你项目的任何子目录中调用它。
搜索 justfile
是不分大小写的,所以任何大小写,如 Justfile
、JUSTFILE
或 JuStFiLe
都可以工作。just
也会寻找名字为 .justfile
的文件,以便你打算隐藏一个 justfile
。
运行 just
时未传参数,则运行 justfile
中的第一个配方:
$ just
echo 'This is a recipe!'
This is a recipe!
通过一个或多个参数指定要运行的配方:
$ just another-recipe
This is another recipe.
just
在运行每条命令前都会将其打印到标准错误中,这就是为什么 echo 'This is a recipe!'
被打印出来。对于以 @
开头的行,这将被抑制,这就是为什么 echo 'This is another recipe.'
没有被打印。
如果一个命令失败,配方就会停止运行。这里 cargo publish
只有在 cargo test
成功后才会运行:
publish:
cargo test
# 前面的测试通过才会执行 publish!
cargo publish
配方可以依赖其他配方。在这里,test
配方依赖于 build
配方,所以 build
将在 test
之前运行:
build:
cc main.c foo.c bar.c -o main
test: build
./test
sloc:
@echo "`wc -l *.c` lines of code"
$ just test
cc main.c foo.c bar.c -o main
./test
testing… all tests passed!
没有依赖关系的配方将按照命令行上给出的顺序运行:
$ just build sloc
cc main.c foo.c bar.c -o main
1337 lines of code
依赖项总是先运行,即使它们被放在依赖它们的配方之后:
$ just test build
cc main.c foo.c bar.c -o main
./test
testing… all tests passed!