kijiproject/kiji-top-level — pull request #1 by phs (2014-06-16 23:32:28+00:00)
Title: Phs/travis

Add travis and vagrant, use a build matrix to select platform.

Per the travis user documentation at
* http://docs.travis-ci.com/user/languages/java/
* http://docs.travis-ci.com/user/build-configuration/#The-Build-Matrix

..we enable several parallel builds using the latest cloudera CDH versions supported by the latest bento (ebi 2.0.1).

All builds are run with Oracle JDK 7 (travis no longer offers JDK 6 since its End of Life.)

Vagrant enables us to locally reproduce an environment very similar to travis'. To select a default provider, echo its name to `.vagrant/provider`. The default is virtual box.

To always use vmware fusion (for example):
```
$ echo vmware_fusion > .vagrant/provider
```

After installation and configuration, one can create the environment and run the tests as follows. Notice the choice of platform with the `PLATFORM` environment variable.

```bash
$ PLATFORM=cdh4.4.0 vagrant up
$ vagrant ssh
vagrant@kiji:~$ cd kiji
vagrant@kiji:~/kiji$ ./run-tests
vagrant@kiji:~/kiji$ exit
$ vagrant halt # Or `vagrant destroy -f`
```

The support files for the different platforms themselves are found under `provisioning/platforms`, each in a titular directory. Each such directory contains some common elements:
* a `install` script, which provisions that platform
* a `files` directory containing a file system overlay of configuration files and other bits. Browsing these is the easiest way to examine the chosen configuration for each platform.

Generally only the minimal amount of configuration is performed for each platform.