and proven by generations of programmers.
the (very sad) problem here is that for some people makefile is not trendy, it is something first released 42 years ago.
generally the tools that are optimized to make the common case easy aren't so useful to me because i often have alot of intermediate build artifacts/stages.
and i really like the declarative nature of make..just not all the fragility and warts.
does anyone have any suggestions for a nice general declarative alternative?
I don't know your use case in depth, but I don't see why Task wouldn't work for you, since it's similar to Make in this regard.
You can have multiple tasks (for each step) and then either set dependencies or have a task that call all other tasks in the right sequence. And, of course, you'd have to enable [this](https://taskfile.org/#/usage?id=prevent-unnecessary-work).
Anyway, seems that Make is already enough for you, since you're used to it's quirks.
Have you tried using Make on Windows? I know, I also prefer Unix-like systems over Windows (and I barely use Windows these days anymore), but for those that need Windows support, it's a miserable experience trying to use tools that barely work there.
Checksum based (instead of timestamp based) up-to-date resolution is also nice. Etc, etc.
In short, I don't think Task is perfect (far from it), but we desperately need better alternatives to Make.
I don't understand this. How is it easier/nicer to learn an arbitrary schema in an ambiguous[1] data serialization language than the makefile syntax which was designed specifically for the purpose?
I'm not criticising the project; I'm sure a lot of work has gone into it and it is decent software. But I wouldn't encourage people to be quick to disregard 'difficult' mature software and jump at something new that makes claims about being 'simple and easy'.
[1]: https://github.com/cblp/yaml-sucks/