From 32e0de5a0f731aa31742c8e00f110952cadaacea Mon Sep 17 00:00:00 2001 From: Christian Goll Date: Mon, 4 Oct 2021 17:10:33 +0200 Subject: [PATCH] added version information --- Makefile | 2 +- internal/app/wwctl/root.go | 2 ++ internal/app/wwctl/version/main.go | 16 ++++++++++++++++ internal/app/wwctl/version/root.go | 22 ++++++++++++++++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 internal/app/wwctl/version/main.go create mode 100644 internal/app/wwctl/version/root.go diff --git a/Makefile b/Makefile index 3903dab4..fc5c6c7c 100644 --- a/Makefile +++ b/Makefile @@ -115,7 +115,7 @@ debfiles: debian cp wwclient $(DESTDIR)/var/warewulf/overlays/system/debian/warewulf/bin/ wwctl: - cd cmd/wwctl; GOOS=linux go build -mod vendor -tags "$(WW_BUILD_GO_BUILD_TAGS)" -o ../../wwctl + cd cmd/wwctl; GOOS=linux go build -ldflags="-X 'github.com/hpcng/warewulf/internal/app/wwctl/version/version.Version=$(VERSION)'" -mod vendor -tags "$(WW_BUILD_GO_BUILD_TAGS)" -o ../../wwctl wwclient: cd cmd/wwclient; CGO_ENABLED=0 GOOS=linux go build -mod vendor -a -ldflags '-extldflags -static' -o ../../wwclient diff --git a/internal/app/wwctl/root.go b/internal/app/wwctl/root.go index 10437f80..059b38db 100644 --- a/internal/app/wwctl/root.go +++ b/internal/app/wwctl/root.go @@ -9,6 +9,7 @@ import ( "github.com/hpcng/warewulf/internal/app/wwctl/power" "github.com/hpcng/warewulf/internal/app/wwctl/profile" "github.com/hpcng/warewulf/internal/app/wwctl/server" + "github.com/hpcng/warewulf/internal/app/wwctl/version" "github.com/hpcng/warewulf/internal/pkg/wwlog" "github.com/hpcng/warewulf/internal/pkg/help" "github.com/spf13/cobra" @@ -46,6 +47,7 @@ func init() { rootCmd.AddCommand(profile.GetCommand()) rootCmd.AddCommand(configure.GetCommand()) rootCmd.AddCommand(server.GetCommand()) + rootCmd.AddCommand(version.GetCommand()) } diff --git a/internal/app/wwctl/version/main.go b/internal/app/wwctl/version/main.go new file mode 100644 index 00000000..0658e986 --- /dev/null +++ b/internal/app/wwctl/version/main.go @@ -0,0 +1,16 @@ +package version + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +var Version = "development" + +func CobraRunE(cmd *cobra.Command, args []string) error { + + fmt.Println("Version foo:\t", Version) + + return nil +} diff --git a/internal/app/wwctl/version/root.go b/internal/app/wwctl/version/root.go new file mode 100644 index 00000000..766d3b8f --- /dev/null +++ b/internal/app/wwctl/version/root.go @@ -0,0 +1,22 @@ +package version + +import "github.com/spf13/cobra" + +var ( + baseCmd = &cobra.Command{ + Use: "version", + Short: "Version information", + Long: "This command will print the Warewulf version.", + RunE: CobraRunE, + Args: cobra.ExactArgs(0), + Aliases: []string{"vers"}, + } +) + +func init() { +} + +// GetRootCommand returns the root cobra.Command for the application. +func GetCommand() *cobra.Command { + return baseCmd +}