// See the License for the specific language governing permissions and
// limitations under the License.
+// Package version keeps track of versioning info for GoVPP.
package version
import (
"time"
)
+const (
+ Major = 0
+ Minor = 5
+ Patch = 0
+ PreRelease = ""
+)
+
+// String formats the version string using semver format.
+func String() string {
+ v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch)
+ if PreRelease != "" {
+ v += "-" + PreRelease
+ }
+ return v
+}
+
+// Following variables should normally be updated via `-ldflags "-X ..."`.
+// However, the version string is hard-coded to ensure it is always included
+// even with bare go build/install.
var (
- name = "govpp"
- version = "v0.2.0"
- commitHash = "unknown"
- buildBranch = "HEAD"
- buildStamp = ""
- buildUser = ""
- buildHost = ""
+ name = "govpp"
+ version = "v0.5.0"
+ commit = "unknown"
+ branch = "HEAD"
+ buildStamp = ""
+ buildUser = ""
+ buildHost = ""
buildDate time.Time
)
buildDate = time.Unix(buildstampInt64, 0)
}
+func Version() string {
+ return version
+}
+
func Info() string {
return fmt.Sprintf(`%s %s`, name, version)
}
Build date: %s
Go runtime: %s (%s/%s)`,
name,
- version, buildBranch, commitHash,
+ version, branch, commit,
buildUser, buildHost, buildDate.Format(time.UnixDate),
runtime.Version(), runtime.GOOS, runtime.GOARCH,
)