From 1af0a165d4489f87e4b9d5412b3fbf35a02927ee Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 27 Nov 2020 12:25:51 +0100 Subject: [PATCH] nix build: Add outro message --- src/nix/build.cc | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/nix/build.cc b/src/nix/build.cc index c2974d983..24b720a62 100644 --- a/src/nix/build.cc +++ b/src/nix/build.cc @@ -56,6 +56,8 @@ struct CmdBuild : InstallablesCommand, MixDryRun, MixJSON, MixProfile if (dryRun) return; + PathSet symlinks; + if (outLink != "") if (auto store2 = store.dynamic_pointer_cast()) for (size_t i = 0; i < buildables.size(); ++i) @@ -63,7 +65,9 @@ struct CmdBuild : InstallablesCommand, MixDryRun, MixJSON, MixProfile [&](BuildableOpaque bo) { std::string symlink = outLink; if (i) symlink += fmt("-%d", i); - store2->addPermRoot(bo.path, absPath(symlink)); + symlink = absPath(symlink); + store2->addPermRoot(bo.path, symlink); + symlinks.insert(symlink); }, [&](BuildableFromDrv bfd) { auto builtOutputs = store->queryDerivationOutputMap(bfd.drvPath); @@ -71,14 +75,22 @@ struct CmdBuild : InstallablesCommand, MixDryRun, MixJSON, MixProfile std::string symlink = outLink; if (i) symlink += fmt("-%d", i); if (output.first != "out") symlink += fmt("-%s", output.first); - store2->addPermRoot(output.second, absPath(symlink)); + symlink = absPath(symlink); + store2->addPermRoot(output.second, symlink); + symlinks.insert(symlink); } }, }, buildables[i]); updateProfile(buildables); - if (json) logger->cout("%s", buildablesToJSON(buildables, store).dump()); + if (json) + logger->cout("%s", buildablesToJSON(buildables, store).dump()); + else + notice( + ANSI_GREEN "Build succeeded." ANSI_NORMAL + " The result is available through the symlink " ANSI_BOLD "%s" ANSI_NORMAL ".", + showPaths(symlinks)); } };