tvl-depot/third_party/nix/src/libstore/parsed-derivations.hh
Vincent Ambo 3652326ed2 refactor(3p/nix): Anchor local includes at src/
Previously all includes were anchored in one global mess of header
files. This moves the includes into filesystem "namespaces" (if you
will) for each sub-package of Nix.

Note: This commit does not introduce the relevant build system changes.
2020-05-27 21:56:34 +01:00

34 lines
765 B
C++

#include <nlohmann/json.hpp>
#include "libstore/derivations.hh"
namespace nix {
class ParsedDerivation {
Path drvPath;
BasicDerivation& drv;
std::optional<nlohmann::json> structuredAttrs;
public:
ParsedDerivation(const Path& drvPath, BasicDerivation& drv);
const std::optional<nlohmann::json>& getStructuredAttrs() const {
return structuredAttrs;
}
std::optional<std::string> getStringAttr(const std::string& name) const;
bool getBoolAttr(const std::string& name, bool def = false) const;
std::optional<Strings> getStringsAttr(const std::string& name) const;
StringSet getRequiredSystemFeatures() const;
bool canBuildLocally() const;
bool willBuildLocally() const;
bool substitutesAllowed() const;
};
} // namespace nix