Now clears the log when a new build starts.

master
Zed A. Shaw 2 weeks ago
parent c79fac58e2
commit 148396081d
  1. 17
      builder/build.go
  2. 2
      game/engine.go
  3. 4
      main.go

@ -29,6 +29,8 @@ type Builder struct {
settings config.Config
OnError ErrorHandler
OnPass PassHandler
OnFail PassHandler
OnStart PassHandler
BuildState int
HadErrors bool
@ -41,6 +43,10 @@ func New(settings config.Config) (*Builder) {
builder := new(Builder)
builder.settings = settings
builder.OnError = func(data.ErrInfo){}
builder.OnPass = func(){}
builder.OnFail = func(){}
builder.OnStart = func(){}
return builder
}
@ -102,6 +108,14 @@ func (build *Builder) SetOnPass(passhandler PassHandler) {
build.OnPass = passhandler
}
func (build *Builder) SetOnFail(failhandler PassHandler) {
build.OnFail = failhandler
}
func (build *Builder) SetOnStart(starthandler PassHandler) {
build.OnStart = starthandler
}
func (build *Builder) LaunchProcess(proc *config.Process) {
proc.ExecCmd = exec.Command(proc.Command, proc.Args...)
if errors.Is(proc.ExecCmd.Err, exec.ErrDot) {
@ -154,6 +168,7 @@ func (build *Builder) BeginBuild() bool {
func (build *Builder) EndBuild() {
if build.HadErrors {
build.BuildState = FAILED
build.OnFail()
} else {
build.BuildState = PASSED
build.OnPass()
@ -162,10 +177,10 @@ func (build *Builder) EndBuild() {
func (build *Builder) RunBuild() {
if build.BeginBuild() {
build.OnStart()
defer build.EndBuild()
Log.Println("CONFIG:", build.settings.ConfigPath)
Log.Println("COMMANDs:", build.settings.Processes)
for name, proc := range build.settings.Processes {
Log.Println("PROCESS:", name)

@ -35,7 +35,7 @@ func New(settings config.Config) *Game {
return game
}
func (game *Game) BuildPass() {
func (game *Game) ClearLog() {
game.ErrorLog = game.ErrorLog[:0]
}

@ -21,8 +21,8 @@ func main() {
g.TakeHit(build, errinfo)
})
build.SetOnPass(func () {
g.BuildPass()
build.SetOnStart(func () {
g.ClearLog()
})
go build.WatchDir()

Loading…
Cancel
Save