language: go

sudo: false

cache:
  directories:
  - node_modules

go:
- 1.2.x
- 1.3.x
- 1.4.2
- 1.5.x
- 1.6.x
- master

env: pip_install="pip install --user"

matrix:
  allow_failures:
  - go: master
  include:
  - go: 1.6.x
    os: osx
    env: pip_install="sudo pip install"

before_script:
- $pip_install flake8
- mkdir -p ${GOPATH%%:*}/src/gopkg.in/urfave
- rm -rvf ${GOPATH%%:*}/src/gopkg.in/urfave/cli.v2
- rm -rvf ${GOPATH%%:*}/pkg/*/gopkg.in/urfave/cli.v2.a
- ln -sv ${TRAVIS_BUILD_DIR} ${GOPATH%%:*}/src/gopkg.in/urfave/cli.v2

script:
- flake8 runtests cli-v1-to-v2 generate-flag-types
- make all