jvoegele/gradle-android-plugin — pull request #79 by marcusb (2012-09-29 20:58:03+00:00)
Title: Initial work on more flexible and reusable tasks.

## Apology
This started as some small modifications to the plugin, but has grown more into a quasi-rewrite. So maybe submitting a pull request is not appropriate, but I want to point to some of the improvements that the plugin could benefit from.

## Features
* Tasks are stand-alone, reusable and mostly free from assumptions about project details.
* Task inputs and outputs are correctly declared, allowing for up-to-date checking and skipping tasks when possible.
* Supports multi-project builds containing library projects and test projects, and manages the dependencies between them using native Gradle dependency configurations.
* Includes tasks for Emma coverage, Lint, AIDL, ProGuard, device tests...

## Usage hints
* The dependency from the main project to a library project is expressed with the special `androidLibs` configuration:
```
dependencies {
androidLibs project(':facebook')
}
```
* The dependency from a test project to the main project is expressed with the special `androidTest` configuration in the test project:
```
dependencies {
androidTest project(':main')
}
```

## Notes
* This work started from a pre-1.0 version of the plugin, I have not tracked recent improvements upstream.
* I have not attempted to stay compatible with older SDK Tools releases, currently we are using it with tools r19 and Gradle 1.0-milestone-8a.
* My employer MBTE Sweden AB graciously allowed the changes to be published (Apache license).
* The documentation is now all wrong, I should supply some samples...