summaryrefslogtreecommitdiff
path: root/cmd/gonf/cmd_version.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/gonf/cmd_version.go')
-rw-r--r--cmd/gonf/cmd_version.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/cmd/gonf/cmd_version.go b/cmd/gonf/cmd_version.go
new file mode 100644
index 0000000..5cf7fb8
--- /dev/null
+++ b/cmd/gonf/cmd_version.go
@@ -0,0 +1,31 @@
+package main
+
+import (
+ "fmt"
+ "runtime/debug"
+)
+
+var buildRevision, buildTime, buildModified string
+
+func init() {
+ if info, ok := debug.ReadBuildInfo(); ok {
+ for _, setting := range info.Settings {
+ switch setting.Key {
+ case "vcs.revision":
+ buildRevision = setting.Value
+ case "vcs.modified":
+ buildModified = setting.Value
+ case "vcs.time":
+ buildTime = setting.Value
+ }
+ }
+ }
+}
+
+func cmdVersion() {
+ modified := "clean"
+ if buildModified == "true" {
+ modified = "dirty"
+ }
+ fmt.Printf("gonf - %s %s %s\n", buildRevision, buildTime, modified)
+}