chore(tvix): Thread a std::ostream through Store::buildPaths

This part of the store API needs to carry a handle to the log sink
from now on, so that it can be passed in as appropriate from the gRPC
handlers.

In all places where there is no such handler available at the moment,
the discarding log sink has been inserted. This can be used as a
convenient grep target in the future.

Change-Id: I26628e30b4c6437dccdf8f722ca2e8ed827dfc19
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1797
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Reviewed-by: glittershark <grfn@gws.fyi>
This commit is contained in:
Vincent Ambo 2020-08-20 03:28:35 +01:00 committed by tazjin
parent f7fa77f14d
commit 33e8b0f975
15 changed files with 63 additions and 43 deletions

View file

@ -455,11 +455,13 @@ class Store : public std::enable_shared_from_this<Store>, public Config {
output paths can be created by running the builder, after
recursively building any sub-derivations. For inputs that are
not derivations, substitute them. */
[[nodiscard]] virtual absl::Status buildPaths(const PathSet& paths,
BuildMode buildMode);
[[nodiscard]] virtual absl::Status buildPaths(std::ostream& log_sink,
const PathSet& paths,
BuildMode build_mode);
[[nodiscard]] absl::Status buildPaths(const PathSet& paths) {
return buildPaths(paths, bmNormal);
[[nodiscard]] absl::Status buildPaths(std::ostream& log_sink,
const PathSet& paths) {
return buildPaths(log_sink, paths, bmNormal);
}
/* Build a single non-materialized derivation (i.e. not from an