14
Makefile
14
Makefile
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user