diff options
author | Vincent Ambo <mail@tazj.in> | 2020-06-15T19·03+0100 |
---|---|---|
committer | tazjin <mail@tazj.in> | 2020-06-15T19·08+0000 |
commit | 29bab159ab780ada20a4ae97956594ea13b38ab4 (patch) | |
tree | 253cf1b37f10a7b8afcee432e080e7ce3bf4abca | |
parent | c26ee5a448b0b2f509ee704ebffaa665400a2216 (diff) |
feat(depot-build): Add a tool to build at arbitrary tree locations r/970
Assuming you're in `/depot/fun/clbot`, you can do this: tazjin@frog /d/f/clbot (master)> depot-build Building //fun/clbot /nix/store/i1zc6g58wa4819kyhaqi12zsh3hr31ph-clbot It is automatically added to the $PATH using direnv, too. Change-Id: Ia3341704e6317c2b8de40a3fa1be3b680d21a42d Reviewed-on: https://cl.tvl.fyi/c/depot/+/388 Reviewed-by: eta <eta@theta.eu.org>
-rwxr-xr-x | bin/__dispatch.sh | 3 | ||||
l--------- | bin/depot-build | 1 | ||||
-rw-r--r-- | tools/depot-build.nix | 8 |
3 files changed, 12 insertions, 0 deletions
diff --git a/bin/__dispatch.sh b/bin/__dispatch.sh index 0808e1f634cc..d8214bccd0d5 100755 --- a/bin/__dispatch.sh +++ b/bin/__dispatch.sh @@ -47,6 +47,9 @@ case "${TARGET_TOOL}" in git-bug) attr="third_party.git-bug" ;; + depot-build) + attr="tools.depot-build" + ;; *) echo "The tool '${TARGET_TOOL}' is currently not installed in this repository." exit 1 diff --git a/bin/depot-build b/bin/depot-build new file mode 120000 index 000000000000..8390ec9c9652 --- /dev/null +++ b/bin/depot-build @@ -0,0 +1 @@ +__dispatch.sh \ No newline at end of file diff --git a/tools/depot-build.nix b/tools/depot-build.nix new file mode 100644 index 000000000000..5661d58760b5 --- /dev/null +++ b/tools/depot-build.nix @@ -0,0 +1,8 @@ +# Utility script for building any arbitrary depot path in its folder. +{ pkgs, ... }: + +pkgs.writeShellScriptBin "depot-build" '' + TARGET=$(git rev-parse --show-prefix | sed 's|/$||') + echo "Building //$TARGET" + nix-build -A $(echo $TARGET | sed 's|/|.|') $(${pkgs.git}/bin/git rev-parse --show-toplevel) +'' |