Replace yaml.v2 with yaml.v3 (#21832)

I don't see why we have to use two versions of yaml. The difference
between the two versions has nothing to do with our usage.
This commit is contained in:
Jason Song 2022-11-21 16:36:59 +08:00 committed by GitHub
parent b4802b9b2e
commit e4eaa68a2b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 15 additions and 16 deletions

2
go.mod
View file

@ -102,7 +102,6 @@ require (
golang.org/x/tools v0.1.12 golang.org/x/tools v0.1.12
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/ini.v1 v1.67.0 gopkg.in/ini.v1 v1.67.0
gopkg.in/yaml.v2 v2.4.0
gopkg.in/yaml.v3 v3.0.1 gopkg.in/yaml.v3 v3.0.1
mvdan.cc/xurls/v2 v2.4.0 mvdan.cc/xurls/v2 v2.4.0
strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251 strk.kbt.io/projects/go/libravatar v0.0.0-20191008002943-06d1c002b251
@ -293,6 +292,7 @@ require (
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
sigs.k8s.io/yaml v1.2.0 // indirect sigs.k8s.io/yaml v1.2.0 // indirect
) )

View file

@ -8,12 +8,13 @@ import (
"fmt" "fmt"
"os" "os"
"strings" "strings"
"time"
"code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/json"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"github.com/santhosh-tekuri/jsonschema/v5" "github.com/santhosh-tekuri/jsonschema/v5"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
// Load project data from file, with optional validation // Load project data from file, with optional validation
@ -84,13 +85,9 @@ func validate(bs []byte, datatype interface{}, isJSON bool) error {
func toStringKeys(val interface{}) (interface{}, error) { func toStringKeys(val interface{}) (interface{}, error) {
var err error var err error
switch val := val.(type) { switch val := val.(type) {
case map[interface{}]interface{}: case map[string]interface{}:
m := make(map[string]interface{}) m := make(map[string]interface{})
for k, v := range val { for k, v := range val {
k, ok := k.(string)
if !ok {
return nil, fmt.Errorf("found non-string key %T %s", k, k)
}
m[k], err = toStringKeys(v) m[k], err = toStringKeys(v)
if err != nil { if err != nil {
return nil, err return nil, err
@ -106,6 +103,8 @@ func toStringKeys(val interface{}) (interface{}, error) {
} }
} }
return l, nil return l, nil
case time.Time:
return val.Format(time.RFC3339), nil
default: default:
return val, nil return val, nil
} }

View file

@ -14,7 +14,7 @@ import (
"code.gitea.io/gitea/modules/validation" "code.gitea.io/gitea/modules/validation"
"github.com/hashicorp/go-version" "github.com/hashicorp/go-version"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
var ( var (

View file

@ -15,7 +15,7 @@ import (
"code.gitea.io/gitea/modules/validation" "code.gitea.io/gitea/modules/validation"
"github.com/hashicorp/go-version" "github.com/hashicorp/go-version"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
var ( var (

View file

@ -14,7 +14,7 @@ import (
"code.gitea.io/gitea/modules/validation" "code.gitea.io/gitea/modules/validation"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
var ( var (
@ -120,7 +120,7 @@ func (r requirement) AsVersionRequirement() []VersionRequirement {
if !ok { if !ok {
continue continue
} }
vm, ok := req[1].(map[interface{}]interface{}) vm, ok := req[1].(map[string]interface{})
if !ok { if !ok {
continue continue
} }

View file

@ -23,7 +23,7 @@ import (
"code.gitea.io/gitea/routers/api/packages/helper" "code.gitea.io/gitea/routers/api/packages/helper"
packages_service "code.gitea.io/gitea/services/packages" packages_service "code.gitea.io/gitea/services/packages"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
func apiError(ctx *context.Context, status int, obj interface{}) { func apiError(ctx *context.Context, status int, obj interface{}) {

View file

@ -26,7 +26,7 @@ import (
"code.gitea.io/gitea/modules/structs" "code.gitea.io/gitea/modules/structs"
"github.com/google/uuid" "github.com/google/uuid"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
var _ base.Uploader = &RepositoryDumper{} var _ base.Uploader = &RepositoryDumper{}

View file

@ -13,7 +13,7 @@ import (
base "code.gitea.io/gitea/modules/migration" base "code.gitea.io/gitea/modules/migration"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
// RepositoryRestorer implements an Downloader from the local directory // RepositoryRestorer implements an Downloader from the local directory

View file

@ -22,7 +22,7 @@ import (
"code.gitea.io/gitea/tests" "code.gitea.io/gitea/tests"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
func TestPackageHelm(t *testing.T) { func TestPackageHelm(t *testing.T) {

View file

@ -25,7 +25,7 @@ import (
"code.gitea.io/gitea/services/migrations" "code.gitea.io/gitea/services/migrations"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"gopkg.in/yaml.v2" "gopkg.in/yaml.v3"
) )
func TestDumpRestore(t *testing.T) { func TestDumpRestore(t *testing.T) {