1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/cmd/version.go

52 lines
1.0 KiB
Go

package cmd
import (
"fmt"
"github.com/SAP/jenkins-library/pkg/log"
"github.com/spf13/cobra"
"os"
)
// GitCommit ...
var GitCommit string
// GitTag ...
var GitTag string
// VersionCommand Returns the version of the piper binary
func VersionCommand() *cobra.Command {
const STEP_NAME = "version"
var createVersionCmd = &cobra.Command{
Use: STEP_NAME,
Short: "Returns the version of the piper binary",
Long: `Writes the commit hash and the tag (if any) to stdout and exits with 0.`,
PreRun: func(cmd *cobra.Command, args []string) {
log.SetStepName(STEP_NAME)
path, _ := os.Getwd()
fatalHook := &log.FatalHook{CorrelationID: GeneralConfig.CorrelationID, Path: path}
log.RegisterHook(fatalHook)
},
Run: func(cmd *cobra.Command, args []string) {
version()
},
}
return createVersionCmd
}
func version() {
gitCommit, gitTag := "<n/a>", "<n/a>"
if len(GitCommit) > 0 {
gitCommit = GitCommit
}
if len(GitTag) > 0 {
gitTag = GitTag
}
fmt.Printf("piper-version:\n commit: \"%s\"\n tag: \"%s\"\n", gitCommit, gitTag)
}