First commit of golang CLI.
This commit is contained in:
52
wild-cli/cmd/wild/util/version.go
Normal file
52
wild-cli/cmd/wild/util/version.go
Normal file
@@ -0,0 +1,52 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/wild-cloud/wild-cli/internal/output"
|
||||
)
|
||||
|
||||
const (
|
||||
Version = "0.1.0-dev"
|
||||
BuildDate = "development"
|
||||
)
|
||||
|
||||
func NewVersionCommand() *cobra.Command {
|
||||
return &cobra.Command{
|
||||
Use: "version",
|
||||
Short: "Show version information",
|
||||
Long: `Show version information for Wild CLI and components.
|
||||
|
||||
This command displays version information for the Wild CLI and related components.
|
||||
|
||||
Examples:
|
||||
wild version`,
|
||||
RunE: runVersion,
|
||||
}
|
||||
}
|
||||
|
||||
func runVersion(cmd *cobra.Command, args []string) error {
|
||||
output.Header("Wild CLI Version Information")
|
||||
|
||||
output.Info(fmt.Sprintf("Wild CLI Version: %s", Version))
|
||||
output.Info(fmt.Sprintf("Build Date: %s", BuildDate))
|
||||
output.Info(fmt.Sprintf("Go Version: %s", "go1.21+"))
|
||||
|
||||
// TODO: Add component versions
|
||||
// - kubectl version
|
||||
// - talosctl version
|
||||
// - restic version
|
||||
// - yq version
|
||||
|
||||
output.Info("")
|
||||
output.Info("Components:")
|
||||
output.Info(" - Native Go implementation replacing 35+ bash scripts")
|
||||
output.Info(" - Unified CLI with Cobra framework")
|
||||
output.Info(" - Cross-platform support (Linux/macOS/Windows)")
|
||||
output.Info(" - Built-in template engine with sprig functions")
|
||||
output.Info(" - Integrated external tool management")
|
||||
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user