For sh purises, see beltaloada.
For pragmatists, see make.
$ cd example
$ vast -l
v-lint
v-test
v-build
$ vast
Running integration test suite.
See vast -h
for more detail.
vast is a build tool for shell script projects.
vast is written in POSIX sh for portability, though you may use it with any POSIXy shell, including derivatives such as bash, zsh, and ksh.
If you're familiar with make
and Makefile
, then you may enjoy vast
and vast.sh
files.
By convention, individual tasks are defined as executable v-<task name>
shell scripts in a per-project .vast.d
directory.
Compound tasks can invoke child tasks by simply running the command v-<child task name>
.
- Copy the vast project locally.
- Add
export PATH="${PATH}:<...>/vast/bin
to your shell's configuration file.
See DEVELOPMENT.md.
- Inspired by the excellent mage build system for Go projects
- bashate, a shell script style linter
- cmake for C/C++ projects
- GNU autotools, a build system for Linux C/C++ projects
- GNU make, a popular make implementation with GNU extensions
- Gradle, a build system for JVM projects
- lake, a Lua task runner
- Mage, a task runner for Go projects
- npm, Grunt, Node.js task runners
- POSIX make, a task runner standard for C/C++ and various other software projects
- Rake, a task runner for Ruby projects
- Shake, a task runner for Haskell projects
- ShellCheck, a shell script linter with a rich collection of rules for promoting safer scripting
- slick, a linter to enforce stricter, unextended POSIX sh syntax compliance
- stank, a collection of POSIX-y shell script linters
- tinyrick for Rust projects