load("//bazel:macros.bzl", "exports_files_legacy")

licenses(["notice"])

exports_files_legacy()

# This rule is a convenient way to build all the task drivers and copy them all into a single
# place as a tar folder. Otherwise, we would need to run many separate bazel build commands and
# then fish the executables out of a deep folder structure like:
# _bazel_bin/infra/bots/task_drivers/bazel_build_all/bazel_build_all_/bazel_build_all
# After this runs, the executables will all be in //_bazel_bin/built_task_drivers.tar
# Why the tar file? Windows binaries are created with .exe and other platforms are not. However,
# outs *must* be static, thus we cannot use a select. Bazel requires us to define all outputs
# exactly, so the only way to support files with different names on different platforms is to
# package them up into a file with the same name.
# Cross compilation is handled as per https://github.com/bazelbuild/rules_go#how-do-i-cross-compile
genrule(
    name = "all_task_drivers",
    srcs = [
        "//infra/bots/task_drivers/bazel_build",
        "//infra/bots/task_drivers/canvaskit_gold",
        "//infra/bots/task_drivers/check_generated_files",
        "//infra/bots/task_drivers/codesize",
        "//infra/bots/task_drivers/compile_wasm_gm_tests",
        "//infra/bots/task_drivers/cpu_tests",
        "//infra/bots/task_drivers/fm_driver",
        "//infra/bots/task_drivers/g3_canary",
        "//infra/bots/task_drivers/perf_puppeteer_canvas",
        "//infra/bots/task_drivers/perf_puppeteer_render_skps",
        "//infra/bots/task_drivers/perf_puppeteer_skottie_frames",
        "//infra/bots/task_drivers/push_apps_from_skia_image",
        "//infra/bots/task_drivers/push_bazel_apps_from_wasm_image",
        "//infra/bots/task_drivers/recreate_skps",
        "//infra/bots/task_drivers/run_gn_to_bp",
        "//infra/bots/task_drivers/run_wasm_gm_tests",
        "//infra/bots/task_drivers/toolchain_layering_check",
        "@org_skia_go_infra//infra/bots/task_drivers/build_push_docker_image",
        "@org_skia_go_infra//infra/bots/task_drivers/canary",
    ],
    outs = ["built_task_drivers.tar"],
    # Make a temporary directory in the output directory, as recommended by
    # https://bazel.build/reference/be/make-variables#predefined_genrule_variables
    # Reminder that $(@D) refers to that output directory and $(SRCS) refers to all
    # the input files, in a space separated list.
    cmd = "mkdir -p $(@D)/tmp_task_drivers && " +
          # Copy all the task drivers to the same folder
          "cp $(SRCS) $(@D)/tmp_task_drivers && " +
          # Tar them up from that folder (so they will be in the top level of the tar directory)
          # The parent directory of our temp directory is where the output tar file should go.
          "cd $(@D)/tmp_task_drivers && tar --file ../built_task_drivers.tar --create . && " +
          # Delete the temp folder (as per the recommendation above)
          "cd .. && rm -rf tmp_task_drivers",
)
