From 8807cbc7305e424725b2be8eed7ecd9234f7772e Mon Sep 17 00:00:00 2001 From: Ophestra Date: Tue, 19 May 2026 00:03:42 +0900 Subject: 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 --- cmd/mbf/internal/pkgserver/index.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'cmd/mbf/internal/pkgserver') 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) -- cgit v1.3.1