We need to make a decision about build tools.
- Make: venerable, but crusty. Dependency model doesn't work for a lot of things (you just have a list of commands). Not effectively cross platform -- Windows users in particular don't work well with make. Bit of a pain to set up but doesn't create additional dependencies. Everyone knows how to do easy stuff, but hard stuff can get really hard and ugly.
- Grunt: the tool of choice for node projects. We're a node project. Cross platform. Pulls in lots of dependencies if you install it locally. Easy to set up the grunt files badly.
- Pure JS scripts -- requires a little more scaffolding to set up; Grunt has that built in. Why bother? (See article below for one person's take on why he bothered.)
- Jake: it's basically trying to do a make-like design but using javascript. Some good ideas, but like make, complex stuff requires a PhD to pull off.
- Ant or Maven or Rake or Gradle: Ant is at this point a good tool (it's had a decade to mature), but requires Java to run and it's probably not worth the pain. Maven and Rake are too tied to Java and Ruby to be worth considering. Gradle...not sure we need that much.
Given that we want to get opensource js developers onboard and shouldn't discriminate against windows developers, we need a good reason NOT to go with grunt, honestly. But let's have it out.
Interesting articles for further input:
Having a read through the articles and also some other links you are reminded how personal and involved people get with build tools as they can make your life hell I guess.
Looking at it from a requirements perspective - well used (hence documented and supported), cross-platform, easy enough to onboard contributing devs then to me Grunt seems to fit the bill.
Lets go with Grunt - we have bigger things to solve.