From 9a77c06b44f04e84c0c15ab1d7b6255095e3e492 Mon Sep 17 00:00:00 2001 From: Niek den Breeje Date: Tue, 31 Aug 2021 10:05:08 +0200 Subject: [PATCH] Move from micro/cli/v2 to urfave/cli/v2 (#2224) * Use urfave/cli/v2 instead of micro/cli/v2 Wherever possible we may want to eliminate the use of github.com/micro imports. * Fix broken cli test --- cmd/cmd.go | 2 +- cmd/gomu/cmd/cli/call/call.go | 2 +- cmd/gomu/cmd/cli/cli.go | 2 +- cmd/gomu/cmd/cli/describe/describe.go | 2 +- cmd/gomu/cmd/cli/describe/service.go | 2 +- cmd/gomu/cmd/cli/new/new.go | 2 +- cmd/gomu/cmd/cli/run/run.go | 2 +- cmd/gomu/cmd/cli/services/services.go | 2 +- cmd/gomu/cmd/cli/stream/bidi.go | 2 +- cmd/gomu/cmd/cli/stream/server.go | 2 +- cmd/gomu/cmd/cli/stream/stream.go | 2 +- cmd/gomu/cmd/cmd.go | 2 +- cmd/gomu/go.mod | 2 +- cmd/gomu/go.sum | 2 ++ config/source/cli/README.md | 2 +- config/source/cli/cli.go | 4 ++-- config/source/cli/cli_test.go | 5 ++++- config/source/cli/options.go | 2 +- config/source/cli/util.go | 2 +- examples/flags/main.go | 2 +- examples/mocking/main.go | 2 +- examples/service/main.go | 3 ++- go.mod | 2 +- go.sum | 5 ++--- options.go | 2 +- web/options.go | 2 +- web/service.go | 2 +- web/web_test.go | 2 +- 28 files changed, 35 insertions(+), 30 deletions(-) diff --git a/cmd/cmd.go b/cmd/cmd.go index 1de0fbe3..40be693e 100644 --- a/cmd/cmd.go +++ b/cmd/cmd.go @@ -22,7 +22,7 @@ import ( "github.com/asim/go-micro/v3/server" "github.com/asim/go-micro/v3/store" "github.com/asim/go-micro/v3/transport" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) type Cmd interface { diff --git a/cmd/gomu/cmd/cli/call/call.go b/cmd/gomu/cmd/cli/call/call.go index ac723c2f..bfcf9fa8 100644 --- a/cmd/gomu/cmd/cli/call/call.go +++ b/cmd/gomu/cmd/cli/call/call.go @@ -9,7 +9,7 @@ import ( "github.com/asim/go-micro/cmd/gomu/cmd" "github.com/asim/go-micro/v3" "github.com/asim/go-micro/v3/client" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // NewCommand returns a new call cli command. diff --git a/cmd/gomu/cmd/cli/cli.go b/cmd/gomu/cmd/cli/cli.go index 8e30868c..7085040b 100644 --- a/cmd/gomu/cmd/cli/cli.go +++ b/cmd/gomu/cmd/cli/cli.go @@ -10,7 +10,7 @@ import ( "github.com/asim/go-micro/cmd/gomu/cmd/cli/run" "github.com/asim/go-micro/cmd/gomu/cmd/cli/services" "github.com/asim/go-micro/cmd/gomu/cmd/cli/stream" - mcli "github.com/micro/cli/v2" + mcli "github.com/urfave/cli/v2" ) func init() { diff --git a/cmd/gomu/cmd/cli/describe/describe.go b/cmd/gomu/cmd/cli/describe/describe.go index 08ac0a57..e18cc343 100644 --- a/cmd/gomu/cmd/cli/describe/describe.go +++ b/cmd/gomu/cmd/cli/describe/describe.go @@ -2,7 +2,7 @@ package describe import ( "github.com/asim/go-micro/cmd/gomu/cmd" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) var flags []cli.Flag = []cli.Flag{ diff --git a/cmd/gomu/cmd/cli/describe/service.go b/cmd/gomu/cmd/cli/describe/service.go index 6013a41d..e791d239 100644 --- a/cmd/gomu/cmd/cli/describe/service.go +++ b/cmd/gomu/cmd/cli/describe/service.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/asim/go-micro/cmd/gomu/cmd" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" "gopkg.in/yaml.v2" ) diff --git a/cmd/gomu/cmd/cli/new/new.go b/cmd/gomu/cmd/cli/new/new.go index ff664079..1e569e84 100644 --- a/cmd/gomu/cmd/cli/new/new.go +++ b/cmd/gomu/cmd/cli/new/new.go @@ -10,7 +10,7 @@ import ( "github.com/asim/go-micro/cmd/gomu/cmd" tmpl "github.com/asim/go-micro/cmd/gomu/cmd/cli/new/template" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) var flags []cli.Flag = []cli.Flag{ diff --git a/cmd/gomu/cmd/cli/run/run.go b/cmd/gomu/cmd/cli/run/run.go index 7662c7bd..1323be54 100644 --- a/cmd/gomu/cmd/cli/run/run.go +++ b/cmd/gomu/cmd/cli/run/run.go @@ -8,7 +8,7 @@ import ( "time" "github.com/fsnotify/fsnotify" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // NewCommand returns a new run command. diff --git a/cmd/gomu/cmd/cli/services/services.go b/cmd/gomu/cmd/cli/services/services.go index 2a1becec..8006efbf 100644 --- a/cmd/gomu/cmd/cli/services/services.go +++ b/cmd/gomu/cmd/cli/services/services.go @@ -5,7 +5,7 @@ import ( "sort" "github.com/asim/go-micro/cmd/gomu/cmd" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // NewCommand returns a new services command. diff --git a/cmd/gomu/cmd/cli/stream/bidi.go b/cmd/gomu/cmd/cli/stream/bidi.go index 0dc8aeba..7cf9c511 100644 --- a/cmd/gomu/cmd/cli/stream/bidi.go +++ b/cmd/gomu/cmd/cli/stream/bidi.go @@ -7,7 +7,7 @@ import ( "github.com/asim/go-micro/v3" "github.com/asim/go-micro/v3/client" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // Bidirectional streams client requests and prints the server stream responses diff --git a/cmd/gomu/cmd/cli/stream/server.go b/cmd/gomu/cmd/cli/stream/server.go index 7db95f81..2d121ab3 100644 --- a/cmd/gomu/cmd/cli/stream/server.go +++ b/cmd/gomu/cmd/cli/stream/server.go @@ -9,7 +9,7 @@ import ( "github.com/asim/go-micro/v3" "github.com/asim/go-micro/v3/client" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // Server sends a single client request and prints the server stream responses diff --git a/cmd/gomu/cmd/cli/stream/stream.go b/cmd/gomu/cmd/cli/stream/stream.go index 58719276..94362715 100644 --- a/cmd/gomu/cmd/cli/stream/stream.go +++ b/cmd/gomu/cmd/cli/stream/stream.go @@ -2,7 +2,7 @@ package stream import ( "github.com/asim/go-micro/cmd/gomu/cmd" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // NewCommand returns a new stream command. diff --git a/cmd/gomu/cmd/cmd.go b/cmd/gomu/cmd/cmd.go index a042de78..6de95846 100644 --- a/cmd/gomu/cmd/cmd.go +++ b/cmd/gomu/cmd/cmd.go @@ -5,7 +5,7 @@ import ( "os" mcmd "github.com/asim/go-micro/v3/cmd" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) var ( diff --git a/cmd/gomu/go.mod b/cmd/gomu/go.mod index 9f5789b8..0a1ce4ae 100644 --- a/cmd/gomu/go.mod +++ b/cmd/gomu/go.mod @@ -6,9 +6,9 @@ require ( github.com/HdrHistogram/hdrhistogram-go v1.1.2 // indirect github.com/asim/go-micro/v3 v3.6.0 github.com/fsnotify/fsnotify v1.4.9 - github.com/micro/cli/v2 v2.1.2 github.com/opentracing/opentracing-go v1.2.0 github.com/uber/jaeger-client-go v2.29.1+incompatible github.com/uber/jaeger-lib v2.4.1+incompatible + github.com/urfave/cli/v2 v2.3.0 gopkg.in/yaml.v2 v2.4.0 ) diff --git a/cmd/gomu/go.sum b/cmd/gomu/go.sum index 83a8e152..4b82dd2a 100644 --- a/cmd/gomu/go.sum +++ b/cmd/gomu/go.sum @@ -496,7 +496,9 @@ github.com/uber/jaeger-client-go v2.29.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMW github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= diff --git a/config/source/cli/README.md b/config/source/cli/README.md index 0b482d58..0c40066a 100644 --- a/config/source/cli/README.md +++ b/config/source/cli/README.md @@ -4,7 +4,7 @@ The cli source reads config from parsed flags via a cli.Context. ## Format -We expect the use of the `micro/cli` package. Upper case flags will be lower cased. Dashes will be used as delimiters for nesting. +We expect the use of the `urfave/cli` package. Upper case flags will be lower cased. Dashes will be used as delimiters for nesting. ### Example diff --git a/config/source/cli/cli.go b/config/source/cli/cli.go index c07ae655..9ee09259 100644 --- a/config/source/cli/cli.go +++ b/config/source/cli/cli.go @@ -10,7 +10,7 @@ import ( "github.com/asim/go-micro/v3/cmd" "github.com/asim/go-micro/v3/config/source" "github.com/imdario/mergo" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) type cliSource struct { @@ -84,7 +84,7 @@ func (c *cliSource) String() string { return "cli" } -// NewSource returns a config source for integrating parsed flags from a micro/cli.Context. +// NewSource returns a config source for integrating parsed flags from a urfave/cli.Context. // Hyphens are delimiters for nesting, and all keys are lowercased. The assumption is that // command line flags have already been parsed. // diff --git a/config/source/cli/cli_test.go b/config/source/cli/cli_test.go index 11531e7a..34c1a1c2 100644 --- a/config/source/cli/cli_test.go +++ b/config/source/cli/cli_test.go @@ -9,7 +9,7 @@ import ( "github.com/asim/go-micro/v3/cmd" "github.com/asim/go-micro/v3/config" "github.com/asim/go-micro/v3/config/source" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) func TestCliSourceDefault(t *testing.T) { @@ -30,6 +30,9 @@ func TestCliSourceDefault(t *testing.T) { &cli.StringFlag{ Name: "test.testlogfile", }, + &cli.StringFlag{ + Name: "test.paniconexit0", + }, &cli.StringFlag{ Name: "flag", Usage: "It changes something", diff --git a/config/source/cli/options.go b/config/source/cli/options.go index 0b56a139..4dddf1a2 100644 --- a/config/source/cli/options.go +++ b/config/source/cli/options.go @@ -4,7 +4,7 @@ import ( "context" "github.com/asim/go-micro/v3/config/source" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) type contextKey struct{} diff --git a/config/source/cli/util.go b/config/source/cli/util.go index 1eb9a8b0..bfc4e5dd 100644 --- a/config/source/cli/util.go +++ b/config/source/cli/util.go @@ -5,7 +5,7 @@ import ( "flag" "strings" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) func copyFlag(name string, ff *flag.Flag, set *flag.FlagSet) { diff --git a/examples/flags/main.go b/examples/flags/main.go index 53d85748..bcb8e079 100644 --- a/examples/flags/main.go +++ b/examples/flags/main.go @@ -4,8 +4,8 @@ import ( "fmt" "os" - "github.com/micro/cli/v2" "github.com/asim/go-micro/v3" + "github.com/urfave/cli/v2" ) func main() { diff --git a/examples/mocking/main.go b/examples/mocking/main.go index d3ce4977..0ca418e6 100644 --- a/examples/mocking/main.go +++ b/examples/mocking/main.go @@ -4,10 +4,10 @@ import ( "context" "fmt" - "github.com/micro/cli/v2" proto "github.com/asim/go-micro/examples/v3/helloworld/proto" "github.com/asim/go-micro/examples/v3/mocking/mock" "github.com/asim/go-micro/v3" + "github.com/urfave/cli/v2" ) func main() { diff --git a/examples/service/main.go b/examples/service/main.go index 48f0dbe6..557fc507 100644 --- a/examples/service/main.go +++ b/examples/service/main.go @@ -5,9 +5,10 @@ import ( "os" "context" - "github.com/micro/cli/v2" + proto "github.com/asim/go-micro/examples/v3/service/proto" "github.com/asim/go-micro/v3" + "github.com/urfave/cli/v2" ) /* diff --git a/go.mod b/go.mod index 9626d759..a6ab85c9 100644 --- a/go.mod +++ b/go.mod @@ -18,13 +18,13 @@ require ( github.com/google/uuid v1.2.0 github.com/gorilla/handlers v1.5.1 github.com/imdario/mergo v0.3.12 - github.com/micro/cli/v2 v2.1.2 github.com/miekg/dns v1.1.43 github.com/nxadm/tail v1.4.8 github.com/oxtoacart/bpool v0.0.0-20190530202638-03653db5a59c github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.7.0 + github.com/urfave/cli/v2 v2.3.0 golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a golang.org/x/net v0.0.0-20210510120150-4163338589ed golang.org/x/sync v0.0.0-20210220032951-036812b2e83c diff --git a/go.sum b/go.sum index 3be77909..1cb63fdb 100644 --- a/go.sum +++ b/go.sum @@ -151,7 +151,6 @@ github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5Kwzbycv github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= @@ -356,8 +355,6 @@ github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m github.com/mattn/go-tty v0.0.0-20180219170247-931426f7535a/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/micro/cli/v2 v2.1.2 h1:43J1lChg/rZCC1rvdqZNFSQDrGT7qfMrtp6/ztpIkEM= -github.com/micro/cli/v2 v2.1.2/go.mod h1:EguNh6DAoWKm9nmk+k/Rg0H3lQnDxqzu5x5srOtGtYg= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/dns v1.1.40/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.43 h1:JKfpVSCB84vrAmHzyrsxB5NAr5kLoMXZArPSw7Qlgyg= @@ -509,7 +506,9 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1 github.com/transip/gotransip/v6 v6.2.0/go.mod h1:pQZ36hWWRahCUXkFWlx9Hs711gLd8J4qdgLdRzmtY+g= github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4 h1:u7tSpNPPswAFymm8IehJhy4uJMlUuU/GmqSkvJ1InXA= github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli/v2 v2.3.0 h1:qph92Y649prgesehzOrQjdWyxFOp/QVM+6imKHad91M= github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= diff --git a/options.go b/options.go index 0a00f994..1df3a16b 100644 --- a/options.go +++ b/options.go @@ -17,7 +17,7 @@ import ( "github.com/asim/go-micro/v3/server" "github.com/asim/go-micro/v3/store" "github.com/asim/go-micro/v3/transport" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) // Options for micro service diff --git a/web/options.go b/web/options.go index 6b48a894..a333047b 100644 --- a/web/options.go +++ b/web/options.go @@ -8,7 +8,7 @@ import ( "github.com/asim/go-micro/v3" "github.com/asim/go-micro/v3/registry" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) //Options for web diff --git a/web/service.go b/web/service.go index ad76983d..4411e68c 100644 --- a/web/service.go +++ b/web/service.go @@ -22,7 +22,7 @@ import ( mnet "github.com/asim/go-micro/v3/util/net" signalutil "github.com/asim/go-micro/v3/util/signal" mls "github.com/asim/go-micro/v3/util/tls" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) type service struct { diff --git a/web/web_test.go b/web/web_test.go index 62a1c285..be77484c 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -10,7 +10,7 @@ import ( "github.com/asim/go-micro/v3" "github.com/asim/go-micro/v3/logger" "github.com/asim/go-micro/v3/web" - "github.com/micro/cli/v2" + "github.com/urfave/cli/v2" ) func TestWeb(t *testing.T) {