|
|
|
|
|
by frankjr
765 days ago
|
|
> Whenever I see comments about people trying to reinvent make, my conclusion is that make "as a tool" is inevitably far superior, but people are mostly familiar with a small subset of its functionality, which makes it appear clunky. If you're looking for a task runner, not a build tool, then make is not "far superior" in any sense and there are much better alternatives, the most prominent probably being "just". Even something as basic as accepting parameters to a task (make fetch <arg1> <arg2>) is awkward because make doesn't understand this syntax and interprets the arguments as targets. The only way to make it work is either through named arguments or empty target hacks and in both cases you need to write the validation logic yourself. In just it's simply: fetch PACKAGE VER:
@echo fetching {{PACKAGE}} at version {{VER}}
$ just fetch foo
error: Recipe `fetch` got 1 argument but takes 2
usage:
just fetch PACKAGE VER
$ just fetch foo 1.2.3
fetching foo at version 1.2.3
https://just.systems/man/en/chapter_1.html |
|
AFAIK, Just doesn't have any way to mark "this task is complete, so don't re-run it". It also doesn't have file-based dependendicies, which are pretty common for any kind of programming.
Why would I want to lose all of Make's flexibility and power in exchange for slightly prettier UI syntax?