3 #include "derivations.hh"
9 /* Read a derivation, after ensuring its existence through
11 Derivation
derivationFromPath(StoreAPI
& store
, const Path
& drvPath
);
13 /* Place in `paths' the set of all store paths in the file system
14 closure of `storePath'; that is, all paths than can be directly or
15 indirectly reached from it. `paths' is not cleared. If
16 `flipDirection' is true, the set of paths that can reach
17 `storePath' is returned; that is, the closures under the
18 `referrers' relation instead of the `references' relation is
20 void computeFSClosure(StoreAPI
& store
, const Path
& path
,
21 PathSet
& paths
, bool flipDirection
= false,
22 bool includeOutputs
= false, bool includeDerivers
= false);
24 /* Return the path corresponding to the output identifier `id' in the
26 Path
findOutput(const Derivation
& drv
, string id
);
28 /* Given a set of paths that are to be built, return the set of
29 derivations that will be built, and the set of output paths that
30 will be substituted. */
31 void queryMissing(StoreAPI
& store
, const PathSet
& targets
,
32 PathSet
& willBuild
, PathSet
& willSubstitute
, PathSet
& unknown
,
33 unsigned long long & downloadSize
, unsigned long long & narSize
);
35 bool willBuildLocally(const Derivation
& drv
);
37 bool substitutesAllowed(const Derivation
& drv
);