Sigh. No prizes for guessing what will happen in two years' time when node.js is no longer the shiny new hotness.
You can't blame them for not staying with narwhal. And I'm sure you are not suggesting that they should switch back to ant or rake.
Honestly, I don't understand the unnecessary snarkiness of some people on this site.
I wonder if Cappuccino has considered using make. make is maintained. make works on Windows. make is unglamorous but it works and it has worked for decades.
And yes, we tried Nailgun (http://www.martiansoftware.com/nailgun/) but I don't recall why that didn't work out.
Perhaps there were better solutions, just pointing out it wasn't completely NIH syndrome.
* nmake, bsdmake, and gnumake are all slightly incompatible with each other if you want to do something smart.
Reflexive negativity is a problem, pg is aware of it. Hiding comment karma score was one attempt at mitigating it, hopefully he's got some more ideas as well. Definitely one of those big problems, with the Internet in general, looking for a solution.
It's merely pointing out what seems to be a trend with this project and the build systems it uses. If there's any negativity involved, it's with how much time and effort (and donations...) the Cappuccino crew wastes with all of this repeated switching to the most-hyped software of the day.
If they hadn't switched people would be complaining that they use such an outdated system as jake.
There are benefits when the entire community standardizes on something. I know I will frequently pass looking at a Python module that won't easily fit into my build system, which, conveniently, is the build system mostPython scripts use.
The fact that Cappuccino pre-dated the de facto standard should not be held against them.
Please think before you snark.
Works on Linux, Mac, Windows, BSD, probably others.
Language-agnostic (and build-system agnostic) so if your project ends up depending on bindings to a specific version of libjpeg or some other C library, you won't be stuck. Likewise if you have perl/ruby glue scripts in your project (which is bound to happen), their dependencies can be properly modeled too.