From 617e42aad87a49d71cdb296575233e35de6f737e Mon Sep 17 00:00:00 2001 From: andig Date: Wed, 2 Mar 2022 13:01:20 +0100 Subject: [PATCH] Upgrade spf13/viper (#2754) Build tags enforce use go gopkgk.in/yaml/v3 instead of v2 --- .goreleaser-nightly.yml | 2 +- .goreleaser.yml | 2 +- Makefile | 4 ++-- cmd/setup_test.go | 37 +++++++++++++++++++++++++++++++++++++ go.mod | 9 +++++---- go.sum | 15 ++++++++++----- 6 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 cmd/setup_test.go diff --git a/.goreleaser-nightly.yml b/.goreleaser-nightly.yml index 9824519028..777cef4222 100644 --- a/.goreleaser-nightly.yml +++ b/.goreleaser-nightly.yml @@ -6,7 +6,7 @@ builds: - id: evcc main: main.go flags: - - -tags=release + - -tags=release,viper_yaml3 ldflags: - -X github.com/evcc-io/evcc/server.Version={{.Version}} -X github.com/evcc-io/evcc/server.Commit={{.ShortCommit}} -s -w env: diff --git a/.goreleaser.yml b/.goreleaser.yml index 6b8ce43d31..d76fbed65b 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -8,7 +8,7 @@ builds: - id: evcc main: main.go flags: - - -tags=release + - -tags=release,viper_yaml3 ldflags: - -X github.com/evcc-io/evcc/server.Version={{.Version}} -s -w env: diff --git a/Makefile b/Makefile index dc883fb7f2..80d872fd10 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,7 @@ ifeq ($(RELEASE),1) endif VERSION := $(if $(TAG_NAME),$(TAG_NAME),$(SHA)) BUILD_DATE := $(shell date -u '+%Y-%m-%d_%H:%M:%S') -BUILD_TAGS := -tags=release +BUILD_TAGS := -tags=release,viper_yaml3 LD_FLAGS := -X github.com/evcc-io/evcc/server.Version=$(VERSION) -X github.com/evcc-io/evcc/server.Commit=$(COMMIT) -s -w BUILD_ARGS := -ldflags='$(LD_FLAGS)' @@ -57,7 +57,7 @@ test-ui: test: @echo "Running testsuite" - go test ./... + go test $(BUILD_TAGS) ./... build: @echo Version: $(VERSION) $(SHA) $(BUILD_DATE) diff --git a/cmd/setup_test.go b/cmd/setup_test.go new file mode 100644 index 0000000000..8b69f3ef26 --- /dev/null +++ b/cmd/setup_test.go @@ -0,0 +1,37 @@ +package cmd + +import ( + "strings" + "testing" + + "github.com/evcc-io/evcc/api" + "github.com/evcc-io/evcc/core" + "github.com/evcc-io/evcc/util" + "github.com/spf13/viper" +) + +const sample = ` +loadpoints: +- mode: off +` + +func TestYamlOff(t *testing.T) { + var conf config + viper.SetConfigType("yaml") + if err := viper.ReadConfig(strings.NewReader(sample)); err != nil { + t.Error(err) + } + + if err := viper.UnmarshalExact(&conf); err != nil { + t.Error(err) + } + + var lp core.LoadPoint + if err := util.DecodeOther(conf.LoadPoints[0], &lp); err != nil { + t.Error(err) + } + + if lp.Mode != api.ModeOff { + t.Errorf("expected `off`, got %s", lp.Mode) + } +} diff --git a/go.mod b/go.mod index e855d4c937..663298dd24 100644 --- a/go.mod +++ b/go.mod @@ -67,8 +67,8 @@ require ( github.com/spf13/cobra v1.3.0 github.com/spf13/jwalterweatherman v1.1.0 github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.10.1 - github.com/stretchr/testify v1.7.0 + github.com/spf13/viper v1.10.2-0.20220212101550-5986bd9c0c19 + github.com/stretchr/testify v1.7.1-0.20210427113832-6241f9ab9942 github.com/thoas/go-funk v0.9.1 github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c github.com/volkszaehler/mbmd v0.0.0-20220208145932-d2d3cba909f5 @@ -127,6 +127,7 @@ require ( github.com/onsi/gomega v1.17.0 // indirect github.com/pascaldekloe/name v1.0.1 // indirect github.com/pelletier/go-toml v1.9.4 // indirect + github.com/pelletier/go-toml/v2 v2.0.0-beta.6 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pquerna/cachecontrol v0.1.0 // indirect @@ -137,7 +138,7 @@ require ( github.com/shopspring/decimal v1.3.1 // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/smartystreets/goconvey v1.7.2 // indirect - github.com/spf13/afero v1.8.0 // indirect + github.com/spf13/afero v1.8.1 // indirect github.com/spf13/cast v1.4.1 // indirect github.com/subosito/gotenv v1.2.0 // indirect github.com/teivah/onecontext v1.3.0 // indirect @@ -153,7 +154,7 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20220114231437-d2e6a121cae0 // indirect gopkg.in/go-playground/validator.v9 v9.31.0 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect + gopkg.in/ini.v1 v1.66.3 // indirect gopkg.in/sourcemap.v1 v1.0.5 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect diff --git a/go.sum b/go.sum index cdce75323f..efb07c147a 100644 --- a/go.sum +++ b/go.sum @@ -652,6 +652,8 @@ github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/9 github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.0-beta.6 h1:JFNqj2afbbhCqTiyN16D7Tudc/aaDzE2FBDk+VlBQnE= +github.com/pelletier/go-toml/v2 v2.0.0-beta.6/go.mod h1:ke6xncR3W76Ba8xnVxkrZG0js6Rd2BsQEAYrfgJ6eQA= github.com/peterbourgon/ff v1.2.0/go.mod h1:ljiF7yxtUvZaxUDyUqQa0+uiEOgwVboj+Q2S2+0nq40= github.com/philippseith/signalr v0.5.3-0.20211205201131-d57b5a34379a h1:wLffcAusLojxT9PRjguscJLi2+xIagvQi9ScM9UwVHw= github.com/philippseith/signalr v0.5.3-0.20211205201131-d57b5a34379a/go.mod h1:lvHqx1JLduRcRHqWiDX6u/LHtSsfb08g+e+QP/B2gTA= @@ -739,8 +741,8 @@ github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.8.0 h1:5MmtuhAgYeU6qpa7w7bP0dv6MBYuup0vekhSpSkoq60= -github.com/spf13/afero v1.8.0/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= +github.com/spf13/afero v1.8.1 h1:izYHOT71f9iZ7iq37Uqjael60/vYC6vMtzedudZ0zEk= +github.com/spf13/afero v1.8.1/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= @@ -758,8 +760,9 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= +github.com/spf13/viper v1.10.2-0.20220212101550-5986bd9c0c19 h1:QSL6cVodY4augp8bYZ1ycHVvKACRzBph0+6chVwMmpI= +github.com/spf13/viper v1.10.2-0.20220212101550-5986bd9c0c19/go.mod h1:DeW4u8kCF5/iHHyGrFGif6WBorkYi/AYPs+xXKmfG4M= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1 h1:2vfRuCMp5sSVIDSqO8oNnWJq7mPa6KVP3iPIwFBuy8A= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -769,8 +772,9 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.1-0.20210427113832-6241f9ab9942 h1:t0lM6y/M5IiUZyvbBTcngso8SZEZICH7is9B6g/obVU= +github.com/stretchr/testify v1.7.1-0.20210427113832-6241f9ab9942/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/suapapa/go_eddystone v1.3.1/go.mod h1:bXC11TfJOS+3g3q/Uzd7FKd5g62STQEfeEIhcKe4Qy8= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= @@ -1352,8 +1356,9 @@ gopkg.in/go-playground/validator.v9 v9.31.0 h1:bmXmP2RSNtFES+bn4uYuHT7iJFJv7Vj+a gopkg.in/go-playground/validator.v9 v9.31.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.55.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.3 h1:jRskFVxYaMGAMUbN0UZ7niA9gzL9B49DOqE78vg0k3w= +gopkg.in/ini.v1 v1.66.3/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/readline.v1 v1.0.0-20160726135117-62c6fe619375/go.mod h1:lNEQeAhU009zbRxng+XOj5ITVgY24WcbNnQopyfKoYQ= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/sourcemap.v1 v1.0.5 h1:inv58fC9f9J3TK2Y2R1NPntXEn3/wjWHkonhIUODNTI=