diff options
Diffstat (limited to 'argv.version.go')
| -rw-r--r-- | argv.version.go | 44 |
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 +} |
