# Created with package:mono_repo v1.2.1
language: dart

# Custom configuration
before_install:
  - "wget -O protoc.zip https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip"
  - "unzip -d protoc protoc.zip"
  - "export PATH=$PWD/protoc/bin:$PATH"
  - echo $PATH
  - "echo \"dependency_overrides: {protobuf: {path: ../protobuf}}\" >> protoc_plugin/pubspec.yaml"

jobs:
  include:
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: api_benchmark - TASKS: [./compile_protos.sh, dartfmt -n --set-exit-if-changed ., dartanalyzer --fatal-warnings .]"
      script: ./tool/travis.sh command_0 dartfmt dartanalyzer_0
      env: PKG="api_benchmark"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: dev - DIR: protobuf - TASKS: dartanalyzer --fatal-infos --fatal-warnings ."
      script: ./tool/travis.sh dartanalyzer_1
      env: PKG="protobuf"
      dart: dev
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: protobuf - TASKS: dartfmt -n --set-exit-if-changed ."
      script: ./tool/travis.sh dartfmt
      env: PKG="protobuf"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: protobuf - TASKS: dartanalyzer --fatal-warnings ."
      script: ./tool/travis.sh dartanalyzer_0
      env: PKG="protobuf"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: protobuf - TASKS: pub run test"
      script: ./tool/travis.sh test
      env: PKG="protobuf"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: dev - DIR: protobuf - TASKS: pub run test"
      script: ./tool/travis.sh test
      env: PKG="protobuf"
      dart: dev
    - stage: format_analyzer_tests
      name: "SDK: dev - DIR: protoc_plugin - TASKS: [make protos, dartanalyzer --fatal-infos --fatal-warnings .]"
      script: ./tool/travis.sh command_1 dartanalyzer_1
      env: PKG="protoc_plugin"
      dart: dev
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: protoc_plugin - TASKS: [make protos, dartfmt -n --set-exit-if-changed ., dartanalyzer --fatal-warnings .]"
      script: ./tool/travis.sh command_1 dartfmt dartanalyzer_0
      env: PKG="protoc_plugin"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: protoc_plugin - TASKS: [make protos, pub run test]"
      script: ./tool/travis.sh command_1 test
      env: PKG="protoc_plugin"
      dart: stable
    - stage: format_analyzer_tests
      name: "SDK: dev - DIR: protoc_plugin - TASKS: [make protos, pub run test]"
      script: ./tool/travis.sh command_1 test
      env: PKG="protoc_plugin"
      dart: dev
    - stage: format_analyzer_tests
      name: "SDK: stable - DIR: query_benchmark - TASKS: [./compile_protos.sh, dartfmt -n --set-exit-if-changed ., dartanalyzer --fatal-warnings .]"
      script: ./tool/travis.sh command_0 dartfmt dartanalyzer_0
      env: PKG="query_benchmark"
      dart: stable

stages:
  - format_analyzer_tests

# Only building master means that we don't run two builds for each pull request.
branches:
  only:
    - master

cache:
  directories:
    - "$HOME/.pub-cache"
