diff options
author | Vincent Ambo <mail@tazj.in> | 2022-02-07T10·24+0300 |
---|---|---|
committer | tazjin <tazjin@tvl.su> | 2022-02-07T15·13+0000 |
commit | 3bde42586089a28a49dc063c2e639194211cb9af (patch) | |
tree | f137b907fc6a2a49f20ff0499d2c01e78e8a03a1 /nix/readTree | |
parent | 98b6af02f525bdf61de806ffd8545f0b5a3fa817 (diff) |
refactor(nix): Move `mkLabel` from buildkite to readTree r/3774
This function is more generically useful than just for pipeline construction. A subsequent commit will use it inside of readTree itself. Change-Id: I5eabd6f659726484667e060958865dddbc205762 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5237 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
Diffstat (limited to 'nix/readTree')
-rw-r--r-- | nix/readTree/default.nix | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/nix/readTree/default.nix b/nix/readTree/default.nix index 22815a44c4ee..5d2e1fff6aa8 100644 --- a/nix/readTree/default.nix +++ b/nix/readTree/default.nix @@ -58,6 +58,13 @@ let __readTreeChildren = builtins.attrNames children; }; + # Create a label from a target's tree location. + mkLabel = target: + let label = concatStringsSep "/" target.__readTree; + in if target ? __subtarget + then "${label}:${target.__subtarget}" + else label; + # Merge two attribute sets, but place attributes in `passthru` via # `overrideAttrs` for derivation targets that support it. merge = a: b: @@ -188,7 +195,7 @@ let isDerivation = x: isAttrs x && x ? type && x.type == "derivation"; in { - inherit gather; + inherit gather mkLabel; __functor = _: { path |