// Configure the nodes to bootstrap bazel on. Possible parameters are:
//   - archive: list of file to archive as a map of target, new name. %{release_name} string will
//     be replaced by the release name. An empty list means we do not archive anything
//     (for non release build).
//   - stash: list of artifacts to stash (to be released / push but no need to keep it forever)
//   - targets: list of targets to build, in addition to //src:bazel.
[
    {
        "node": "linux-x86_64",
        "variation": "",
        "parameters": {
            "archive": {
                "bazel-bin/src/bazel": "bazel",
                "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-linux-x86_64.sh",
                "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-linux-x86_64.sh",
                "bazel-bin/scripts/packages/debian/bazel-debian.deb": "bazel_%{release_name}-linux-x86_64.deb",
                "bazel-genfiles/bazel-distfile.zip": "bazel-%{release_name}-dist.zip"
            },
            "stash": {
                "bazel-genfiles/scripts/packages/debian/bazel.dsc": "bazel.dsc",
                "bazel-genfiles/scripts/packages/debian/bazel.tar.gz": "bazel.tar.gz",
                "bazel-genfiles/site/jekyll-tree.tar": "docs.bazel.build.tar",
                "bazel-bin/src/tools/benchmark/webapp/site.tar": "perf.bazel.build.tar.nobuild"
            },
            "targets": [
                "//scripts/packages",
                "//site:jekyll-tree",
                "//src/tools/benchmark/webapp:site"
            ]
        }
    },
    { "variation": "", "node": "ubuntu_16.04-x86_64" },
    {
        "variation": "",
        "node": "freebsd-11",
        "parameters": {"archive": {"bazel-bin/src/bazel": "bazel"}}
    },
    {
        "variation": "",
        "node": "freebsd-12",
        "parameters": {"archive": {"bazel-bin/src/bazel": "bazel"}}
    },
    {
        "variation": "",
        "node": "darwin-x86_64",
        "parameters": {
            "archive": {
                "bazel-bin/src/bazel": "bazel",
                "bazel-bin/scripts/packages/with-jdk/install.sh": "bazel-%{release_name}-installer-darwin-x86_64.sh",
                "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-without-jdk-installer-darwin-x86_64.sh"
            },
            "targets": [
                "//scripts/packages"
            ],
            // TODO(dmarting): Do we still needs that? this could be done as an external repo
            // instead.
            "opts": ["--define IPHONE_SDK=1"]
        }
    },
    // TODO(dmarting): windows build zip with "zip -j", add it to //packages
    {
        "variation": "",
        "node": "windows-x86_64",
        "parameters": {
            "archive": {
                "bazel-bin/src/bazel": ["bazel.exe", "bazel-%{release_name}-without-jdk-windows-x86_64.exe"],
                "bazel-bin/src/bazel_with_jdk": "bazel-%{release_name}-windows-x86_64.exe",
                "bazel-genfiles/scripts/packages/bazel.zip": "bazel-%{release_name}-without-jdk-windows-x86_64.zip",
                "bazel-genfiles/scripts/packages/bazel_with_jdk.zip": "bazel-%{release_name}-windows-x86_64.zip"
            },
            "targets": [
                "//scripts/packages"
            ],
            "opts": [
                "--copt=-w",
                "--host_copt=-w",
                // TODO(pcloudy):
                // Remove it after wrapper-less CROSSTOOL becomes default
                "--action_env=NO_MSVC_WRAPPER=1"
            ]
        }
    }
]
