diff options
Diffstat (limited to 'src/libstore/misc.cc')
-rw-r--r-- | src/libstore/misc.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libstore/misc.cc b/src/libstore/misc.cc index 5f20ee277513..f3cc98bf4e2a 100644 --- a/src/libstore/misc.cc +++ b/src/libstore/misc.cc @@ -27,3 +27,12 @@ void computeFSClosure(const Path & storePath, i != references.end(); ++i) computeFSClosure(*i, paths, flipDirection); } + + + Path findOutput(const Derivation & drv, string id) +{ + for (DerivationOutputs::const_iterator i = drv.outputs.begin(); + i != drv.outputs.end(); ++i) + if (i->first == id) return i->second.path; + throw Error(format("derivation has no output `%1%'") % id); +} |