travis-ci/travis-build — pull request #226 by gildegoma (2014-04-04 07:45:57+00:00)
Title: Android SDK Components and Licenses

This is still a work in progress, but I think we are getting close the end of this first iteration :)

- By default, don't install Android SDK components (pre-installed stuff by travis-cookbooks should be enough for most users). The idea is too build lots faster, not to reinstall again android sdk huge stuff!

- As long as Android SDK toolkit does not provide a handy/reliable tool run `android update sdk` in non-interactive mode, we'll use an helper script `android-update-sdk` to encapsulate the `expect` tricks and so on. I see two installation variants for this script:
1. pre-installed by the android-sdk chef cookbook (everything is ready if we opt for this solution)
1. auto-download the script for each travis build from a github repository (similarly to https://github.com/embarkmobile/android-sdk-installer/ for the whole setup).

The second option has the advantage to give us the ability to adapt the script without having to build and deploy a new Android VM image (e.g. if a new release of Android SDK breaks the current script)

I'm not satisfied yet with the current YAML keys (e.g. `sdk_components` and `sdk_licenses`). I would prefer something more "contextualized" (and if possible hierarchical), like for instance:

```yaml
language: android

android_options:
components:
- build-tools-19.0.0
- sysimg-19
licenses:
- 'android-wear-sdk-license-.+'
```

I also have a trouble with the specs (see 71d9989 quick fix).

@joshk @henrikhodne @andrewhr @rkistner @austynmahoney: your comments are more than welcome :)

ref travis-ci/travis-ci#1395