[Sane][0] is a piece of software I've written to deal with my grievances with Make, Just, Bazel, Meson and other build systems or command runners.
I've always been frustrated by either 1. the opaque domain-specific languages, 2. the necessary installation processes, or 3. the difficulty to keep state coherently and to write logic.
Sane is a single Python3 file that exports a function decorator (@recipe), and a function (sane_run), which can turn any Python file into a Make-like utility: upon execution, a dependency graph is built, checked, and ran in deterministic order.
There is no installation process, and no external dependencies; sane is made to be redistributed with the codebase. There are no domain specific languages, because everything is Python.
I sympathize with your frustration. Feature-wise, I think folks considering migration and not heading to CI will wait until concurrency is fully exploited.
[Sane][0] is a piece of software I've written to deal with my grievances with Make, Just, Bazel, Meson and other build systems or command runners.
I've always been frustrated by either 1. the opaque domain-specific languages, 2. the necessary installation processes, or 3. the difficulty to keep state coherently and to write logic.
Sane is a single Python3 file that exports a function decorator (@recipe), and a function (sane_run), which can turn any Python file into a Make-like utility: upon execution, a dependency graph is built, checked, and ran in deterministic order.
[GIF]: https://github.com/mikeevmm/sane/blob/master/demo.gif
There is no installation process, and no external dependencies; sane is made to be redistributed with the codebase. There are no domain specific languages, because everything is Python.
Thoughts are welcome.
[0]: https://github.com/mikeevmm/sane