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  }