refactor(tvix): Replace several DiscardLogsSink() with std::cerr

Introduces the actual log sink in several places where we actually
want the build logs to thread through correctly.

This should cover *most* build paths.

Change-Id: I735dff8a79f7e35a5874eb89b4abb980f9703dc2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1827
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
This commit is contained in:
Vincent Ambo 2020-08-21 02:07:17 +01:00 committed by tazjin
parent 262af89f81
commit 06681c35a9
7 changed files with 15 additions and 24 deletions

View file

@ -69,8 +69,7 @@ static PathSet realisePath(Path path, bool build = true) {
if (isDerivation(p.first)) {
if (build) {
auto discard_logs = DiscardLogsSink();
util::OkOrThrow(store->buildPaths(discard_logs, {path}));
util::OkOrThrow(store->buildPaths(std::cerr, {path}));
}
Derivation drv = store->derivationFromPath(p.first);
rootNr++;
@ -186,9 +185,8 @@ static void opRealise(Strings opFlags, Strings opArgs) {
}
/* Build all paths at the same time to exploit parallelism. */
auto discard_logs = DiscardLogsSink();
util::OkOrThrow(store->buildPaths(
discard_logs, PathSet(paths.begin(), paths.end()), buildMode));
std::cerr, PathSet(paths.begin(), paths.end()), buildMode));
if (!ignoreUnknown) {
for (auto& i : paths) {
@ -1006,8 +1004,7 @@ static void opServe(Strings opFlags, Strings opArgs) {
does one path at a time. */
if (!willSubstitute.empty()) {
try {
auto discard_logs = DiscardLogsSink();
util::OkOrThrow(store->buildPaths(discard_logs, willSubstitute));
util::OkOrThrow(store->buildPaths(std::cerr, willSubstitute));
} catch (Error& e) {
LOG(WARNING) << e.msg();
}
@ -1069,8 +1066,7 @@ static void opServe(Strings opFlags, Strings opArgs) {
try {
MonitorFdHup monitor(in.fd);
auto discard_logs = DiscardLogsSink();
util::OkOrThrow(store->buildPaths(discard_logs, paths));
util::OkOrThrow(store->buildPaths(std::cerr, paths));
out << 0;
} catch (Error& e) {
assert(e.status);