---
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
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/buildjar/..."
      - "-//src/java_tools/import_deps_checker/..."
      # TODO(philwo): Re-enable after #8708 is fixed.
      - "-//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
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
      # 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
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/python/..."
      # Some prebuilt jars don't run with Java 11
      - "-//src/test/shell/bazel:external_integration_test"
      - "-//src/test/shell/bazel:maven_test"
      # Re-enable once bootstrap works with Java 11
      - "-//src/test/shell/bazel:bazel_bootstrap_distfile_test"
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
      # 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
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//src/test/shell/bazel:cc_integration_test"
    include_json_profile:
      - build
      - test
  ubuntu1804_javabase9:
    platform: ubuntu1804_nojava
    name: ":java: OpenJDK 9 Javabase"
    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
    build_flags:
      - "--javabase=@openjdk9_linux_archive//:runtime"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--javabase=@openjdk9_linux_archive//:runtime"
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/aquery_differ/..."
      - "//tools/android/..."
      - "//tools/python/..."
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/import_deps_checker/..."
      # Currently broken tests on this platform.
      # These tests do not work without an installed system JDK:
      # (see https://github.com/bazelbuild/bazel/issues/6214#issuecomment-424813868)
      # TODO(philwo): Use tags instead of an explicit blacklist.
      - "-//src/test/java/com/google/devtools/build/android/..."
      - "-//src/test/py/bazel:launcher_test"
      - "-//src/test/py/bazel:runfiles_test"
      - "-//src/test/shell/bazel/android/..."
      - "-//src/test/shell/bazel:bazel_bootstrap_distfile_test"
      - "-//src/test/shell/bazel:bazel_coverage_cc_test_gcc"
      - "-//src/test/shell/bazel:bazel_coverage_cc_test_llvm"
      - "-//src/test/shell/bazel:bazel_coverage_java_test"
      - "-//src/test/shell/bazel:bazel_coverage_sh_test"
      - "-//src/test/shell/bazel:bazel_determinism_test"
      - "-//src/test/shell/bazel:bazel_example_test"
      - "-//src/test/shell/bazel:bazel_java_test"
      - "-//src/test/shell/bazel:bazel_java_test_defaults"
      - "-//src/test/shell/bazel:bazel_random_characters_test"
      - "-//src/test/shell/bazel:bazel_repository_cache_test"
      - "-//src/test/shell/bazel:bazel_rules_test"
      - "-//src/test/shell/bazel:bazel_sandboxing_test"
      - "-//src/test/shell/bazel:bazel_test_test"
      - "-//src/test/shell/bazel:empty_package_test"
      - "-//src/test/shell/bazel:external_integration_test"
      - "-//src/test/shell/bazel:java_launcher_test"
      - "-//src/test/shell/bazel:local_repository_test"
      - "-//src/test/shell/bazel:maven_test"
      - "-//src/test/shell/bazel:runfiles_test"
      - "-//src/test/shell/integration:bazel_java_test"
      - "-//src/test/shell/integration:bazel_sandboxed_worker_test"
      - "-//src/test/shell/integration:bazel_worker_test"
      - "-//src/test/shell/integration:discard_analysis_cache_test"
      - "-//src/test/shell/integration:java_integration_test"
      - "-//src/test/shell/integration:jvm_flags_escaping_test"
      - "-//src/test/shell/integration:minimal_jdk_test"
      - "-//src/test/shell/integration:output_filter_test"
      - "-//src/test/shell/integration:stub_finds_runfiles_test"
      - "-//src/test/shell/integration:test_test"
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
    include_json_profile:
      - build
      - test
  ubuntu1804_javabase10:
    platform: ubuntu1804_nojava
    name: ":java: OpenJDK 10 Javabase"
    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
    build_flags:
      - "--javabase=@openjdk10_linux_archive//:runtime"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--javabase=@openjdk10_linux_archive//:runtime"
      - "--test_timeout=1200"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/java_tools/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/aquery_differ/..."
      - "//tools/android/..."
      - "//tools/python/..."
      # Re-enable once fixed: https://github.com/bazelbuild/bazel/issues/8162
      - "-//src/java_tools/import_deps_checker/..."
      # Currently broken tests on this platform.
      # These tests do not work without an installed system JDK:
      # (see https://github.com/bazelbuild/bazel/issues/6214#issuecomment-424813868)
      # TODO(philwo): Use tags instead of an explicit blacklist.
      - "-//src/test/java/com/google/devtools/build/android/..."
      - "-//src/test/py/bazel:launcher_test"
      - "-//src/test/py/bazel:runfiles_test"
      - "-//src/test/shell/bazel/android/..."
      - "-//src/test/shell/bazel:bazel_bootstrap_distfile_test"
      - "-//src/test/shell/bazel:bazel_coverage_cc_test_gcc"
      - "-//src/test/shell/bazel:bazel_coverage_cc_test_llvm"
      - "-//src/test/shell/bazel:bazel_coverage_java_test"
      - "-//src/test/shell/bazel:bazel_coverage_sh_test"
      - "-//src/test/shell/bazel:bazel_determinism_test"
      - "-//src/test/shell/bazel:bazel_example_test"
      - "-//src/test/shell/bazel:bazel_java_test"
      - "-//src/test/shell/bazel:bazel_java_test_defaults"
      - "-//src/test/shell/bazel:bazel_random_characters_test"
      - "-//src/test/shell/bazel:bazel_repository_cache_test"
      - "-//src/test/shell/bazel:bazel_rules_test"
      - "-//src/test/shell/bazel:bazel_sandboxing_test"
      - "-//src/test/shell/bazel:bazel_test_test"
      - "-//src/test/shell/bazel:empty_package_test"
      - "-//src/test/shell/bazel:external_integration_test"
      - "-//src/test/shell/bazel:java_launcher_test"
      - "-//src/test/shell/bazel:local_repository_test"
      - "-//src/test/shell/bazel:maven_test"
      - "-//src/test/shell/bazel:runfiles_test"
      - "-//src/test/shell/integration:bazel_java_test"
      - "-//src/test/shell/integration:bazel_sandboxed_worker_test"
      - "-//src/test/shell/integration:bazel_worker_test"
      - "-//src/test/shell/integration:discard_analysis_cache_test"
      - "-//src/test/shell/integration:java_integration_test"
      - "-//src/test/shell/integration:jvm_flags_escaping_test"
      - "-//src/test/shell/integration:minimal_jdk_test"
      - "-//src/test/shell/integration:output_filter_test"
      - "-//src/test/shell/integration:stub_finds_runfiles_test"
      - "-//src/test/shell/integration:test_test"
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_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
    build_flags:
      - "--apple_platform_type=macos"
      # Remove when https://github.com/bazelbuild/bazel/issues/7026 is fixed.
      - "--noincompatible_strict_action_env"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--test_timeout=1200"
      # Remove when https://github.com/bazelbuild/bazel/issues/7026 is fixed.
      - "--noincompatible_strict_action_env"
    test_targets:
      - "--"
      - "//scripts/..."
      - "//src/test/..."
      - "//src/tools/singlejar/..."
      - "//third_party/ijar/..."
      - "//tools/android/..."
      - "//tools/aquery_differ/..."
      - "//tools/osx/crosstool/..."
      - "//tools/python/..."
      - "-//src/test/shell/integration:minimal_jdk_test"
        # C++ coverage is not supported on macOS yet.
      - "-//src/test/shell/bazel:bazel_cc_code_coverage_test"
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
      - "-//src/test/shell/bazel:bazel_java_test_jdk9_toolchain_released"
      - "-//src/test/shell/bazel:bazel_java_test_jdk9_toolchain_head"
      - "-//src/test/shell/bazel:bazel_java_test_jdk10_toolchain_head"
    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"
      # Remove when https://github.com/bazelbuild/bazel/issues/7026 is fixed.
      - "--noincompatible_strict_action_env"
    build_targets:
      - "//src:bazel"
      - "//src:bazel_jdk_minimal"
    test_flags:
      - "--copt=-w"
      - "--host_copt=-w"
      - "--test_env=JAVA_HOME"
      - "--test_timeout=1200"
      # Remove when https://github.com/bazelbuild/bazel/issues/7026 is fixed.
      - "--noincompatible_strict_action_env"
    test_targets:
      - "--"
      - "//src:all_windows_tests"
      # TODO(iirina): Re-enable after #7952 was released.
      - "-//src/test/shell/bazel:embedded_tools_deps_test"
    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
