Title: Gradle - The New Build Automation Tool on the Block by Spencer Allain
Food: Pizza and beverages will be provided. Tallk at 7 PM.
Sponsors: Many thanks to the following supporters of the DC/Nova JUG.
Description: If you are a JVM-based software developer or build maintainer, then this is a great opportunity to learn about the capabilities of Gradle.
Gradle is an open source project automation tool that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy based DSL instead of the more traditional XML form of declaring project configurations. Unlike Apache Maven which defines lifecycles and Apache Ant where targets are invoked based upon a depends-on partial ordering, Gradle utilizes a Directed Acyclic Graph representation of task dependencies to determine the order that tasks can be run.
Gradle combines the power and flexibility of Ant with the dependency management and conventions of Maven. It ships with a complete version of Ant to easily support importing existing projects, and even converts Ant tasks into native Gradle tasks. Maven and Ivy repositories are fully supported for dependency retrieval and artifact publication, and greater integration support continues to evolve. Gradle's ability to function within any directory structure and file layout means that it can be tried out in any environment and provides a non-disruptive migration pathway should it be selected to replace an existing build tool.
This presentation will cover how Gradle scales with incremental builds, supports a wide range of dependency management, and provides an easy mechanism for bootstrapping called the Gradle Wrapper. Future plans and currently incubating features will be briefly discussed as well.
Bio: Spencer Allain is a Senior Software Engineer at Argon ST, a wholly-owned subsidiary of the Boeing Company.
He has been actively developing software in Java since 1997, and cut his teeth on C++ before the Standard Template Library was actually standard. During that time, he has developed significant experience with GNU Make and Apache Ant, dabbled with iMake and Apache Maven, and probably learned way too much about in-house developed tools. In December of 2008, Gradle 0.5 was released, and since then he has devoted much of his limited spare time to learning as much as he can about how to leverage Gradle to make builds less painful.
Throughout the year, Spencer is a Coach or Mentor for various activities, so his ability to focus upon any one thing fluctuates. He just recently was able to make minor contributions to the Jenkins Gradle Plugin, the Redline RPM library, and the Gradle RPM Plugin. Unfortunately, the FIRST robotics challenge season is in full swing, so he apologizes in advance that a major portion of his consciousness probably will be distracted thinking about vision recognition algorithms using OpenCV running on Raspberry Pi's.