From 5d3cea7da376f9d948a235b79a91c9ed0fbc5b7e Mon Sep 17 00:00:00 2001 From: Mustafa Gezen Date: Tue, 22 Aug 2023 14:58:04 +0200 Subject: [PATCH] Add taskrunner2 macro --- devtools/taskrunner2/BUILD.bazel | 2 ++ devtools/taskrunner2/defs.bzl | 29 +++++++++++++++++++++++++++++ devtools/taskrunner2/runner.sh | 4 ++++ tools/mothership/BUILD.bazel | 9 +++++++++ 4 files changed, 44 insertions(+) create mode 100644 devtools/taskrunner2/defs.bzl create mode 100755 devtools/taskrunner2/runner.sh diff --git a/devtools/taskrunner2/BUILD.bazel b/devtools/taskrunner2/BUILD.bazel index 72446dae..384ac83d 100644 --- a/devtools/taskrunner2/BUILD.bazel +++ b/devtools/taskrunner2/BUILD.bazel @@ -1,6 +1,8 @@ load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library") load("@aspect_bazel_lib//lib:copy_to_bin.bzl", "copy_to_bin") +exports_files(["runner.sh"]) + go_library( name = "taskrunner2_lib", srcs = ["main.go"], diff --git a/devtools/taskrunner2/defs.bzl b/devtools/taskrunner2/defs.bzl new file mode 100644 index 00000000..5e54ee6f --- /dev/null +++ b/devtools/taskrunner2/defs.bzl @@ -0,0 +1,29 @@ +def taskrunner2(name, targets = [], watch_targets = []): + args = [] + + for target in targets: + args.append("-t") + args.append(target) + + for target in watch_targets: + args.append("-w") + args.append(target) + + # generate args output + native.genrule( + name = name + "_args", + outs = ["args"], + cmd = "echo " + " ".join(args) + " > $@", + visibility = ["//visibility:private"], + ) + + native.sh_binary( + name = name, + srcs = [ + "//devtools/taskrunner2:runner.sh", + ], + data = [ + "//devtools/taskrunner2", + ":" + name + "_args", + ], + ) diff --git a/devtools/taskrunner2/runner.sh b/devtools/taskrunner2/runner.sh new file mode 100755 index 00000000..51fb43f6 --- /dev/null +++ b/devtools/taskrunner2/runner.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +ARGS_PATH="$(find . -name "args")" +devtools/taskrunner2/taskrunner2_/taskrunner2 $(cat "${ARGS_PATH}") diff --git a/tools/mothership/BUILD.bazel b/tools/mothership/BUILD.bazel index e69de29b..eaf44347 100644 --- a/tools/mothership/BUILD.bazel +++ b/tools/mothership/BUILD.bazel @@ -0,0 +1,9 @@ +load("//devtools/taskrunner2:defs.bzl", "taskrunner2") + +taskrunner2( + name = "mothership", + watch_targets = [ + "//tools/mothership/cmd/mship_api", + "//tools/mothership/ui", + ], +)