@@ -96,17 +96,24 @@ func (e *Executor) compiledTask(call *Call, evaluateShVars bool) (*ast.Task, err
9696 fullName = strings .Replace (fullName , "*" , match , 1 )
9797 }
9898 }
99-
10099 cache := & templater.Cache {Vars : vars }
100+ globber := func (globs []* ast.Glob ) []* ast.Glob {
101+ // Delays globbing until dynamic variables are available.
102+ if evaluateShVars {
103+ return templater .ReplaceGlobs (globs , cache )
104+ } else {
105+ return origTask .Sources
106+ }
107+ }
101108 new := ast.Task {
102109 Task : origTask .Task ,
103110 Label : templater .Replace (origTask .Label , cache ),
104111 Desc : templater .Replace (origTask .Desc , cache ),
105112 Prompt : templater .Replace (origTask .Prompt , cache ),
106113 Summary : templater .Replace (origTask .Summary , cache ),
107114 Aliases : origTask .Aliases ,
108- Sources : templater . ReplaceGlobs (origTask .Sources , cache ),
109- Generates : templater . ReplaceGlobs (origTask .Generates , cache ),
115+ Sources : globber (origTask .Sources ),
116+ Generates : globber (origTask .Generates ),
110117 Dir : templater .Replace (origTask .Dir , cache ),
111118 Set : origTask .Set ,
112119 Shopt : origTask .Shopt ,
0 commit comments