1
0
mirror of https://github.com/go-task/task.git synced 2025-04-13 11:50:50 +02:00

Watch: Clear vars cache between runs

Closes #365
This commit is contained in:
Andrey Nering 2021-01-05 11:19:34 -03:00
parent d830178ef8
commit 2d52485d7b
5 changed files with 21 additions and 1 deletions

View File

@ -4,7 +4,7 @@
- The watch feature (via the `--watch` flag) got a few different bug fixes and
should be more stable now
([#423](https://github.com/go-task/task/pull/423)).
([#423](https://github.com/go-task/task/pull/423), [#365](https://github.com/go-task/task/issues/365)).
## v3.1.0

View File

@ -9,4 +9,5 @@ import (
type Compiler interface {
GetVariables(t *taskfile.Task, call taskfile.Call) (*taskfile.Vars, error)
HandleDynamicVar(v taskfile.Var) (string, error)
ResetCache()
}

View File

@ -109,3 +109,11 @@ func (c *CompilerV2) HandleDynamicVar(v taskfile.Var) (string, error) {
return result, nil
}
// ResetCache clear the dymanic variables cache
func (c *CompilerV2) ResetCache() {
c.muDynamicCache.Lock()
defer c.muDynamicCache.Unlock()
c.dynamicCache = nil
}

View File

@ -96,3 +96,11 @@ func (c *CompilerV3) HandleDynamicVar(v taskfile.Var) (string, error) {
return result, nil
}
// ResetCache clear the dymanic variables cache
func (c *CompilerV3) ResetCache() {
c.muDynamicCache.Lock()
defer c.muDynamicCache.Unlock()
c.dynamicCache = nil
}

View File

@ -49,6 +49,9 @@ func (e *Executor) watchTasks(calls ...taskfile.Call) error {
cancel()
ctx, cancel = context.WithCancel(context.Background())
e.Compiler.ResetCache()
for _, c := range calls {
c := c
go func() {