|
| std::string | unparse (const Store &store, bool maskOutputs, DerivedPathMap< StringSet >::ChildNode::Map *actualInputs=nullptr) const |
| kj::Promise< Result< std::optional< BasicDerivation > > > | tryResolve (Store &store, Store *evalStore=nullptr) const |
| kj::Promise< Result< std::optional< BasicDerivation > > > | tryResolve (Store &store, const std::map< std::pair< StorePath, std::string >, StorePath > &inputDrvOutputs) const |
| kj::Promise< Result< void > > | checkInvariants (Store &store, const StorePath &drvPath) const |
|
| Derivation (const BasicDerivation &bd) |
|
| Derivation (BasicDerivation &&bd) |
|
JSON | toJSON (const Store &store) const |
|
| GENERATE_CMP (Derivation, static_cast< const BasicDerivation & >(*me), me->inputDrvs) |
|
bool | isBuiltin () const |
| DerivationType | type () const |
| StringSet | outputNames () const |
| DerivationOutputsAndOptPaths | outputsAndOptPaths (const Store &store) const |
|
| GENERATE_CMP (BasicDerivation, me->outputs, me->inputSrcs, me->platform, me->builder, me->args, me->env, me->name) |
|
|
static Derivation | fromJSON (const Store &store, const JSON &json, const ExperimentalFeatureSettings &xpSettings=experimentalFeatureSettings) |
|
static std::string_view | nameFromPath (const StorePath &storePath) |
◆ checkInvariants()
| kj::Promise< Result< void > > nix::Derivation::checkInvariants |
( |
Store & | store, |
|
|
const StorePath & | drvPath ) const |
Check that the derivation is valid and does not present any illegal states.
This is mainly a matter of checking the outputs, where our C++ representation supports all sorts of combinations we do not yet allow.
◆ tryResolve() [1/2]
| kj::Promise< Result< std::optional< BasicDerivation > > > nix::Derivation::tryResolve |
( |
Store & | store, |
|
|
const std::map< std::pair< StorePath, std::string >, StorePath > & | inputDrvOutputs ) const |
Like the above, but instead of querying the Nix database for realisations, uses a given mapping from input derivation paths + output names to actual output store paths.
◆ tryResolve() [2/2]
| kj::Promise< Result< std::optional< BasicDerivation > > > nix::Derivation::tryResolve |
( |
Store & | store, |
|
|
Store * | evalStore = nullptr ) const |
Return the underlying basic derivation but with these changes:
- Input drvs are emptied, but the outputs of them that were used are added directly to input sources.
- Input placeholders are replaced with realized input store paths.
◆ unparse()
| std::string nix::Derivation::unparse |
( |
const Store & | store, |
|
|
bool | maskOutputs, |
|
|
DerivedPathMap< StringSet >::ChildNode::Map * | actualInputs = nullptr ) const |
◆ inputDrvs
inputs that are sub-derivations
The documentation for this struct was generated from the following files: