diff --git a/cmd/root.go b/cmd/root.go index 8087939..6c34ad1 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -1,6 +1,9 @@ package cmd import ( + "fmt" + + "github.com/morikuni/aec" "github.com/spf13/cobra" ) @@ -20,9 +23,12 @@ var ( Version string ) -func Execute(gitCommit, version string) error { - GitCommit = gitCommit +// Execute faasd +func Execute(version, gitCommit string) error { + + // Get Version and GitCommit values from main.go. Version = version + GitCommit = gitCommit if err := rootCommand.Execute(); err != nil { return err @@ -47,3 +53,40 @@ func runRootCommand(cmd *cobra.Command, args []string) error { return nil } + +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Display version information.", + Run: parseBaseCommand, +} + +func parseBaseCommand(_ *cobra.Command, _ []string) { + printLogo() + + fmt.Printf( + `faasd +Commit: %s +Version: %s +`, GitCommit, GetVersion()) +} + +func printLogo() { + logoText := aec.WhiteF.Apply(Logo) + fmt.Println(logoText) +} + +// GetVersion get latest version +func GetVersion() string { + if len(Version) == 0 { + return "dev" + } + return Version +} + +// Logo for version and root command +const Logo = ` __ _ + / _| __ _ __ _ ___ __| | +| |_ / _` + "`" + ` |/ _` + "`" + ` / __|/ _` + "`" + ` | +| _| (_| | (_| \__ \ (_| | +|_| \__,_|\__,_|___/\__,_| +` diff --git a/cmd/version.go b/cmd/version.go deleted file mode 100644 index a9d2d14..0000000 --- a/cmd/version.go +++ /dev/null @@ -1,46 +0,0 @@ -package cmd - -import ( - "fmt" - - "github.com/alexellis/faasd/pkg" - "github.com/morikuni/aec" - "github.com/spf13/cobra" -) - -var versionCmd = &cobra.Command{ - Use: "version", - Short: "Display version information.", - Run: parseBaseCommand, -} - -func parseBaseCommand(_ *cobra.Command, _ []string) { - printLogo() - - fmt.Printf( - `faasd -Commit: %s -Version: %s -`, GitCommit, GetVersion()) -} - -func printLogo() { - logoText := aec.WhiteF.Apply(pkg.Logo) - fmt.Println(logoText) -} - -// GetVersion get latest version -func GetVersion() string { - if len(Version) == 0 { - return "dev" - } - return Version -} - -// Logo for version and root command -const Logo = ` __ _ - / _| __ _ __ _ ___ __| | -| |_ / _` + "`" + ` |/ _` + "`" + ` / __|/ _` + "`" + ` | -| _| (_| | (_| \__ \ (_| | -|_| \__,_|\__,_|___/\__,_| -` diff --git a/main.go b/main.go index 3bb0038..1adcd91 100644 --- a/main.go +++ b/main.go @@ -6,6 +6,7 @@ import ( "github.com/alexellis/faasd/cmd" ) +// These values will be injected into these variables at the build time. var ( // GitCommit Git Commit SHA GitCommit string @@ -14,7 +15,7 @@ var ( ) func main() { - if err := cmd.Execute(GitCommit, Version); err != nil { + if err := cmd.Execute(Version, GitCommit); err != nil { os.Exit(1) } return