Swift registry metadata: preserve more JSON fields and accept empty metadata (#37254) (#37261)

Backport #37254

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
This commit is contained in:
wxiaoguang
2026-04-18 05:36:48 +08:00
committed by GitHub
parent b191cf7e77
commit 145898b358
6 changed files with 156 additions and 65 deletions
+12
View File
@@ -5,6 +5,7 @@ package test
import (
"archive/tar"
"archive/zip"
"bytes"
"compress/gzip"
"io"
@@ -97,6 +98,17 @@ func WriteTarArchive(files map[string]string) *bytes.Buffer {
return WriteTarCompression(func(w io.Writer) io.WriteCloser { return util.NopCloser{Writer: w} }, files)
}
func WriteZipArchive(files map[string]string) *bytes.Buffer {
buf := &bytes.Buffer{}
zw := zip.NewWriter(buf)
for name, content := range files {
w, _ := zw.Create(name)
_, _ = w.Write([]byte(content))
}
_ = zw.Close()
return buf
}
func WriteTarCompression[F func(io.Writer) io.WriteCloser | func(io.Writer) (io.WriteCloser, error)](compression F, files map[string]string) *bytes.Buffer {
buf := &bytes.Buffer{}
var cw io.WriteCloser