lix/src/libcmd
John Ericson 24866b71c4 Introduce SingleDrvOutputs
In many cases we are dealing with a collection of realisations, they are
all outputs of the same derivation. In that case, we don't need
"derivation hashes modulos" to be part of our map key, because the
output names alone will be unique. Those hashes are still part of the
realisation proper, so we aren't loosing any information, we're just
"normalizing our schema" by narrowing the "primary key".

Besides making our data model a bit "tighter" this allows us to avoid a
double `for` loop in `DerivationGoal::waiteeDone`. The inner `for` loop
was previously just to select the output we cared about without knowing
its hash. Now we can just select the output by name directly.

Note that neither protocol is changed as part of this: we are still
transferring `DrvOutputs` over the wire for `BuildResult`s. I would only
consider revising this once #6223 is merged, and we can mention protocol
versions inside factored-out serialization logic. Until then it is
better not change anything because it would come a the cost of code
reuse.
2023-04-15 12:51:19 -04:00
..
command-installable-value.cc Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
command-installable-value.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
command.cc Make command infra less stateful and more regular 2023-03-15 16:29:07 -04:00
command.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
common-eval-args.cc Merge pull request #8084 from edolstra/store-docs 2023-03-27 15:46:18 +02:00
common-eval-args.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
editor-for.cc Split out CmdRepl and editorFor 2023-02-20 09:45:29 -05:00
editor-for.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
installable-attr-path.cc Stratify ExtraPathInfo along Installable hierarchy 2023-03-24 12:22:40 -04:00
installable-attr-path.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
installable-derived-path.cc Stratify ExtraPathInfo along Installable hierarchy 2023-03-24 12:22:40 -04:00
installable-derived-path.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
installable-flake.cc Stratify ExtraPathInfo along Installable hierarchy 2023-03-24 12:22:40 -04:00
installable-flake.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
installable-value.cc Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
installable-value.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
installables.cc Introduce SingleDrvOutputs 2023-04-15 12:51:19 -04:00
installables.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
legacy.cc Move command plugin interface to libnixcmd 2021-01-26 06:22:24 -05:00
legacy.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
local.mk Split out CmdRepl and editorFor 2023-02-20 09:45:29 -05:00
markdown.cc do not render relative links in help pages 2022-08-26 17:10:41 +02:00
markdown.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
nix-cmd.pc.in Fix building with GCC 9 2023-02-10 18:38:57 +01:00
repl.cc Merge pull request #7944 from yorickvP/fix-curRepl 2023-04-04 09:44:47 +02:00
repl.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00