I use a rather simple build process for my custom projects:
Gulp for builds; I usually have the following tasks generally
concat - Concatenate all the files; produce a combined file. Useful for development. compile - compile all the source filesclean - do a clean up; delete all the temp. filesprod - make a production ready file; Uglify, and such.Add a NPM script for this
npm compile - compile everything (I add flags for production or development)npm test - Oh, come on!However, I have also used some complicated build frameworks. I remember, I was working for this team, and we had a Makefile. It was used to compile some of our native plugins. We had around 50 tasks defined. Why? Because we wrote the library on which the entire infrastructure depended. Close to 10000 tests. :\
So, yeah! "It's complicated" (Sorry, I couldn't resist it)