This is nothing more, nothing less than a simple and stupid command-processor, task executer, /just-execute-shell-commands-in-order-grouped-by-tasks-thingy or whatever you like to call it.
No logo, no code coverage, no 'backers', just some Go code hacked together in around an hour to avoid using Makefiles and make anymore and all of the alternatives out there.
It does the job for me and maybe it does it for you.
Dofile:
description = "Very important tasks"
[tasks]
[tasks.build]
commands = [
"my-super-cool-build-tool --with-options AndArguments"
]
output = true
[tasks.clean]
commands = [
"rm -rf /",
"echo 'That wasn't so smart, wasn't it?'"
]
output = true
piped = true
[tasks.clean-build]
tasks = [
"clean",
"build"
]
Then simply type
$ do build
$ do clean
$ do build clean
$ do clean-build
to execute those super-important tasks.
When no task name is given, tasks are executed in the order they are declared in the Dofile. Subtasks are executed before the commands of the task that references them, which makes them behave like dependencies.