JAX Magazine: The free PDF magazine powered by JAXenter!
When Claudia from S&S Media asked me to be the guest editor for an all-Gradle edition of the Java Tech Journal, I was delighted to accept. I've spent the last year digging deeply into Gradle, writing about it, teaching classrooms full of people how to use it, helping clients adopt it, and using it in my own private and open-source work. As a consultant, writer, and speaker, I'm committed to helping people learn Gradle and succeed with it in practice. Technology paradigms are sticky. When a new technology emerges, it often requires significant investment to learn and use for its intended purpose. New paradigms enjoy success when they do a good job meeting the needs they are intended to address. In the case of software tools, this usually means that the abstractions presented by the tool are a good fit for the ontological and behavioral context in which they fit. But this fit never lasts for long. As the work we do with our tools grows and develops, the abstractions of the old paradigm suddenly become a limitation to be bumped into, worked around, hacked, and eventually abandoned in anger. Open-source and enterprise builds of a decade ago were simpler things than the builds of today. The dependency graph was smaller and less connected, project structure could be expressed with fewer parts, and build actions were more likely to be commodity activities like compiling code, copying files, and creating archives. The tools of the past decade did a good job with these builds, but they are increasingly unable to meet the demands of the builds of the near future. A contemporary enterprise build is a complex piece of software with hundreds or thousands of person-hours invested in it, having competing needs for deep customization and simple expressiveness in the artifacts that describe it. The enterprise builds of next year will be even more complex, adding still more layers of automated testing and deployment. Existing build paradigms are sticky, but they are wearing thin in many cases. Gradle offers a new solution that works just as well for building very simple things as it does for the creation of advanced, hand-coded custom builds. It is a rethinking of what a build tool should be, preparing the enterprise and open-source development communities for the increasingly complex and increasingly customized builds of the next decade. This issue of JTJ will give you a brief glimpse into the power of this open-source build tool. Gradle co-creator, Hans Dockter, will help articulate the history of Gradle and his vision for its future. Trainer and consultant, Ken Kousen, will give you an intensely practical tutorial in how to use Gradle to perform some common enterprise build tasks. Finally, I will give some guidelines for advanced Gradle users who want to extend the tool with plugins. I'm sure you'll find this issue to be a helpful introduction to a tool you can't afford to ignore.