refactor(tvix): Make Store::buildPaths return a Status
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>
This commit is contained in:
parent
aef3607bd3
commit
d1c38d9597
18 changed files with 137 additions and 32 deletions
6
third_party/nix/src/libstore/rpc-store.cc
vendored
6
third_party/nix/src/libstore/rpc-store.cc
vendored
|
|
@ -317,15 +317,17 @@ Path RpcStore::addTextToStore(const std::string& name,
|
|||
return result.path();
|
||||
}
|
||||
|
||||
void RpcStore::buildPaths(const PathSet& paths, BuildMode buildMode) {
|
||||
absl::Status RpcStore::buildPaths(const PathSet& paths, BuildMode buildMode) {
|
||||
ClientContext ctx;
|
||||
proto::BuildPathsRequest request;
|
||||
for (const auto& path : paths) {
|
||||
request.add_drvs(path);
|
||||
}
|
||||
|
||||
google::protobuf::Empty response;
|
||||
request.set_mode(nix::BuildModeToProto(buildMode));
|
||||
SuccessOrThrow(stub_->BuildPaths(&ctx, request, &response), __FUNCTION__);
|
||||
return nix::util::proto::GRPCStatusToAbsl(
|
||||
stub_->BuildPaths(&ctx, request, &response));
|
||||
}
|
||||
|
||||
BuildResult RpcStore::buildDerivation(const Path& drvPath,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue