diff --git a/buildtools/cli.go b/buildtools/cli.go index 44e4182d2..0d7d6580a 100644 --- a/buildtools/cli.go +++ b/buildtools/cli.go @@ -3,15 +3,17 @@ package buildtools import ( "errors" "fmt" + "os" + "strconv" + "strings" + "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/python" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/setup" "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" "github.com/jfrog/jfrog-cli-core/v2/utils/ioutils" "github.com/jfrog/jfrog-cli-security/utils/techutils" + "github.com/jfrog/jfrog-cli/docs/buildtools/rubyconfig" setupdocs "github.com/jfrog/jfrog-cli/docs/buildtools/setup" - "os" - "strconv" - "strings" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/container" "github.com/jfrog/jfrog-cli-artifactory/artifactory/commands/dotnet" @@ -127,6 +129,19 @@ func GetCommands() []cli.Command { return cliutils.CreateConfigCmd(c, project.Gradle) }, }, + { + Name: "ruby-config", + Aliases: []string{"rubyc"}, + Flags: cliutils.GetCommandFlags(cliutils.RubyConfig), + Usage: rubyconfig.GetDescription(), + HelpName: corecommon.CreateUsage("ruby-config", rubyconfig.GetDescription(), rubyconfig.Usage), + ArgsUsage: common.CreateEnvVars(), + BashComplete: corecommon.CreateBashCompletionFunc(), + Category: buildToolsCategory, + Action: func(c *cli.Context) error { + return cliutils.CreateConfigCmd(c, project.Ruby) + }, + }, { Name: "gradle", Flags: cliutils.GetCommandFlags(cliutils.Gradle), diff --git a/docs/buildtools/rubyconfig/help.go b/docs/buildtools/rubyconfig/help.go new file mode 100644 index 000000000..8caba394f --- /dev/null +++ b/docs/buildtools/rubyconfig/help.go @@ -0,0 +1,7 @@ +package rubyconfig + +var Usage = []string{"ruby-config [command options]"} + +func GetDescription() string { + return "Generate ruby build configuration." +} diff --git a/go.mod b/go.mod index 02a432181..2e7fb4523 100644 --- a/go.mod +++ b/go.mod @@ -2,6 +2,8 @@ module github.com/jfrog/jfrog-cli go 1.23.9 +replace github.com/jfrog/jfrog-cli-core/v2 => ../jfrog-cli-core + replace ( // Should not be updated to 0.2.6 due to a bug (https://github.com/jfrog/jfrog-cli-core/pull/372) github.com/c-bata/go-prompt => github.com/c-bata/go-prompt v0.2.5 diff --git a/go.sum b/go.sum index 981586c60..64dabd3d6 100644 --- a/go.sum +++ b/go.sum @@ -188,8 +188,6 @@ github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYL github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= github.com/jfrog/jfrog-cli-artifactory v0.3.1 h1:0F5CgS8iR7o0PoQWcjyLWWnZVrfruNstLezzRaAb9EY= github.com/jfrog/jfrog-cli-artifactory v0.3.1/go.mod h1:6QUvZ7US2VVUWzixh/ofn6LHhBelzLkAK+v5FqBvwZ4= -github.com/jfrog/jfrog-cli-core/v2 v2.58.7 h1:njRlkJjNZ1cvG25S/6T4h+ouI+ZRABN6xZN87UIzB/M= -github.com/jfrog/jfrog-cli-core/v2 v2.58.7/go.mod h1:ZXcipUeTTEQ/phqHdbCh4wJ5Oo4QVDxzQBREQ0J9mDc= github.com/jfrog/jfrog-cli-platform-services v1.9.0 h1:r/ETgJuMUOUu12w20ydsF6paqEaj0khH6bxMRsdNz1Y= github.com/jfrog/jfrog-cli-platform-services v1.9.0/go.mod h1:pMZMSwhj7yA4VKyj0Skr2lObIyGpZUxNJ40DSLKXU38= github.com/jfrog/jfrog-cli-security v1.18.0 h1:+Lf7lW7C6XfCsCd11swJicgFackEPIKOOpQTbX3cd/M= diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index 15b786258..fef3aed5d 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -2,10 +2,11 @@ package cliutils import ( "fmt" - "github.com/jfrog/jfrog-cli-artifactory/cliutils/flagkit" "sort" "strconv" + "github.com/jfrog/jfrog-cli-artifactory/cliutils/flagkit" + commonCliUtils "github.com/jfrog/jfrog-cli-core/v2/common/cliutils" "github.com/jfrog/jfrog-cli-core/v2/utils/coreutils" @@ -41,6 +42,7 @@ const ( SwiftConfig = "swift-config" Gradle = "gradle" GradleConfig = "gradle-config" + RubyConfig = "ruby-config" DockerPromote = "docker-promote" Docker = "docker" DockerPush = "docker-push" @@ -1821,6 +1823,9 @@ var commandFlags = map[string][]string{ global, serverIdResolve, serverIdDeploy, repoResolve, repoDeploy, usesPlugin, UseWrapper, deployMavenDesc, deployIvyDesc, ivyDescPattern, ivyArtifactsPattern, }, + RubyConfig: { + global, serverIdResolve, serverIdDeploy, repoResolve, repoDeploy, + }, Mvn: { BuildName, BuildNumber, deploymentThreads, InsecureTls, Project, detailedSummary, xrayScan, xrOutput, },