Ant, Maven, Gradle, Buildr - the choice of built systems for Java based systems is manifold and only discussions about coding styles are getting more heated than discussion on which built system is superior. In this talk we are looking at two built system - the well established veteran Maven against the Groovy based newcomer Gradle. Where are the similarities between these two built systems and what differentiates them? Why and when would you chose one over the other?
Let's do a deep dive into the first of the SOLID principles. What is a responsibility? Why should it be single? How do we make it single? We'll examine all these issues in extreme detail. We'll look at some old code to see whether it conforms or not. We'll also look at various design patterns and strategies that help us conform to this principle.