diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-06-17 03:56:48 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-06-17 04:30:16 +0000 |
commit | 18493fd9c48676ab26854739db67ac5d76ff9347 (patch) | |
tree | c312242c7679cd4b118f08d292eb70bd362bf8a5 /src/libstore/derivations.cc | |
parent | 7130f0a3a6455cf27863f0bbccf0974cfcc82fa2 (diff) |
Move some Store functions from derivations.cc to store-api.cc
This further continues with the dependency inverstion. Also I just went
ahead and exposed `parseDerivation`: it seems like the more proper
building block, and not a bad thing to expose if we are trying to be
less wedded to drv files on disk anywas.
Diffstat (limited to 'src/libstore/derivations.cc')
-rw-r--r-- | src/libstore/derivations.cc | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/src/libstore/derivations.cc b/src/libstore/derivations.cc index b95f7bfdc..ea30813fa 100644 --- a/src/libstore/derivations.cc +++ b/src/libstore/derivations.cc @@ -3,7 +3,6 @@ #include "globals.hh" #include "util.hh" #include "worker-protocol.hh" -#include "fs-accessor.hh" #include "istringstream_nocopy.hh" namespace nix { @@ -120,7 +119,7 @@ static StringSet parseStrings(std::istream & str, bool arePaths) } -static Derivation parseDerivation(const Store & store, const string & s) +Derivation parseDerivation(const Store & store, const string & s) { Derivation drv; istringstream_nocopy str(s); @@ -173,34 +172,6 @@ static Derivation parseDerivation(const Store & store, const string & s) } -Derivation readDerivation(const Store & store, const Path & drvPath) -{ - try { - return parseDerivation(store, readFile(drvPath)); - } catch (FormatError & e) { - throw Error("error parsing derivation '%1%': %2%", drvPath, e.msg()); - } -} - - -Derivation Store::derivationFromPath(const StorePath & drvPath) -{ - ensurePath(drvPath); - return readDerivation(drvPath); -} - - -Derivation Store::readDerivation(const StorePath & drvPath) -{ - auto accessor = getFSAccessor(); - try { - return parseDerivation(*this, accessor->readFile(printStorePath(drvPath))); - } catch (FormatError & e) { - throw Error("error parsing derivation '%s': %s", printStorePath(drvPath), e.msg()); - } -} - - static void printString(string & res, std::string_view s) { char buf[s.size() * 2 + 2]; |