What is Gradle? S Gradle is a task based build system. From files and configuration it assembles build artifacts. S Gradle is flexible. It is not bound to any specific process or technology. S Gradle uses a Groovy based DSL to write configuration. This makes it easy to read and write Gradle scripts.
The Gradle manifesto S „Build scripts are code.“ S Don‘t expect, allow. S Don‘t re-invent, re-use. S Don‘t inherit, inject. S Scale to the complexity of a problem. – „Make the impossible possible, the possible easy, and the easy elegant.“
Gradle vs. Maven (cont.) S Maven is declarative. Gradle is imperative. S Maven is verbose. Gradle is concise. S Maven assumes Maven. Gradle doesn‘t. S Maven scales poorly to simple problems. Gradle scales with the complexity of a problem.
Gradle vs. Maven (cont.) S Maven has a rich plug-in ecosystem. Gradle still needs to catch-up here. S Maven has very good IDE support. Gradle has... IDE support. S Maven has project archetypes. Gradle doesn‘t.
More about tasks S There are different ways how tasks can be used or exposed in a build script: 1 – by writing them 2 – through project.ant 3 – by applying a plug-in
What‘s in store S The plug-in adds the following tasks: S :androidProcessResources S :androidPackage S :androidInstall S :androidInstrument S [:proguard]
Android in Practice Charlie Collins, Michael Galpin, Matthias Käppler • Real world practical recipes • Focus on intermediate to professional developers • Two chapters on testing and build automation Summer 2011 MEAP edition available http://manning.com/collins