diff --git a/plugins/components/conversionlayer.go b/plugins/components/conversionlayer.go index a34da13a5..fe304fb7e 100644 --- a/plugins/components/conversionlayer.go +++ b/plugins/components/conversionlayer.go @@ -7,7 +7,6 @@ import ( "github.com/jfrog/gofrog/datastructures" "github.com/jfrog/jfrog-cli-core/v2/docs/common" - "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils" "github.com/jfrog/jfrog-client-go/utils/errorutils" "github.com/urfave/cli" ) @@ -80,7 +79,7 @@ func convertCommand(cmd Command, namespaces ...string) (cli.Command, error) { if err != nil { return cli.Command{}, err } - return cli.Command{ + cliCmd := cli.Command{ Name: cmd.Name, Flags: convertedFlags, Aliases: cmd.Aliases, @@ -93,9 +92,12 @@ func convertCommand(cmd Command, namespaces ...string) (cli.Command, error) { BashComplete: common.CreateBashCompletionFunc(), SkipFlagParsing: cmd.SkipFlagParsing, Hidden: cmd.Hidden, + } + if cmd.Action != nil { // Passing any other interface than 'cli.ActionFunc' will fail the command. - Action: getActionFunc(cmd), - }, nil + cliCmd.Action = getActionFunc(cmd) + } + return cliCmd, nil } func removeEmptyValues(slice []string) []string { @@ -112,8 +114,8 @@ func removeEmptyValues(slice []string) []string { func createCommandUsages(cmd Command, convertedStringFlags map[string]StringFlag, namespaces ...string) (usages []string, err error) { // Handle manual usages provided. if cmd.UsageOptions != nil { - for _, manualUsage := range cmd.UsageOptions.Usage { - usages = append(usages, fmt.Sprintf("%s %s", coreutils.GetCliExecutableName(), manualUsage)) + if cmd.UsageOptions.Usage != nil { + usages = append(usages, cmd.UsageOptions.Usage...) } if cmd.UsageOptions.ReplaceAutoGeneratedUsage { return diff --git a/plugins/components/conversionlayer_test.go b/plugins/components/conversionlayer_test.go index 8ad02ece2..58247674d 100644 --- a/plugins/components/conversionlayer_test.go +++ b/plugins/components/conversionlayer_test.go @@ -5,7 +5,6 @@ import ( "fmt" "testing" - "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils" "github.com/stretchr/testify/assert" "github.com/urfave/cli" ) @@ -20,11 +19,6 @@ func TestCreateCommandUsages(t *testing.T) { strFlag := NewStringFlag("flag", "", SetMandatory()) override := []string{"usage override", "usage override 2", "usage override 3"} - expectedOverride := []string{ - fmt.Sprintf("%s %s", coreutils.GetCliExecutableName(), "usage override"), - fmt.Sprintf("%s %s", coreutils.GetCliExecutableName(), "usage override 2"), - fmt.Sprintf("%s %s", coreutils.GetCliExecutableName(), "usage override 3"), - } tests := []struct { name string @@ -93,7 +87,7 @@ func TestCreateCommandUsages(t *testing.T) { UsageOptions: &UsageOptions{Usage: override}, }, stringFlags: map[string]StringFlag{optStrFlag.Name: optStrFlag}, - expected: append(expectedOverride, + expected: append(override, fmt.Sprintf("%s [command options] <%s> <%s>", expectedPrefix, "first argument", "second"), fmt.Sprintf("%s [command options] --%s=<%s> <%s>", expectedPrefix, optStrFlag.Name, optStrFlag.HelpValue, "first argument"), ), @@ -107,7 +101,7 @@ func TestCreateCommandUsages(t *testing.T) { UsageOptions: &UsageOptions{Usage: override, ReplaceAutoGeneratedUsage: true}, }, stringFlags: map[string]StringFlag{optStrFlag.Name: optStrFlag, strFlag.Name: strFlag}, - expected: expectedOverride, + expected: override, // override is not expected to be changed upon using UsageOptions }, }