diff options
author | sterni <sternenseemann@systemli.org> | 2021-09-14T21·50+0200 |
---|---|---|
committer | sterni <sternenseemann@systemli.org> | 2021-09-18T11·56+0000 |
commit | 852d059e2f5845f572b442f52364d273b4a736f6 (patch) | |
tree | 1488eef69b451ecab73d01cb0a6c595b89aa9697 /nix/nint/README.md | |
parent | 5dec98233482ebd651f9be77984a178d6656efe4 (diff) |
feat(nix/nint): accept attribute set with stdout, stderr and exit r/2882
This extends the calling convention for nint in a non-breaking way: If the called script returns an attribute set instead of a string the following is done: * If the attributes `stdout` and/or `stderr` exist, their content (which must be a string currently) is written to the respective output. * If the attribute `exit` exists, nint will exit with the given exit code. Must be a number that can be converted to an `i32`. If it's missing, nint will exit without indicating an error. Change-Id: I209cf178fee3d970fdea3b26e4049e944af47457 Reviewed-on: https://cl.tvl.fyi/c/depot/+/3547 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'nix/nint/README.md')
-rw-r--r-- | nix/nint/README.md | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/nix/nint/README.md b/nix/nint/README.md index ddd8045f7378..369a8276199a 100644 --- a/nix/nint/README.md +++ b/nix/nint/README.md @@ -15,8 +15,16 @@ to the following calling convention: program name at `builtins.head argv`. * Extra arguments can be manually passed as described below. -* The return value should always be a string (throwing is also okay) - which is printed to stdout by `nint`. +* The return value must either be + + * A string which is rendered to `stdout`. + + * An attribute set with the following optional attributes: + + * `stdout`: A string that's rendered to `stdout` + * `stderr`: A string that's rendered to `stderr` + * `exit`: A number which is used as an exit code. + If missing, nint always exits with 0 (or equivalent). ## Usage |