language: dart
sudo: required
dist: trusty
dart:
  - dev
cache:
  directories:
    - $HOME/.npm
    - $HOME/.nvm
    - $HOME/.pub-cache/hosted
    - pkg/dev_compiler/node_modules
addons:
  firefox: latest
before_install:
  # g++4.8.1 setup
  - if [ "$CXX" == "g++" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi

  # clang 3.4 setup
  - if [ "$CXX" == "clang++" ]; then sudo add-apt-repository -y ppa:h-rayflood/llvm; fi

  - sudo apt-get update -qq

  # g++4.8.1 install
  - if [ "$CXX" = "g++" ]; then sudo apt-get install -qq g++-4.8; fi
  - if [ "$CXX" = "g++" ]; then export CXX="g++-4.8"; fi

  # clang 3.4 install
  - if [ "$CXX" == "clang++" ]; then sudo apt-get install --allow-unauthenticated -qq clang-3.4; fi
  - if [ "$CXX" == "clang++" ]; then export CXX="clang++-3.4"; fi

  - if [ "$CXX" ]; then $CXX --version ; fi

  # Chrome install
  - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
  - wget https://dl.google.com/linux/direct/google-chrome-unstable_current_amd64.deb
  - sudo dpkg -i google-chrome*.deb
  - /usr/bin/google-chrome --version
  - export CHROME_BIN=/usr/bin/google-chrome
  - /usr/bin/google-chrome-unstable --version
  - export CHROME_CANARY_BIN=/usr/bin/google-chrome-unstable

  # Install Depot Tools
  - git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
  - export PATH=`pwd`/depot_tools:"$PATH"

  # Checkout everything to pull in sdk and third_party dart packages
  - cd ..
  - 'gclient config --spec=''solutions = [ { "name": "sdk", "url": "git@github.com:dart-lang/sdk.git", "deps_file": "DEPS", "managed": False } ]'''
  - gclient sync -n
  - download_from_google_storage --no_auth --no_resume --bucket dart-dependencies --extract -s sdk/third_party/pkg/unittest.tar.gz.sha1
  - cd sdk

  # If a C++ compiler is set, run hooks and build the SDK - else use the preinstalled SDK instead.
  - export DART_USE_GYP=1
  - if [ "$CXX" ]; then gclient runhooks ; fi
  - if [ "$CXX" ]; then ./tools/build.py -m release create_sdk ; fi
  - if [ "$CXX" ]; then export PATH=`pwd`/out/ReleaseX64/dart-sdk/bin:"$PATH" ; fi
  - dart --version

  # DDC setup
  - cd pkg/dev_compiler
  - pub global activate dart_coveralls
  - export DISPLAY=:99.0
  - sh -e /etc/init.d/xvfb start
install:
  # Empty to suppress default pub get behavior
before_script:
  # Node modules used by DDC
  - nvm install 6.9.1
  - npm install
script:
  # Run DDC tests
  - if [[ -z "$TEST" ]]; then ./tool/presubmit.sh ; fi
  - if [[ "$TEST" == coverage ]]; then ./tool/build_sdk.sh && ./tool/coverage.sh ; fi
  - if [[ "$TEST" == node ]]; then ./tool/node_test.sh ; fi
  - if [[ "$TEST" == package ]]; then ./tool/build_sdk.sh && ./tool/build_pkgs.dart ; fi
env:
  - ANALYZER=master
  - ANALYZER=master DDC_BROWSERS=Firefox
  - ANALYZER=master DDC_BROWSERS=ChromeCanaryTravis
  # TODO(vsm): We don't get much value from this for DDC & it eats up travis
  # cycles.  Consider adding back at some point to test the built dartdevc
  # snapshot.
  # - ANALYZER=master CXX=clang++
  - TEST=coverage
  - TEST=package
matrix:
  allow_failures:
    - env: ANALYZER=master CXX=clang++
notifications:
  email:
    recipients:
      - dev-compiler+buildbot@dartlang.org
    on_failure: change
