internal/rosa: use string pair for files

This is a much cleaner representation than the separator syntax.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-21 14:07:20 +09:00
parent 497e4a5642
commit 443a7a30f6
5 changed files with 28 additions and 27 deletions

View File

@@ -899,7 +899,7 @@ func (ctx *evalContext) pf(
var (
attr PackageAttr
patches []string
files []string
files []KV
excl bool
early bool
@@ -965,16 +965,17 @@ func (ctx *evalContext) pf(
for _, pair := range files {
var pathname *check.Absolute
dst, src, ok := strings.Cut(pair, ":")
if !ok {
src, dst = dst, filepath.Base(dst)
if pathname, err = check.NewAbs(pair[0]); err != nil {
pathname = AbsUsrSrc.Append(pair[0])
err = nil
}
if pathname, err = check.NewAbs(dst); err != nil {
pathname = AbsUsrSrc.Append(dst)
if pair[1] == "" {
pair[1] = pair[0]
}
var p []byte
p, err = fs.ReadFile(ctx.b, src)
p, err = fs.ReadFile(ctx.b, pair[1])
if err != nil {
return
}
@@ -982,8 +983,8 @@ func (ctx *evalContext) pf(
attr.Paths = append(attr.Paths, pkg.Path(
pathname,
false,
pkg.NewFile(filepath.Base(dst), p),
))
pkg.NewFile(filepath.Base(pair[0]), p)),
)
}
if excl {