goaegis/cmd/goaegis/main.go

37 lines
643 B
Go
Raw Permalink Normal View History

2024-04-21 10:21:42 +00:00
package main
import (
"log/slog"
"os"
2024-04-22 05:07:42 +00:00
"runtime/debug"
"slices"
2024-04-21 10:21:42 +00:00
)
const appName = "goaegis"
2024-04-22 05:07:42 +00:00
const defaultVersion = "development"
2024-04-21 10:21:42 +00:00
// this flag will be set by the build flags
2024-04-22 05:07:42 +00:00
var version = defaultVersion
2024-04-21 10:21:42 +00:00
func main() {
2024-04-22 05:07:42 +00:00
app := newApp(appName, getVersion())
2024-04-21 10:21:42 +00:00
if err := app.Run(os.Args); err != nil {
app.logger.Error("app run failed", slog.Any("error", err))
os.Exit(1)
}
}
2024-04-22 05:07:42 +00:00
func getVersion() string {
if version != defaultVersion {
return version
}
buildInfo, ok := debug.ReadBuildInfo()
if !ok || slices.Contains([]string{"", "(devel)"}, buildInfo.Main.Version) {
return defaultVersion
}
return buildInfo.Main.Version
}