36namespace flox::resolver {
48 "error handling manifest or lockfile" )
73 std::optional<std::filesystem::path> manifestPath;
82 std::optional<GlobalManifest> globalManifest;
88 std::optional<ManifestRaw> manifestRaw;
94 std::optional<EnvironmentManifest> manifest;
100 std::optional<GlobalManifestRaw> globalManifestRaw;
103 std::optional<LockfileRaw> lockfileRaw;
106 std::optional<Lockfile> lockfile;
109 std::optional<Environment> environment;
124 setGlobalManifestRaw( std::optional<std::filesystem::path> maybePath );
136 setGlobalManifestRaw( std::optional<GlobalManifestRaw> maybeRaw );
148 [[nodiscard]]
virtual GlobalManifest
149 initGlobalManifest( GlobalManifestRaw manifestRaw );
161 setManifestRaw( std::optional<std::filesystem::path> maybePath );
173 setManifestRaw( std::optional<ManifestRaw> maybeRaw );
185 [[nodiscard]]
virtual EnvironmentManifest
186 initManifest( ManifestRaw manifestRaw );
196 setLockfileRaw( std::filesystem::path path );
205 setLockfileRaw( LockfileRaw lockfileRaw );
212 [[nodiscard]]
virtual Lockfile
213 initLockfile( LockfileRaw lockfileRaw );
216 [[nodiscard]]
const std::optional<LockfileRaw> &
219 return this->lockfileRaw;
226 [[nodiscard]]
const std::optional<GlobalManifestRaw> &
227 getGlobalManifestRaw()
229 return this->globalManifestRaw;
240 [[nodiscard]]
const std::optional<GlobalManifest>
244 [[nodiscard]]
const std::optional<ManifestRaw> &
245 getManifestRaw()
const
247 return this->manifestRaw;
256 [[nodiscard]]
const EnvironmentManifest &
266 [[nodiscard]]
const std::optional<Lockfile> &
278 [[nodiscard]] Environment &
290 addGlobalManifestFileOption( argparse::ArgumentParser & parser );
299 addManifestFileOption( argparse::ArgumentParser & parser );
308 addManifestFileArg( argparse::ArgumentParser & parser,
bool required =
true );
316 addLockfileOption( argparse::ArgumentParser & parser );
325 addFloxDirectoryOption( argparse::ArgumentParser & parser );
Definition: mixins.hh:334
EnvironmentManifest initManifest(ManifestRaw manifestRaw) override
Initialize the manifest member variable. When --ga-registry is set it enforces a GA compliant manifes...
Definition: mixins.cc:377
GlobalManifest initGlobalManifest(GlobalManifestRaw manifestRaw) override
Initialize the globalManifest member variable. When --ga-registry is set it enforces a GA compliant m...
Definition: mixins.cc:360
argparse::Argument & addGARegistryOption(argparse::ArgumentParser &parser)
Hard codes a manifest with only github:NixOS/nixpkgs/release-23.05 with --ga-registry.
Definition: mixins.cc:395
bool gaRegistry
Definition: mixins.hh:339
Definition: manifest.hh:221
A collection of files associated with an environment.
Definitions of various std::exception children used for throwing errors with nice messages and typed ...
#define FLOX_DEFINE_EXCEPTION(NAME, ERROR_CODE, CATEGORY_MSG)
Generate a class definition with an error code and category message.
Definition: exceptions.hh:206
A lockfile representing a resolved environment.
An abstract description of an environment in its unresolved state.
@ EC_ENVIRONMENT_MIXIN
Definition: exceptions.hh:79
A global manifest containing only registry and options fields in its raw form.
Definition: manifest-raw.hh:133
A raw description of an environment to be read from a file.
Definition: manifest-raw.hh:264