Merge pull request #163 from tomberek/check_outputs

fix: catch errors for invalid derivations
This commit is contained in:
Jörg Thalheim 2023-01-02 07:34:39 +00:00 committed by GitHub
commit 4b9af9b778
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -184,9 +184,14 @@ struct Drv {
auto localStore = state.store.dynamic_pointer_cast<LocalFSStore>();
for (auto out : drvInfo.queryOutputs(true)) {
if (out.second)
outputs[out.first] = localStore->printStorePath(*out.second);
try {
for (auto out : drvInfo.queryOutputs(true)) {
if (out.second)
outputs[out.first] =
localStore->printStorePath(*out.second);
}
} catch (const std::exception &e) {
throw EvalError("derivation must have valid outputs: %s", e.what());
}
if (myArgs.meta) {