From 3460e4cf007017e89096b4fad083692666b87a20 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 24 Oct 2017 15:05:21 +0200 Subject: More progress indicator improvements In particular, don't show superfluous "fetching path" and "building path(s)" messages, and show the current round (with --repeat). --- src/libstore/build.cc | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'src/libstore') diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 681879c6aa5f..856d516d2bb3 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1402,9 +1402,15 @@ void DerivationGoal::tryToBuild() bool buildLocally = buildMode != bmNormal || drv->willBuildLocally(); auto started = [&]() { - act = std::make_unique(*logger, lvlInfo, actBuild, - hook ? fmt("building '%s' on '%s'", drvPath, machineName) : fmt("building '%s'", drvPath), - Logger::Fields{drvPath, hook ? machineName : ""}); + auto msg = fmt( + buildMode == bmRepair ? "repairing outputs of '%s'" : + buildMode == bmCheck ? "checking outputs of '%s'" : + nrRounds > 1 ? "building '%s' (round %d/%d)" : + "building '%s'", drvPath, curRound, nrRounds); + fmt("building '%s'", drvPath); + if (hook) msg += fmt(" on '%s'", machineName); + act = std::make_unique(*logger, lvlInfo, actBuild, msg, + Logger::Fields{drvPath, hook ? machineName : "", curRound, nrRounds}); mcRunningBuilds = std::make_unique>(worker.runningBuilds); worker.updateProgress(); }; @@ -1738,14 +1744,6 @@ int childEntry(void * arg) void DerivationGoal::startBuilder() { - auto f = format( - buildMode == bmRepair ? "repairing path(s) %1%" : - buildMode == bmCheck ? "checking path(s) %1%" : - nrRounds > 1 ? "building path(s) %1% (round %2%/%3%)" : - "building path(s) %1%"); - f.exceptions(boost::io::all_error_bits ^ boost::io::too_many_args_bit); - printInfo(f % showPaths(missingPaths) % curRound % nrRounds); - /* Right platform? */ if (!drv->canBuildLocally()) { throw Error( @@ -3601,8 +3599,6 @@ void SubstitutionGoal::tryToRun() return; } - printInfo(format("fetching path '%1%'...") % storePath); - maintainRunningSubstitutions = std::make_unique>(worker.runningSubstitutions); worker.updateProgress(); -- cgit 1.4.1