summaryrefslogtreecommitdiffstats
path: root/src/types.rs
AgeCommit message (Collapse)Author
2021-10-24Move definition of Dependency into runner moduleMatthias Schiffer
runner::TaskInput does not contain the dependency hashes anymore, this is handled internally in the runner module now. Unfortunately this also means that we can't use this struct directly for the InputHash anymore, but overall this reduces the complexity of the interface between runner and executor.
2021-10-09Add layer hash to task outputMatthias Schiffer
For now, the hash is not actually computed.
2021-10-08Switch from SHA256 to Blake3 for task hashesMatthias Schiffer
Mostly relevant for output hashing, and the to-be-implemented workdir hashing. Passing data to the hasher is not optimized using a buffered writer yet.
2021-09-26Pass path with dependencies instead of distinguishing build and host depsMatthias Schiffer
2021-09-25Add recipe and task to TaskID as separate fieldsMatthias Schiffer
2021-09-25Remove unnecessary TaskID traitsMatthias Schiffer
Preparation for making TaskID more structured.
2021-09-19Use template variables instead of environment, parametrize all examplesMatthias Schiffer
This implements passing of various pieces of information through task arguments, as well as argument inheritance through different kinds of dependencies.
2021-09-19Rename "target depends" to "depends"Matthias Schiffer
Internally, the name "host depends" is used to match GNU build/host/target terms.
2021-09-19Add map of JSON values to TaskArgsMatthias Schiffer
2021-09-19Add TaskArgs to reference typesMatthias Schiffer
For now the struct is empty, and each task just passes its arguments to its dependencies.
2021-09-19Introduce Context structMatthias Schiffer
TaskRef etc. get a lifetime that is bound to the Context lifetime. This way we can reduce cloning significantly.
2021-09-18Separate definition types and reference typesMatthias Schiffer
We need to distinguish TaskID/Task/TaskRef, OutputDef/OutputRef for parametrized tasks.
2021-09-18executor: use run string instead of action for TaskInputMatthias Schiffer
2021-09-17Only pass path to runner, not whole Output structureMatthias Schiffer
It seems that ipc-channel can't deal with BTreeSets. Avoid the type by sending only the necessary data to the runner.
2021-09-17Introduce runtime dependencies of outputs and add to resolverMatthias Schiffer
2021-09-17Have recipes specify outputs, verify in resolverMatthias Schiffer
The outputs are not respected by the runner yet.
2021-09-17Prepare for tasks with multiple outputsMatthias Schiffer
For now, we always store the single output using the string "default" as a key. It is valid for a task not to generate all declared outputs.
2021-09-15Unpack build dependencies over rootfsMatthias Schiffer
2021-09-15Explicitly refer to "target dependencies"Matthias Schiffer
2021-09-15Make 'fetch' a kind of dependency instead of a kind of taskMatthias Schiffer
2021-09-15types: remove Serialize from TaskMatthias Schiffer
Task describes the YAML task description, it only needs to be deserialized.
2021-09-10Reduce repetitive StringHash newtype definitions using macro_rulesMatthias Schiffer
2021-09-10Remove now unneeded (Partial)Ord derives from Hash typesMatthias Schiffer
2021-09-10Introduce hashable Output enumMatthias Schiffer
2021-09-10Rename OutputHash to ArchiveHashMatthias Schiffer
2021-09-09Rename TaskAction to ActionMatthias Schiffer
Also use serde's rename_all feature.
2021-09-07executor: to not include input hashes of dependencies in TaskInputMatthias Schiffer
Avoid invalidating the cache for no reason.
2021-09-02Make InputHash and OutputHash distinct typesMatthias Schiffer
2021-09-02Add inherit field to Task definitionMatthias Schiffer
For now, the inherit field is treated as a dependency for dep resolution and ignored otherwise.
2021-09-02Store depends in HashSetMatthias Schiffer
We don't want to deal with duplicate dependencies.
2021-07-24Introduce "fetch" task typeMatthias Schiffer
No actual fetching for now, fetch tasks always succeed immediately. The runner ignores fetch tasks for unpacking.
2021-07-24Separate runner input from InputHash inputMatthias Schiffer
We need dependencies' actions in the runner to handle sysroot unpacking, but we don't want them in the TaskOutput. To keep TaskInput and TaskOutput similar, a separate definition for passing tasks to the runner is introduced. The TaskInput and TaskOutput structs are simplified, and the depends TaskRef are replaced with the dependencies InputHashes. This allows to walk the dependency chain of TaskOutputs.
2021-07-24Add TaskAction enumMatthias Schiffer
More preparation for fetch tasks.
2021-07-24Rename task typesMatthias Schiffer
Prepare for introduction of different action types: - Task -> RunTaskInput - TaskDef -> Task
2021-07-24Don't include full TaskDef in TaskMatthias Schiffer
2021-07-24Replace TaskMap struct with type aliasMatthias Schiffer
2021-07-24Revert introduction of Dependency enumMatthias Schiffer
We will represent all kinds of dependencies as tasks instead.
2021-07-22Change StringHash Debug format to hex representationMatthias Schiffer
2021-07-22Do not serialize Dependency as a single stringMatthias Schiffer
Removes our custom Serialize/Deserialize implementations.
2021-07-22Flip Task depends mapMatthias Schiffer
Not having a Dependency as a key in Task gives us more freedom over its representation.
2021-07-22Use Dependency type in Task and TaskOutput structsMatthias Schiffer
2021-07-22Add task: prefix to task dependenciesMatthias Schiffer
2021-07-22Introduce Dependency enum for different kinds of dependenciesMatthias Schiffer
For now only task dependencies are supported.
2021-07-22Make TaskRef a newtype wrapperMatthias Schiffer
2021-07-22Rename TaskID back to TaskRefMatthias Schiffer
The distinction will be important when we introduce parametrized tasks.
2021-07-17Remove task output setting for nowMatthias Schiffer
For simplicity, always archive the contents of the "dest" directory
2021-07-17Pass environment from executor, add to input hashMatthias Schiffer
2021-06-21Use input hash for temporary task output filenameMatthias Schiffer
2021-06-21types: use hex::serde reexportsMatthias Schiffer
2021-06-21executor: calculate input hashMatthias Schiffer