github.com/benchkram/bob@v0.0.0-20240314204020-b7a57f2f9be9/bob/bobfile/verify.go (about) 1 package bobfile 2 3 import ( 4 "github.com/benchkram/errz" 5 ) 6 7 // Verify a bobfile before task runner. 8 func (b *Bobfile) Verify() error { 9 return b.verifyBefore() 10 } 11 12 // VerifyBefore a bobfile before task runner. 13 func (b *Bobfile) VerifyBefore() error { 14 return b.verifyBefore() 15 } 16 17 // VerifyAfter a bobfile after task runner. 18 func (b *Bobfile) VerifyAfter() error { 19 return b.verifyAfter() 20 } 21 22 // verifyBefore verifies a Bobfile before Run() is called. 23 func (b *Bobfile) verifyBefore() (err error) { 24 defer errz.Recover(&err) 25 26 err = b.BTasks.VerifyDuplicateTargets() 27 errz.Fatal(err) 28 29 for _, task := range b.BTasks { 30 err = task.VerifyBefore() 31 errz.Fatal(err) 32 } 33 34 return nil 35 } 36 37 // verifyAfter verifies a Bobfile after Run() is called. 38 func (b *Bobfile) verifyAfter() (err error) { 39 defer errz.Recover(&err) 40 41 for _, task := range b.BTasks { 42 err = task.VerifyAfter() 43 errz.Fatal(err) 44 } 45 46 return nil 47 }