Merge pull request #11041 from hercules-ci/trace-nix-env-attribute-names

getDerivations: add attributes to trace
This commit is contained in:
Eelco Dolstra 2024-07-05 16:32:27 +02:00 committed by GitHub
commit 61e1880847
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -374,6 +374,7 @@ static void getDerivations(EvalState & state, Value & vIn,
bound to the attribute with the "lower" name should take
precedence). */
for (auto & i : v.attrs()->lexicographicOrder(state.symbols)) {
try {
debug("evaluating attribute '%1%'", state.symbols[i->name]);
if (!std::regex_match(std::string(state.symbols[i->name]), attrRegex))
continue;
@ -390,6 +391,10 @@ static void getDerivations(EvalState & state, Value & vIn,
getDerivations(state, *i->value, pathPrefix2, autoArgs, drvs, done, ignoreAssertionFailures);
}
}
} catch (Error & e) {
e.addTrace(state.positions[i->pos], "while evaluating the attribute '%s'", state.symbols[i->name]);
throw;
}
}
}