summaryrefslogtreecommitdiff
path: root/argv.version.go
diff options
context:
space:
mode:
Diffstat (limited to 'argv.version.go')
-rw-r--r--argv.version.go44
1 files changed, 44 insertions, 0 deletions
diff --git a/argv.version.go b/argv.version.go
new file mode 100644
index 0000000..7882474
--- /dev/null
+++ b/argv.version.go
@@ -0,0 +1,44 @@
+package argvpb
+
+import (
+ "fmt"
+ "os"
+
+ "go.wit.com/lib/cobol"
+)
+
+func Version() string {
+ if PB == nil || PB.AppInfo == nil {
+ return fmt.Sprintf("argv was not initialized by your application %v", os.Args)
+ }
+ return PB.AppInfo.getVersion()
+}
+
+func (pb *Argv) Version() string {
+ return pb.AppInfo.getVersion()
+}
+
+func doVersion(pb *Argv) {
+ fmt.Println(pb.AppInfo.getVersion())
+ os.Exit(0)
+}
+
+func (info *App) getVersion() string {
+ var s string
+ timeString, t, err := cobol.TimeCheck(info.BUILDTIME)
+ if t != nil {
+ // fmt.Printf("TIME getVersion(t != nil) ERR=(%v) t=(%v) AppInfo.BUILTIME is=(%v)\n", err, t, info.BUILDTIME)
+ return fmt.Sprintf("%s %s Built on %s", info.APPNAME, info.VERSION, cobol.Time(t))
+ } else if err == nil {
+ s = fmt.Sprintf("%s %s Built on %s (argv.had(%s))", info.APPNAME, info.VERSION, timeString, info.BUILDTIME)
+ } else {
+ // fmt.Printf("TIME getVersion() ERR=(%v) timeString=(%v) AppInfo.BUILTIME was=(%v)\n", err, timeString, info.BUILDTIME)
+ s = fmt.Sprintf("%s %s Built on raw(%v) (argv had %s)", info.APPNAME, info.VERSION, timeString, info.BUILDTIME)
+ }
+ return s
+}
+
+// deprecate ?
+func GetAPPNAME() string {
+ return me.pb.AppInfo.APPNAME
+}