2018-09-28 12:31:16 +00:00
|
|
|
#include "derivations.hh"
|
|
|
|
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
|
|
|
|
namespace nix {
|
|
|
|
|
|
|
|
class ParsedDerivation
|
|
|
|
{
|
|
|
|
Path drvPath;
|
|
|
|
BasicDerivation & drv;
|
2019-02-12 12:43:32 +00:00
|
|
|
std::optional<nlohmann::json> structuredAttrs;
|
2018-09-28 12:31:16 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
ParsedDerivation(const Path & drvPath, BasicDerivation & drv);
|
|
|
|
|
2019-02-12 12:43:32 +00:00
|
|
|
const std::optional<nlohmann::json> & getStructuredAttrs() const
|
2018-09-28 12:31:16 +00:00
|
|
|
{
|
|
|
|
return structuredAttrs;
|
|
|
|
}
|
|
|
|
|
2019-02-12 12:43:32 +00:00
|
|
|
std::optional<std::string> getStringAttr(const std::string & name) const;
|
2018-09-28 12:31:16 +00:00
|
|
|
|
|
|
|
bool getBoolAttr(const std::string & name, bool def = false) const;
|
|
|
|
|
2019-02-12 12:43:32 +00:00
|
|
|
std::optional<Strings> getStringsAttr(const std::string & name) const;
|
2018-09-28 12:31:16 +00:00
|
|
|
|
2018-09-28 13:57:27 +00:00
|
|
|
StringSet getRequiredSystemFeatures() const;
|
|
|
|
|
2018-09-28 12:31:16 +00:00
|
|
|
bool canBuildLocally() const;
|
|
|
|
|
|
|
|
bool willBuildLocally() const;
|
|
|
|
};
|
|
|
|
|
|
|
|
}
|