about summary refs log tree commit diff
path: root/third_party/nix/src/nix/installables.cc
diff options
context:
space:
mode:
authorGriffin Smith <grfn@gws.fyi>2020-08-14T02·06-0400
committerglittershark <grfn@gws.fyi>2020-08-14T03·06+0000
commitd1c38d9597e110bef92a548c86a651174bd385dc (patch)
tree98d64ac81a4f7ca91ad21f732c84bdc3f73df9cb /third_party/nix/src/nix/installables.cc
parentaef3607bd332a9a6adbb150abe63250745972532 (diff)
refactor(tvix): Make Store::buildPaths return a Status r/1649
Make Store::buildPaths return a Status with [[nodiscard]] rather than
throwing exceptions to signal failure. This is the beginning of a long
road to refactor the entire store API to be status/statusor based
instead of using exceptions.

Change-Id: I2e32371c95a25b87ad129987c217d49c6d6e0c85
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1745
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
Diffstat (limited to '')
-rw-r--r--third_party/nix/src/nix/installables.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/third_party/nix/src/nix/installables.cc b/third_party/nix/src/nix/installables.cc
index 5fe155ba16..b257a26f23 100644
--- a/third_party/nix/src/nix/installables.cc
+++ b/third_party/nix/src/nix/installables.cc
@@ -9,6 +9,7 @@
 #include "libmain/shared.hh"
 #include "libstore/derivations.hh"
 #include "libstore/store-api.hh"
+#include "libutil/status.hh"
 #include "nix/command.hh"
 
 namespace nix {
@@ -273,7 +274,7 @@ Buildables build(
   if (mode == DryRun) {
     printMissing(store, pathsToBuild);
   } else if (mode == Build) {
-    store->buildPaths(pathsToBuild);
+    util::OkOrThrow(store->buildPaths(pathsToBuild));
   }
 
   return buildables;