diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-05-21 15:02:53 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-05-21 15:05:12 +0900 |
| commit | 1acb5b010507dd2246b77b8c856612b86cb2eda4 (patch) | |
| tree | 0b199678e21b7fa89a34500539a65e31fffb3f1d /internal/rosa/state.go | |
| parent | 40b33f9fc7d171124ac5369312fb8b6a956161ca (diff) | |
internal/rosa: extra inputs in alternative path
This works around particularly unwieldy build systems.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/state.go')
| -rw-r--r-- | internal/rosa/state.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/internal/rosa/state.go b/internal/rosa/state.go index 7cdf7cb5..8c087f32 100644 --- a/internal/rosa/state.go +++ b/internal/rosa/state.go @@ -926,7 +926,7 @@ func (ctx *evalContext) pf( sourceA any helper Helper - inputs, runtimes azalea.Array + inputs, runtimes, extra azalea.Array ) if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ k("description"): &meta.Description, @@ -952,14 +952,17 @@ func (ctx *evalContext) pf( k("exec"): &helper, k("inputs"): &inputs, k("runtime"): &runtimes, + k("extra"): &extra, }); err != nil { return } - var inputsH P + var inputsH, extraH P if inputsH, err = toHandles(inputs); err != nil { return } else if meta.Dependencies, err = toHandles(runtimes); err != nil { return + } else if extraH, err = toHandles(extra); err != nil { + return } meta.ID = int(anitya) @@ -981,6 +984,15 @@ func (ctx *evalContext) pf( }) } + for _, h := range extraH { + _, a := ctx.t.MustLoad(h) + attr.Paths = append(attr.Paths, pkg.Path( + AbsUsrSrc.Append("extra", h.String()), + attr.Writable, + a, + )) + } + for _, pair := range files { var pathname *check.Absolute if pathname, err = check.NewAbs(pair[0]); err != nil { |
