about summary refs log tree commit diff
path: root/src/libstore/store-api.hh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2006-11-30T18·02+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2006-11-30T18·02+0000
commit6ecb840fd118019f879de60007e13321b7c080d3 (patch)
tree29f9db5fbf0da0b3e08af282db1a0fedba81decf /src/libstore/store-api.hh
parente2ef5e07fdc142670f7f3161d3133ff04e99d342 (diff)
* Put building in the store API.
Diffstat (limited to 'src/libstore/store-api.hh')
-rw-r--r--src/libstore/store-api.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 91beba50f7d2..abf27a346f31 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -72,6 +72,19 @@ public:
        a regular file containing the given string. */
     virtual Path addTextToStore(const string & suffix, const string & s,
         const PathSet & references) = 0;
+
+    /* Ensure that the output paths of the derivation are valid.  If
+       they are already valid, this is a no-op.  Otherwise, validity
+       can be reached in two ways.  First, if the output paths have
+       substitutes, then those can be used.  Second, the output paths
+       can be created by running the builder, after recursively
+       building any sub-derivations. */
+    virtual void buildDerivations(const PathSet & drvPaths) = 0;
+
+    /* Ensure that a path is valid.  If it is not currently valid, it
+       may be made valid by running a substitute (if defined for the
+       path). */
+    virtual void ensurePath(const Path & storePath) = 0;
 };