Wednesday, March 17, 2010

Build tools introduction

Ever since the advent of “make” and its many incarnations, developers have been in search for the ultimate build tool. In the past years we have seen an ever increasing amount of build tools being developed for many different use-cases. In the coming blogs, I will take you through some of the niceties of three new build tools: Maven3, Gradle and Buildr.

Back in the early 80s we started out with make to automatically build (parts of) a project. When Java came to power, we also started to build our Java projects with Make. However soon came Ant which was predominant for a lot of years to come. Ant buildfiles soon became a nightmare to maintain and there were no set standards between projects. Which was the task you needed to run to build the project? What were all the other non-documented tasks for? How could you set up your IDE quickly for a new project? These were questions we fought with on a semi-daily basis...

New tools like Maven and Ivy tried to alleviate the shortcomings of the old tools with better standardization, better dependency management, etc. But how ever hard we tried, each of these tools failed in some other categories. Recently however a new wave of build tools is trying to conquer the marketplace. Maven is now close to its third incarnation, from the Ruby camp we inherited Buildr and the Groovy guys created Gradle.

In the coming blogs I will post tips and tricks on these new tools and where possible try to compare them.

No comments:

Post a Comment