mirror of
				https://github.com/go-task/task.git
				synced 2025-10-30 23:58:01 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			684 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			684 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package task
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"github.com/go-task/task/v3/errors"
 | |
| 	"github.com/go-task/task/v3/taskfile"
 | |
| )
 | |
| 
 | |
| func (e *Executor) areTaskRequiredVarsSet(ctx context.Context, t *taskfile.Task, call taskfile.Call) error {
 | |
| 	if t.Requires == nil || len(t.Requires.Vars) == 0 {
 | |
| 		return nil
 | |
| 	}
 | |
| 
 | |
| 	vars, err := e.Compiler.GetVariables(t, call)
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	var missingVars []string
 | |
| 	for _, requiredVar := range t.Requires.Vars {
 | |
| 		if !vars.Exists(requiredVar) {
 | |
| 			missingVars = append(missingVars, requiredVar)
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	if len(missingVars) > 0 {
 | |
| 		return &errors.TaskMissingRequiredVars{
 | |
| 			TaskName:    t.Name(),
 | |
| 			MissingVars: missingVars,
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	return nil
 | |
| }
 |