There are many build systems that have evolved over the history of software development. Sometimes, it might feel as if there are more build systems than there are programming languages.
Here is a brief list, just to get a feeling for how many there are:
- For Java, there is Maven, Gradle, and Ant
- For C and C++, there is Make in many different flavors
- For Clojure, a language on the Java Virtual Machine (JVM), there is Leiningen and boot, in addition to Maven
- For JavaScript, there is Grunt
- For Scala, there is sbt
- For Ruby, we have Rake
- Finally, of course, we have shell scripts of all kinds
Depending on the size of your organization and the type of product you are building, you might encounter any number of these tools. To make life even more interesting, it's not uncommon for organizations to invent their own build tools.
As a reaction to the...