Module deps

Module deps 

Source
Expand description

Step dependencies implementation

Modules§

compare
Compare all different types of dependencies
file
File dependencies for a pipeline step
generic
A generic dependency that’s invalidated when the given command’s output has changed.
glob
Glob dependency implementations where the digest of a path collection kept as a dependency
glob_items
A path collection where each item is tracked separately.
line_items
LineItemsDep is a dependency that contains a range of lines from a file.
lines
Lines dependency that tracks the change of a range of lines in a file. Unlike [LineItemsDep], this dependency doesn’t track the change of individual lines, but their collected digest to save space.
param
A parameter dependency is a key-value pair that is extracted from a parameter in YAML, TOML or JSON file.
regex
A regex dependency is a dependency that is based on a regex search in a text file.
regex_items
A dependency that depends on a regex searched in a text file. Unline [RegexDep], this dependency tracks all the lines that matches the regex.
sqlite_query
Implements dependencies on sqlite databases. SqliteQueryDep is a dependency that runs a query and checks whether the result of that query has changed. It doesn’t run the query if the metadata of the database file hasn’t changed.
step
An explicit step dependency in a pipeline. Unlike other dependencies, this depends directly to other steps and runs after them.
url
A step dependency to a URL

Structs§

FileDep
A file dependency for a pipeline step. It keeps track of path, metadata and the digest of the file.
GenericDep
A generic dependency that’s invalidated when the given command’s output has changed.
GlobDep
Invalidates when contents of any of the files in the directory changes.
GlobItemsDep
A path collection where each item is tracked separately.
LineItemsDep
A dependency that contains a range of lines from a file. Unlike [LinesDep], this keeps track of the lines themselves.
LinesDep
Dependency that tracks the change of a range of lines in a file. Unlike [LineItemsDep], this dependency doesn’t track the change of individual lines, but their collected digest to save space.
ParamDep
Invalidates when key in params file in path changes.
RegexDep
When a step depends to a regex search in a text file
RegexItemsDep
When a step depends to a regex searched in a text file
SqliteQueryDep
When a step depends to a regex search in a text file
StepDep
Invalidates when the dependency step is invalidated.
UrlDigestDep
Invalidates when header of the URL get request changes.

Enums§

XvcDependency
Represents variety of dependencies Xvc supports. This is to unify all dependencies without dynamic dispatch and having compile time errors when we miss something about dependencies.
XvcParamFormat
Parsable formats of a parameter file
XvcParamValue
The value of a parameter

Functions§

conf_params_file
Return default name for the params file from the config
dependencies_to_path
Returns steps that depend to to_path For dependencies with a single file path, these makes equality checks. For XvcDependency::Glob ( glob ), it checks whether to_path is in the paths of the dep. Note that for granular dependencies (Param, Regex, Lines), there may be required further checks whether the step actually depends to to_path, but as we don’t have outputs that are described more granular than a file, it simply assumes if step-A writes to file-A, any other step that depends on file-A is a dependency to step-A.
dependency_paths
Returns the local paths associated with a dependency. Some dependency types (Pipeline, Step, URL) don’t have local paths.