Improve and simplify javascript build processes.
As our project has become both more diverse and more complex we're discovering many potential committers simply can't figure it out. Some contributing issues include:
- we host development and deployment as a single project
- we host multiple servers that attempt to adhere to disparate build conventions
- we have a mix of test automation approaches using both ruby and javascript
I think the best option right now is to hop on the Grunt bandwagon. It is an automated build tool with a lot of features that may be complex, but in return it offers a whole lot of convenience. The biggest reason to go this way is that there are a lot of heavy front end projects going this way, which helps a lot with having developers that are familiar with the tool. It should also be easy to put a couple of commands in the readme for people who don't want to get involved with the build process to make it work.
Grunt can be found here: http://gruntjs.com/
A good example of a grunt file doing similar stuff to what we would want, by some friends of mine: https://github.com/wearefractal/boiler/blob/master/build/grunt.coffee
So I sat down to work on this and grew more and more anxious that we were going to make our problem worse switching to grunt as a build process without first solving some of our redundancy and scatteredness. Especially with the multiple build systems/test frameworks. I settled on the temporary measure of adding the plugins to the builder.pl script #311. I'm not sure what a clean build process for this complex project would look like, so I'm looking for ideas on how to do this right (with or without grunt).