|
Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
|
#include <fetchers.hh>
Public Member Functions | |
| virtual std::optional< Input > | inputFromURL (const ParsedURL &url, bool requireTree) const =0 |
| virtual std::optional< Input > | inputFromAttrs (const Attrs &attrs) const =0 |
| virtual ParsedURL | toURL (const Input &input) const |
| virtual bool | hasAllInfo (const Input &input) const =0 |
| virtual Input | applyOverrides (const Input &input, std::optional< std::string > ref, std::optional< Hash > rev) const |
| virtual void | clone (const Input &input, const Path &destDir) const |
| virtual std::optional< Path > | getSourcePath (const Input &input) const |
| virtual void | putFile (const Input &input, const CanonPath &path, std::string_view contents, std::optional< std::string > commitMsg) const |
| virtual kj::Promise< Result< std::pair< StorePath, Input > > > | fetch (ref< Store > store, const Input &input)=0 |
| virtual bool | isLockedByRev () const |
Protected Member Functions | |
| void | emplaceURLQueryIntoAttrs (const ParsedURL &parsedURL, Attrs &attrs, const StringSet &numericParams, const StringSet &booleanParams) const |
The InputScheme represents a type of fetcher. Each fetcher registers with nix at startup time. When processing an input for a flake, each scheme is given an opportunity to "recognize" that input from the url or attributes in the flake file's specification and return an Input object to represent the input if it is recognized. The Input object contains the information the fetcher needs to actually perform the "fetch()" when called.