internal/pkg: pass cure context as single value
All checks were successful
Test / Create distribution (push) Successful in 43s
Test / Sandbox (push) Successful in 2m30s
Test / ShareFS (push) Successful in 3m45s
Test / Hpkg (push) Successful in 4m32s
Test / Sandbox (race detector) (push) Successful in 5m3s
Test / Hakurei (race detector) (push) Successful in 5m55s
Test / Hakurei (push) Successful in 2m40s
Test / Flake checks (push) Successful in 1m52s

This cleans up the function signature and makes backwards compatible API changes possible.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-06 00:56:49 +09:00
parent 3d4d32932d
commit e91049c3c5
4 changed files with 86 additions and 55 deletions

View File

@@ -69,12 +69,13 @@ func (e DisallowedTypeflagError) Error() string {
}
// Cure cures the [Artifact], producing a directory located at work.
func (a *tarArtifact) Cure(work, temp *check.Absolute, loadData CacheDataFunc) (err error) {
func (a *tarArtifact) Cure(c *CureContext) (err error) {
temp := c.GetTempDir()
var tr io.ReadCloser
{
var data []byte
data, err = loadData(a.f)
data, err = c.LoadData(a.f)
if err != nil {
return
}
@@ -209,9 +210,9 @@ func (a *tarArtifact) Cure(work, temp *check.Absolute, loadData CacheDataFunc) (
if err = os.Chmod(p.String(), 0700); err != nil {
return
}
err = os.Rename(p.String(), work.String())
err = os.Rename(p.String(), c.GetWorkDir().String())
} else {
err = os.Rename(temp.String(), work.String())
err = os.Rename(temp.String(), c.GetWorkDir().String())
}
return
}