aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/internal
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-05-19 00:03:42 +0900
committerOphestra <cat@gensokyo.uk>2026-05-19 00:44:24 +0900
commit8807cbc7305e424725b2be8eed7ecd9234f7772e (patch)
tree5998f055396505becf0f99fcba3c86514f00650b /cmd/mbf/internal
parent0e95573f187f64de1a46f27af67325e57037b9a9 (diff)
internal/rosa: create metadata alongside artifact
This enables deferring evaluation of azalea-based packages and fixes the longstanding quirk of version being disjoint from other metadata. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/mbf/internal')
-rw-r--r--cmd/mbf/internal/pkgserver/index.go12
1 files changed, 6 insertions, 6 deletions
diff --git a/cmd/mbf/internal/pkgserver/index.go b/cmd/mbf/internal/pkgserver/index.go
index 3508a844..2cc68f9f 100644
--- a/cmd/mbf/internal/pkgserver/index.go
+++ b/cmd/mbf/internal/pkgserver/index.go
@@ -33,10 +33,10 @@ type packageIndex struct {
// metadata holds [rosa.Metadata] extended with additional information.
type metadata struct {
handle rosa.ArtifactH
- *rosa.Artifact
+ *rosa.Metadata
- // Populated via [rosa.Toolchain.Version], [rosa.Unversioned] is equivalent
- // to the zero value. Otherwise, the zero value is invalid.
+ // Copied from [rosa.Metadata], [rosa.Unversioned] is equivalent to the zero
+ // value. Otherwise, the zero value is invalid.
Version string `json:"version,omitempty"`
// Output data size, available if present in report.
Size int64 `json:"size,omitempty"`
@@ -61,12 +61,12 @@ func (index *packageIndex) populate(report *rosa.Report) (err error) {
index.names = make(map[string]*metadata)
ir := pkg.NewIR()
for i, handle := range handles {
- a, version := rosa.Native().Std().MustLoad(handle)
+ meta, a := rosa.Native().Std().MustLoad(handle)
m := metadata{
handle: handle,
- Artifact: rosa.Native().MustGet(handle),
- Version: version,
+ Metadata: meta,
+ Version: meta.Version,
}
if m.Version == "" {
return errors.New("invalid version from " + m.Name)