feat(nix/utils): add storePathName, a more generic baseNameOf
This is a wrapper around baseNameOf which also can deal with derivations. Added to //nix/utils since I've found myself introducing an ad-hoc implementation of this for both //web/bubblegum and //nix/buildC. Change-Id: I2fcd97a150d6eda21ab323fa0d881ff7442a892e Reviewed-on: https://cl.tvl.fyi/c/depot/+/3049 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
This commit is contained in:
parent
c21dee2b5b
commit
f88ac5c0b5
2 changed files with 48 additions and 8 deletions
|
|
@ -5,6 +5,7 @@ let
|
|||
inherit (depot.nix)
|
||||
runExecline
|
||||
getBins
|
||||
utils
|
||||
;
|
||||
|
||||
statusCodes = {
|
||||
|
|
@ -179,16 +180,13 @@ let
|
|||
# the input path or name of the input derivation.
|
||||
# Must be given if the input is a string.
|
||||
, name ? null
|
||||
}:
|
||||
, ...
|
||||
}@args:
|
||||
input: let
|
||||
drvName =
|
||||
if name != null
|
||||
then name
|
||||
else if builtins.isPath input
|
||||
then baseNameOf input
|
||||
else if lib.isDerivation input
|
||||
then input.name
|
||||
else builtins.throw "Need name";
|
||||
if builtins.isString input || args ? name
|
||||
then args.name
|
||||
else utils.storePathName input;
|
||||
script =
|
||||
if builtins.isPath input || lib.isDerivation input
|
||||
then input
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue