# Travis CI build file for Package-Builder.
# Package-Builder runs on OS X and Linux (Ubuntu).
# See the following URLs for further details on Travis CI
# https://docs.travis-ci.com/user/customizing-the-build/
# https://docs.travis-ci.com/user/docker/
# https://docs.travis-ci.com/user/multi-os/

# whitelist (branches that should be built)
branches:
  only:
    - master
    - develop
    - /^issue.*$/

notifications:
  slack:
    secure: "VFUQIBCL8Kiubw7ojN3oJOs2TgobYaAZTCQePDATOMSRKRo/rDgsloGDc3kqGkLb0lAwky1lwKQjnRUsG1mEES6+W2K3QWsmzpTR1owPzZprrHrL/h1vkWdysx7ed0dBnbs8uhtD4iPe46vWZqLc1ZyfV8QxefTD9mrS4VeH7rd4qOwMgkjphaoVc0/cOkt0u8p54961HLVt4euSZf0766hfYH+1EwvoShaiK/2aKTF/hmFavB2iASHRXJnOm9S4iDWyFW2D7XEwoo9o9jOAqtYbVefGglCjUymmuNCmj1bE3NSWXJB/5KC8xFNYs7b5jZ19diu5PQK2K1HCtJvLhW2wv7cBfBFrluvz52zeHB8izYIiSV+sr6mJgnPuwaoYUObJWkLlKpTo3oPgAU/62l0KMgdn1EoBrCSDVCz5IBjLmty25nFl1oDGZITQjNIkIMUjh4dojjr+JSRDumHxje39bu8nvxsA5pxDulnWQNorvaHeWf8t2ZAqYW/ojpAlmvBr7E+U9P6DHw40FDStcI8bJGfWv8yybjMocYtTTl6FaQdfqNm3Afp5wlUxNAkAG2neRGnuitHTQ4CBHquA9NG4c7tlyafUf9UMuce3ikQiUeecNnrW2tLkKEnkO6KXwgvOCAyQrFMHncPWXfQVY/+c/2ejelCOUW8BL2pBLBY="

matrix:
  include:
    - os: linux
      dist: trusty
      sudo: required
    - os: osx
      osx_image: xcode9
      sudo: required
    - os: linux
      dist: trusty
      sudo: required
      env: SWIFT_SNAPSHOT=3.1.1
    - os: osx
      osx_image: xcode8.3
      sudo: required
      env: SWIFT_SNAPSHOT=3.1.1
    - os: linux
      dist: trusty
      sudo: required
      env: SWIFT_SNAPSHOT=swift-DEVELOPMENT-SNAPSHOT-2017-08-15-a
    - os: osx
      osx_image: xcode9
      sudo: required
      env: SWIFT_SNAPSHOT=swift-DEVELOPMENT-SNAPSHOT-2017-08-15-a
    - os: linux
      dist: trusty
      sudo: required
      env: SWIFT_SNAPSHOT=swift-3.1-DEVELOPMENT-SNAPSHOT-2017-06-14-a
    - os: osx
      osx_image: xcode8.3
      sudo: required
      env: SWIFT_SNAPSHOT=swift-3.1-DEVELOPMENT-SNAPSHOT-2017-06-14-a

script:
  # Set up build structure for test projects
  - mv tests/library ../library
  - mv tests/executable ../executable
  - cp -R ./ ../library/Package-Builder
  - cp -R ./ ../executable/Package-Builder
  - cp -R ../executable ../executable-no-swift-version
  - rm ../executable-no-swift-version/.swift-version
  # This tests Package-Builder with a library
  - cd ../library
  - ./Package-Builder/build-package.sh -projectDir $TRAVIS_BUILD_DIR/library
  # This tests Package-Builder with an executable
  - cd ../executable
  - ./Package-Builder/build-package.sh -projectDir $TRAVIS_BUILD_DIR/executable
  # Test building a package that does not have a .swift-version file
  - cd ../executable-no-swift-version
  - ./Package-Builder/build-package.sh -projectDir $TRAVIS_BUILD_DIR/executable-no-swift-version
