diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-03-13 10:34:24 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-03-13 10:34:45 +0900 |
| commit | 5c785c135cc6c9e0f478b58d6d30499680808f25 (patch) | |
| tree | 73c3f2ec965296e0d24a9d2b3b585e90380aac11 /internal | |
| parent | 0130f8ea6d88b451ac218f97b07d10eb11ee2f71 (diff) | |
internal/rosa: collection meta-artifact
This is a stub FloodArtifact for concurrently curing multiple artifacts.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/rosa/rosa.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go index 060a23b4..21623808 100644 --- a/internal/rosa/rosa.go +++ b/internal/rosa/rosa.go @@ -20,6 +20,9 @@ const ( // kindBusyboxBin is the kind of [pkg.Artifact] of busyboxBin. kindBusyboxBin + + // kindCollection is the kind of [Collect]. It never cures successfully. + kindCollection ) // mustDecode is like [pkg.MustDecode], but replaces the zero value and prints @@ -588,3 +591,29 @@ cd '/usr/src/` + name + `/' })..., ) } + +// Collected is returned by [Collect.Cure] to indicate a successful collection. +type Collected struct{} + +// Error returns a constant string to satisfy error, but should never be seen +// by the user. +func (Collected) Error() string { return "artifacts successfully collected" } + +// Collect implements [pkg.FloodArtifact] to concurrently cure multiple +// [pkg.Artifact]. It returns [Collected]. +type Collect []pkg.Artifact + +// Cure returns [Collected]. +func (*Collect) Cure(*pkg.FContext) error { return Collected{} } + +// Kind returns the hardcoded [pkg.Kind] value. +func (*Collect) Kind() pkg.Kind { return kindCollection } + +// Params does not write anything, dependencies are already represented in the header. +func (*Collect) Params(*pkg.IContext) {} + +// Dependencies returns [Collect] as is. +func (c *Collect) Dependencies() []pkg.Artifact { return *c } + +// IsExclusive returns false: Cure is a noop. +func (*Collect) IsExclusive() bool { return false } |
