You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
624 B
35 lines
624 B
package autorest
|
|
|
|
import (
|
|
"bytes"
|
|
"fmt"
|
|
"strings"
|
|
"sync"
|
|
)
|
|
|
|
const (
|
|
major = 8
|
|
minor = 0
|
|
patch = 0
|
|
tag = ""
|
|
)
|
|
|
|
var once sync.Once
|
|
var version string
|
|
|
|
// Version returns the semantic version (see http://semver.org).
|
|
func Version() string {
|
|
once.Do(func() {
|
|
semver := fmt.Sprintf("%d.%d.%d", major, minor, patch)
|
|
verBuilder := bytes.NewBufferString(semver)
|
|
if tag != "" && tag != "-" {
|
|
updated := strings.TrimPrefix(tag, "-")
|
|
_, err := verBuilder.WriteString("-" + updated)
|
|
if err == nil {
|
|
verBuilder = bytes.NewBufferString(semver)
|
|
}
|
|
}
|
|
version = verBuilder.String()
|
|
})
|
|
return version
|
|
}
|
|
|