package buildinfo
import (
"fmt"
"os"
"runtime"
"src.elv.sh/pkg/prog"
)
const Version = "v0.16.0"
var VersionSuffix = "-dev.unknown"
var Reproducible = "false"
var Program prog .Program = program {}
type program struct {}
func (program ) ShouldRun (f *prog .Flags ) bool { return f .Version || f .BuildInfo }
func (program ) Run (fds [3 ]*os .File , f *prog .Flags , _ []string ) error {
fullVersion := Version + VersionSuffix
if f .Version {
fmt .Fprintln (fds [1 ], fullVersion )
return nil
}
if f .JSON {
fmt .Fprintf (fds [1 ],
`{"version":%s,"goversion":%s,"reproducible":%v}` +"\n" ,
quoteJSON (fullVersion ), quoteJSON (runtime .Version ()), Reproducible )
} else {
fmt .Fprintln (fds [1 ], "Version:" , fullVersion )
fmt .Fprintln (fds [1 ], "Go version:" , runtime .Version ())
fmt .Fprintln (fds [1 ], "Reproducible build:" , Reproducible )
}
return nil
}