---
tasks:
  centos7:
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
        android_ndk_repository/android_ndk_repository/' WORKSPACE
      - rm -f WORKSPACE.bak
      - rm -rf $HOME/bazeltest
      - mkdir $HOME/bazeltest
    build_flags:
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--sandbox_default_allow_network=false"
      - "--sandbox_writable_path=$HOME/bazeltest"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    test_targets:
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/execlog/..."
      - "//src/tools/singlejar/..."
      - "//src/tools/workspacelog/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/buildjar/..."
      - "-//src/java_tools/import_deps_checker/..."
      # These tests are not compatible with the gcov version of CentOS 7.
      - "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
      - "-//src/test/shell/bazel:bazel_coverage_cc_test_gcc"
      - "-//src/test/shell/bazel:bazel_coverage_sh_test"
    include_json_profile:
      - build
      - test
  ubuntu1604:
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
        android_ndk_repository/android_ndk_repository/' WORKSPACE
      - rm -f WORKSPACE.bak
      - rm -rf $HOME/bazeltest
      - mkdir $HOME/bazeltest
    build_flags:
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--sandbox_default_allow_network=false"
      - "--sandbox_writable_path=$HOME/bazeltest"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    test_targets:
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/execlog/..."
      - "//src/tools/singlejar/..."
      - "//src/tools/workspacelog/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/buildjar/..."
      - "-//src/java_tools/import_deps_checker/..."
    include_json_profile:
      - build
      - test
  ubuntu1804:
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
        android_ndk_repository/android_ndk_repository/' WORKSPACE
      - rm -f WORKSPACE.bak
      - rm -rf $HOME/bazeltest
      - mkdir $HOME/bazeltest
    build_flags:
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
      - "--test_env=REMOTE_NETWORK_ADDRESS=bazel.build:80"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--sandbox_default_allow_network=false"
      - "--sandbox_writable_path=$HOME/bazeltest"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
      # Configure and enable tests that require access to the network.
      - "--test_env=REMOTE_NETWORK_ADDRESS=bazel.build:80"
    test_targets:
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/execlog/..."
      - "//src/tools/singlejar/..."
      - "//src/tools/workspacelog/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/import_deps_checker/..."
    include_json_profile:
      - build
      - test
  ubuntu1804_clang:
    platform: ubuntu1804
    environment:
      CC: clang
      CC_CONFIGURE_DEBUG: 1
    name: "Clang"
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
        android_ndk_repository/android_ndk_repository/' WORKSPACE
      - rm -f WORKSPACE.bak
      - rm -rf $HOME/bazeltest
      - mkdir $HOME/bazeltest
    build_flags:
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--sandbox_default_allow_network=false"
      - "--sandbox_writable_path=$HOME/bazeltest"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    test_targets:
      - "//src/test/shell/bazel:cc_integration_test"
    include_json_profile:
      - build
      - test
  macos:
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/' -e 's/^#
        android_ndk_repository/android_ndk_repository/' WORKSPACE
      - rm -f WORKSPACE.bak
      - rm -rf $HOME/bazeltest
      - mkdir $HOME/bazeltest
    build_flags:
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
      - "--test_env=REMOTE_NETWORK_ADDRESS=bazel.build:80"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--sandbox_default_allow_network=false"
      - "--sandbox_writable_path=$HOME/bazeltest"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest/install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
      # Configure and enable tests that require access to the network.
      - "--test_env=REMOTE_NETWORK_ADDRESS=bazel.build:80"
    test_targets:
      - "//scripts/..."
      - "//src/test/..."
      - "//src/tools/execlog/..."
      - "//src/tools/singlejar/..."
      - "//src/tools/workspacelog/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/osx/crosstool/..."
      - "//tools/python/..."
      # C++ coverage is not supported on macOS yet.
      - "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
    include_json_profile:
      - build
      - test
  windows:
    batch_commands:
      - powershell -Command "(Get-Content WORKSPACE) -Replace '# android_', 'android_' | Set-Content WORKSPACE"
    build_flags:
      - "--copt=-w"
      - "--host_copt=-w"
      - "--test_env=JAVA_HOME"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest_install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    build_targets:
      - "//src:bazel.exe"
      - "//src:bazel_jdk_minimal"
      - "//src:test_repos"
    test_flags:
      - "--copt=-w"
      - "--host_copt=-w"
      - "--test_env=JAVA_HOME"
      - "--test_env=TEST_INSTALL_BASE=$HOME/bazeltest_install_base"
      - "--test_env=TEST_REPOSITORY_HOME=$OUTPUT_BASE/external"
    test_targets:
      - "//src:all_windows_tests"
    include_json_profile:
      - build
      - test
  rbe_ubuntu1604:
    shell_commands:
      - sed -i.bak -e 's/^# android_sdk_repository/android_sdk_repository/'
        -e 's/^# android_ndk_repository/android_ndk_repository/'
        -e 's/^# rbe_autoconfig/rbe_autoconfig/'
        -e 's/^# load("@bazel_toolchains/load("@bazel_toolchains/' WORKSPACE
      - rm -f WORKSPACE.bak
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    include_json_profile:
      - build
