// DO NOT MODIFY!
// This file is used only for older tree of Bazel, new tree includes it.
// Please modify https://github.com/bazelbuild/bazel/blob/master/scripts/ci/bazel-tests.json
[
    {
        "configurations": [
            {
                "node": "linux-x86_64",
                "variation": ""
            },
            {
                "node": "ubuntu_16.04-x86_64",
                "variation": ""
            }
        ],
        "parameters": {
            "configure": [
                "echo >>WORKSPACE",
                "cat >>WORKSPACE <<EOF",
                "android_sdk_repository(",
                "    name = \"androidsdk\",",
                "    path = \"${ANDROID_SDK_PATH}\",",
                ")",
                "android_ndk_repository(",
                "    name = \"androidndk\",",
                "    path = \"${ANDROID_NDK_PATH}\",",
                ")",
                "EOF"
            ],
            "tests": [
                "//scripts/...",
                "filter(\"^(?!//src/test/docker).*$\", //src/test/...)",
                "//third_party/ijar/...",
                "//tools/android/..."
            ],
            "targets": []
        }
    }, {
        "configurations": [
            {
                "node": "freebsd-11",
                "variation": ""
            },
            {
                "node": "freebsd-12",
                "variation": ""
            }
        ],
        "parameters": {
            // As configure step, we redo the USES=shebangfix of the devel/bazel
            // port. In other words, we replace every #!-line calling bash by a
            // line containing the correct path to bash on our test machines.
            "configure": [
                "find -E . -type f -iregex '.*(sh|txt|_stub|stub_.*|bazel|get_workspace_status|protobuf_support|_so)' \\",
                "-exec sed -i '' \\",
                "-e '1s|^\\#![[:space:]]*/bin/bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\",
                "-e '1s|^\\#![[:space:]]*/bin/bash$|\\#!/usr/local/bin/bash|' \\",
                "-e '1s|^\\#![[:space:]]*/usr/bin/env bash\\([[:space:]]\\)|\\#!/usr/local/bin/bash\\1|' \\",
                "-e '1s|^\\#![[:space:]]*/usr/bin/env bash$|\\#!/usr/local/bin/bash|' \\",
                "{} +"
            ],
            "tests": [
                "//src/test/shell/integration/..."
            ],
            "targets": []
        }
    }, {
        "node": "darwin-x86_64",
        "variation": "",
        "parameters": {
            "configure": [
                "echo >>WORKSPACE",
                "cat >>WORKSPACE <<EOF",
                "android_sdk_repository(",
                "    name = \"androidsdk\",",
                "    path = \"${ANDROID_SDK_PATH}\",",
                ")",
                "android_ndk_repository(",
                "    name = \"androidndk\",",
                "    path = \"${ANDROID_NDK_PATH}\",",
                ")",
                "EOF"
            ],
            "build_opts": ["--define IPHONE_SDK=1"],
            "tests": [
                "//scripts/...",
                "filter(\"^(?!//src/test/docker).*$\", //src/test/...)",
                "//third_party/ijar/...",
                "//tools/android/..."
            ],
            "targets": []
        }
    }, {
        "toolchain": "msvc",
        "configurations": [{
            "node": "windows-x86_64",
            "variation": ""
        }],
        "parameters": {
            "build_opts": [
                "--copt=-w",
                "--host_copt=-w",
                // TODO(pcloudy):.
                // Remove it after wrapper-less CROSSTOOL becomes default
                "--action_env=NO_MSVC_WRAPPER=1"
            ],
            "test_opts": [
                // TODO(pcloudy): Remove this after TEMP is properly set.
                // A workaround for ASSERT_DEATH in gtest on Windows.
                // When running tests, Bazel doesn't set TEMP,
                // ASSERT_DEATH will try to write to C:/Windows, then fails.
                "--test_env=TEMP",
            ],
            "test_tag_filters": ["-no_windows"],
            "tests": [
                "//src/test/py/...",
                "//src/test/java/...",
                "//src/test/cpp/...",
                "//src/test/native:all_tests",
                "//src/tools/launcher/util/...",
                "//src/test/shell/bazel:bazel_bootstrap_distfile_test",
                "//src/test/shell/bazel:bazel_windows_example_test"
            ],
            "targets": ["//src:bazel"]
        }
    }, {
        "toolchain": "msys",
        "configurations": [{
            "node": "windows-x86_64",
            "variation": ""
        }],
        "parameters": {
            "build_opts": ["--cpu=x64_windows_msys", "--host_cpu=x64_windows_msys"],
            "test_tag_filters": ["-no_windows"],
            "tests": [],
            "targets": ["//examples/cpp:hello-world"]
        }
    }
]
