// 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}-darwin-x86_64-installer.sh",
                "bazel-bin/scripts/packages/without-jdk/install.sh": "bazel-%{release_name}-darwin-x86_64-without-jdk-installer.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}-windows-x86_64.exe"]
            },
            "opts": [
                "--cpu=x64_windows_msys",
                "--host_cpu=x64_windows_msys"
            ]
        }
    },
    // TODO(dmarting): This should be a variation, not a node name
    {
        "variation": "",
        "node": "windows-msvc-x86_64",
        "parameters": {
            "archive": {
                "bazel-bin/src/bazel": ["bazel.exe", "bazel-msvc-%{release_name}-windows-x86_64.exe"]
            },
            "opts": [
                "--copt=-w",
                "--host_copt=-w",
                // TODO(pcloudy):
                // Remove it after wrapper-less CROSSTOOL becomes default
                "--action_env=NO_MSVC_WRAPPER=1"
            ]
        }
    }
]
