diff --git a/buildtools/cli.go b/buildtools/cli.go index f792880c7..27f688aea 100644 --- a/buildtools/cli.go +++ b/buildtools/cli.go @@ -11,6 +11,7 @@ import ( "strings" "github.com/BurntSushi/toml" + "github.com/jfrog/gofrog/datastructures" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/container/strategies" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/python" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/setup" @@ -425,7 +426,7 @@ func GetCommands() []cli.Command { }, { Name: "docker", - Flags: cliutils.GetCommandFlags(cliutils.Docker), + Flags: getDockerFlags(), Usage: docker.GetDescription(), HelpName: corecommon.CreateUsage("docker", docker.GetDescription(), docker.Usage), UsageText: docker.GetArguments(), @@ -494,6 +495,27 @@ func skipFlagParsingForDockerCmd() bool { return true } +func getDockerFlags() []cli.Flag { + flagList := cliutils.GetCommandFlags(cliutils.Docker) + flagNames := datastructures.MakeSet[string]() + for _, f := range flagList { + flagNames.Add(f.GetName()) + } + // Adding `Docker Scan` flags + converted, _, err := components.ConvertFlags(securityDocs.DockerScan, securityDocs.GetCommandFlags(securityDocs.DockerScan)) + if err != nil { + log.Error("Could not convert Docker Scan flags:", err) + return flagList + } + // Avoiding flag duplication + for _, f := range converted { + if !flagNames.Exists(f.GetName()) { + flagList = append(flagList, f) + } + } + return flagList +} + // decorateWithFlagCapture injects a Before hook into every command returned from this package, // so we can capture user-provided flags consistently in one place for all build commands. func decorateWithFlagCapture(cmds []cli.Command) []cli.Command { diff --git a/go.mod b/go.mod index 7bac63b7f..bed259661 100644 --- a/go.mod +++ b/go.mod @@ -288,7 +288,8 @@ replace github.com/gfleury/go-bitbucket-v1 => github.com/gfleury/go-bitbucket-v1 // replace github.com/jfrog/jfrog-cli-core/v2 => github.com/reshmifrog/jfrog-cli-core/v2 v2.58.5-0.20251110095124-ab9a4102ec5a -// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251104113958-abd9de5958c4 +// attiasas:convert_flags_public +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251215112214-480d59f6e63e //replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.54.2-0.20251007084958-5eeaa42c31a6 diff --git a/go.sum b/go.sum index f8eef4d2a..d154bdde9 100644 --- a/go.sum +++ b/go.sum @@ -695,6 +695,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251215112214-480d59f6e63e h1:qpGEWolmqWnTPvZsI5mMAORq1LxxxWkyKVMbsKQu32s= +github.com/attiasas/jfrog-cli-core/v2 v2.0.0-20251215112214-480d59f6e63e/go.mod h1:BMoGi2rG0udCCeaghqlNgiW3fTmT+TNnfTnBoWFYgcg= github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE= github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU= github.com/aws/aws-sdk-go-v2 v1.39.5 h1:e/SXuia3rkFtapghJROrydtQpfQaaUgd1cUvyO1mp2w= @@ -1218,8 +1220,6 @@ github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f h1:Y github.com/jfrog/jfrog-cli-application v1.0.2-0.20251210075951-519050602a7f/go.mod h1:xum2HquWO5uExa/A7MQs3TgJJVEeoqTR+6Z4mfBr1Xw= github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251211075913-35ebcd308e93 h1:rpkJZN0TigpAGY/bfgmLO4nwhyhkr0gkBTLz/0B5zS8= github.com/jfrog/jfrog-cli-artifactory v0.8.1-0.20251211075913-35ebcd308e93/go.mod h1:7cCaRhXorlbyXZgiW5bplCExFxlnROaG21K12d8inpQ= -github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251210085744-f8481d179ac5 h1:GYE67ubwl+ZRw3CcXFUi49EwwQp6k+qS8sX0QuHDHO8= -github.com/jfrog/jfrog-cli-core/v2 v2.60.1-0.20251210085744-f8481d179ac5/go.mod h1:BMoGi2rG0udCCeaghqlNgiW3fTmT+TNnfTnBoWFYgcg= github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0 h1:8S1vE1PeVtrzWkKL0N39cX6XLLNV0It+f6xjRKjw7Ug= github.com/jfrog/jfrog-cli-evidence v0.8.3-0.20251204144808-73fa744851c0/go.mod h1:Ijx7tkTp6uDxgmQW+zQKLNztMrz6dcQAoVNXHL7spsU= github.com/jfrog/jfrog-cli-platform-services v1.10.1-0.20251205121610-171eb9b0000e h1:0BDeb5lD8qgQMOZJ08E35jUMTlt2Hb0K7Wu0SqO6MrI=