Merge pull request #102 from carmark/version

add version
This commit is contained in:
Lei Xue
2020-07-14 22:11:11 +08:00
committed by GitHub
3 changed files with 48 additions and 6 deletions

View File

@@ -1,4 +1,14 @@
BIN_DIR=_output/cmd/bin
REPO_PATH="github.com/gostor/gotgt"
REL_OSARCH="linux/amd64"
GitSHA=`git rev-parse HEAD`
Date=`date "+%Y-%m-%d %H:%M:%S"`
RELEASE_VERSION=$(shell git describe --tags --always --dirty)
IMG_BUILDER=docker
LD_FLAGS=" \
-X '${REPO_PATH}/pkg/version.GitSHA=${GitSHA}' \
-X '${REPO_PATH}/pkg/version.Built=${Date}' \
-X '${REPO_PATH}/pkg/version.Version=${RELEASE_VERSION}'"
all: init build
@@ -6,10 +16,10 @@ deps:
go mod download
build: init
go build -o ${BIN_DIR}/gotgt gotgt.go
go build -ldflags ${LD_FLAGS} -o ${BIN_DIR}/gotgt gotgt.go
build-nocgo: init
CGO_ENABLED=0 go build -o ${BIN_DIR}/gotgt gotgt.go
CGO_ENABLED=0 go build -ldflags ${LD_FLAGS} -o ${BIN_DIR}/gotgt gotgt.go
verify:
hack/verify-gofmt.sh

View File

@@ -1,11 +1,10 @@
package cmd
import (
"fmt"
"github.com/spf13/cobra"
"github.com/gostor/gotgt/pkg/api/client"
"github.com/gostor/gotgt/pkg/version"
"github.com/spf13/cobra"
)
func newVersionCommand(cli *client.Client) *cobra.Command {
@@ -14,7 +13,7 @@ func newVersionCommand(cli *client.Client) *cobra.Command {
Short: "Print the version number of gotgt",
Long: `All software has versions. This is Gotgt 's`,
Run: func(cmd *cobra.Command, args []string) {
fmt.Printf("Gotgt %s -- HEAD\n", version.Version)
version.PrintVersionAndExit()
},
}
return cmd

View File

@@ -17,8 +17,41 @@ limitations under the License.
// Package version provides the Version information.
package version
import (
"fmt"
"os"
"runtime"
)
const (
Version = "0.1"
// Version shows the version of gotgt.
Version = "Not provided."
// SCSI version string MUST be shorter than 4 characters
SCSIVersion = "0.1"
// GitSHA shoows the git commit id of volcano.
GitSHA = "Not provided."
// Built shows the built time of the binary.
Built = "Not provided."
apiVersion = "v1alpha1"
)
// PrintVersionAndExit prints versions from the array returned by Info() and exit
func PrintVersionAndExit() {
for _, i := range Info(apiVersion) {
fmt.Printf("%v\n", i)
}
os.Exit(0)
}
// Info returns an array of various service versions
func Info(apiVersion string) []string {
return []string{
fmt.Sprintf("API Version: %s", apiVersion),
fmt.Sprintf("Version: %s", Version),
fmt.Sprintf("Git SHA: %s", GitSHA),
fmt.Sprintf("Built At: %s", Built),
fmt.Sprintf("Go Version: %s", runtime.Version()),
fmt.Sprintf("Go OS/Arch: %s/%s", runtime.GOOS, runtime.GOARCH),
}
}