load("//bazel:skia_rules.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",
)
