feat(cmd/joj): exit 1 on error
This commit is contained in:
parent
d79d9ae4bd
commit
e1e4fded28
|
@ -4,6 +4,7 @@ import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/joint-online-judge/JOJ3/cmd/joj3/conf"
|
"github.com/joint-online-judge/JOJ3/cmd/joj3/conf"
|
||||||
"github.com/joint-online-judge/JOJ3/cmd/joj3/stage"
|
"github.com/joint-online-judge/JOJ3/cmd/joj3/stage"
|
||||||
|
@ -25,15 +26,15 @@ func init() {
|
||||||
showVersion = flag.Bool("version", false, "print current version")
|
showVersion = flag.Bool("version", false, "print current version")
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func mainImpl() error {
|
||||||
if err := setupSlog(""); err != nil { // before conf is loaded
|
if err := setupSlog(""); err != nil { // before conf is loaded
|
||||||
slog.Error("setup slog", "error", err)
|
slog.Error("setup slog", "error", err)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
if *showVersion {
|
if *showVersion {
|
||||||
fmt.Println(Version)
|
fmt.Println(Version)
|
||||||
return
|
return nil
|
||||||
}
|
}
|
||||||
slog.Info("start joj3", "version", Version)
|
slog.Info("start joj3", "version", Version)
|
||||||
if msg == "" {
|
if msg == "" {
|
||||||
|
@ -41,7 +42,7 @@ func main() {
|
||||||
msg, err = conf.GetCommitMsg()
|
msg, err = conf.GetCommitMsg()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("get commit msg", "error", err)
|
slog.Error("get commit msg", "error", err)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
confObj, group, err := conf.ParseMsg(confRoot, confName, msg)
|
confObj, group, err := conf.ParseMsg(confRoot, confName, msg)
|
||||||
|
@ -51,21 +52,29 @@ func main() {
|
||||||
confRoot, confName, msg)
|
confRoot, confName, msg)
|
||||||
if scopeErr != nil {
|
if scopeErr != nil {
|
||||||
slog.Error("list valid scopes", "error", scopeErr)
|
slog.Error("list valid scopes", "error", scopeErr)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
slog.Info("hint: valid scopes in commit message", "scopes", validScopes)
|
slog.Info("hint: valid scopes in commit message", "scopes", validScopes)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
if err := setupSlog(confObj.LogPath); err != nil { // after conf is loaded
|
if err := setupSlog(confObj.LogPath); err != nil { // after conf is loaded
|
||||||
slog.Error("setup slog", "error", err)
|
slog.Error("setup slog", "error", err)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
if err := stage.Run(confObj, group); err != nil {
|
if err := stage.Run(confObj, group); err != nil {
|
||||||
slog.Error("stage run", "error", err)
|
slog.Error("stage run", "error", err)
|
||||||
return
|
return err
|
||||||
}
|
}
|
||||||
if err := teapot.Run(confObj); err != nil {
|
if err := teapot.Run(confObj); err != nil {
|
||||||
slog.Error("teapot run", "error", err)
|
slog.Error("teapot run", "error", err)
|
||||||
return
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
if err := mainImpl(); err != nil {
|
||||||
|
slog.Error("main exit", "error", err)
|
||||||
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user