Skip to content

Commit ce79ae6

Browse files
committed
Return current version in graylog-version command with no --set option
1 parent 9195c91 commit ce79ae6

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

cmd/graylog_version.go

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package cmd
22

33
import (
4+
"fmt"
45
"github.com/Graylog2/graylog-project-cli/apply"
56
"github.com/Graylog2/graylog-project-cli/config"
67
"github.com/Graylog2/graylog-project-cli/logger"
78
"github.com/Graylog2/graylog-project-cli/manifest"
89
"github.com/Graylog2/graylog-project-cli/project"
910
"github.com/Graylog2/graylog-project-cli/projectstate"
11+
"github.com/Graylog2/graylog-project-cli/utils"
1012
"github.com/fatih/color"
1113
"github.com/spf13/cobra"
12-
"os"
14+
"strings"
1315
)
1416

1517
var graylogVersionCmd = &cobra.Command{
@@ -29,24 +31,40 @@ Examples:
2931
}
3032

3133
var graylogVersion string
34+
var graylogVersionShort bool
35+
var graylogVersionTruncate bool
3236

3337
func init() {
3438
RootCmd.AddCommand(graylogVersionCmd)
3539

36-
graylogVersionCmd.Flags().StringVarP(&graylogVersion, "set", "", "", "Set Graylog version")
40+
graylogVersionCmd.Flags().StringVar(&graylogVersion, "set", "", "Set Graylog version")
41+
graylogVersionCmd.Flags().BoolVarP(&graylogVersionShort, "short", "s", false, "Only show the version number(s)")
42+
graylogVersionCmd.Flags().BoolVarP(&graylogVersionTruncate, "truncate", "t", false, "Truncate any -SNAPSHOT suffix from the version")
3743
}
3844

3945
func graylogVersionCommand(cmd *cobra.Command, args []string) {
40-
if graylogVersion == "" {
41-
logger.Info("Missing version option for --set")
42-
cmd.UsageFunc()(cmd)
43-
os.Exit(1)
44-
}
45-
4646
cfg := config.Get()
4747
manifestFiles := manifest.ReadState().Files()
4848
proj := project.New(cfg, manifestFiles)
4949

50+
if graylogVersion == "" {
51+
project.ForEachSelectedModule(proj, func(module project.Module) {
52+
utils.InDirectory(module.Path, func() {
53+
version := module.Version()
54+
if graylogVersionTruncate {
55+
version = strings.TrimSuffix(module.Version(), "-SNAPSHOT")
56+
}
57+
if graylogVersionShort {
58+
fmt.Println(version)
59+
} else {
60+
url, _ := utils.ParseGitHubURL(module.Repository)
61+
logger.Info("%-50s %s", strings.TrimSuffix(url.Repository, ".git"), version)
62+
}
63+
})
64+
})
65+
return
66+
}
67+
5068
msg := func(message string) {
5169
logger.ColorInfo(color.FgYellow, "===> %s", message)
5270
}

0 commit comments

Comments
 (0)