Files
kubesphere/vendor/openpitrix.io/openpitrix/pkg/version/gen_helper.go
hongming 9769357005 update
Signed-off-by: hongming <talonwan@yunify.com>
2020-03-20 02:16:11 +08:00

75 lines
1.7 KiB
Go

// Copyright 2018 The OpenPitrix Authors. All rights reserved.
// Use of this source code is governed by a Apache license
// that can be found in the LICENSE file.
// +build ignore
package main
import (
"fmt"
"io/ioutil"
"log"
"os/exec"
"strings"
"time"
)
func main() {
version, gitSha1Version := getAppVersion()
buildTime := time.Now().Format("2006-01-02 15:04:05")
data := make_update_version_go_file(version, gitSha1Version, buildTime)
err := ioutil.WriteFile("./z_update_version.go", []byte(data), 0666)
if err != nil {
log.Fatalf("ioutil.WriteFile: err = %v", err)
}
fmt.Printf("%s (%s)\n", version, gitSha1Version)
fmt.Println(buildTime)
}
func make_update_version_go_file(version, gitSha1Version, buildTime string) string {
return fmt.Sprintf(`// Copyright 2018 The OpenPitrix Authors. All rights reserved.
// Use of this source code is governed by a Apache license
// that can be found in the LICENSE file.
// Auto generated by 'go run gen_helper.go', DO NOT EDIT.
package version
func init() {
ShortVersion = "%s"
GitSha1Version = "%s"
BuildDate = "%s"
}
`,
version,
gitSha1Version,
buildTime,
)
}
func getAppVersion() (version, gitSha1Version string) {
// VERSION=`git describe --tags --always --dirty="-dev"`
versionData, err := exec.Command(
`git`, `describe`, `--tags`, `--always`, `--dirty=-dev`,
).CombinedOutput()
if err != nil {
log.Fatal(err)
}
// GIT_SHA1=`git show --quiet --pretty=format:%H`
gitSha1VersionData, err := exec.Command(
`git`, `show`, `--quiet`, `--pretty=format:%H`,
).CombinedOutput()
if err != nil {
log.Fatal(err)
}
version = strings.TrimSpace(string(versionData))
gitSha1Version = strings.TrimSpace(string(gitSha1VersionData))
return
}