Skip to content

Commit 6a37fce

Browse files
committed
Fix generates problems.
1 parent 47dc87a commit 6a37fce

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

internal/fingerprint/glob.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package fingerprint
33
import (
44
"os"
55
"sort"
6+
"strings"
67

78
"github.com/go-task/task/v3/internal/execext"
89
"github.com/go-task/task/v3/internal/filepathext"
@@ -25,6 +26,7 @@ func Globs(dir string, globs []*ast.Glob) ([]string, error) {
2526

2627
func glob(dir string, g string) ([]string, error) {
2728
g = filepathext.SmartJoin(dir, g)
29+
g = strings.Replace(g, " ", `\ `, -1)
2830

2931
fs, err := execext.ExpandFields(g)
3032
if err != nil {

internal/fingerprint/sources_timestamp.go

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package fingerprint
22

33
import (
4+
"fmt"
45
"os"
56
"path/filepath"
67
"time"
@@ -32,8 +33,24 @@ func (checker *TimestampChecker) IsUpToDate(t *ast.Task) (bool, error) {
3233
if err != nil {
3334
return false, nil
3435
}
35-
generates, err := Globs(t.Dir, t.Generates)
36-
if err != nil {
36+
generates := []string{}
37+
for _, g := range t.Generates {
38+
if g.Negate {
39+
continue // 'excludes' not considered for generates.
40+
}
41+
files, err := glob(t.Dir, g.Glob)
42+
fmt.Printf(" XXXXXXX %+v %+v\n", err, files)
43+
if os.IsNotExist(err) || len(files) == 0 {
44+
return false, nil
45+
}
46+
if err != nil {
47+
return false, err
48+
}
49+
generates = append(generates, files...)
50+
}
51+
if len(generates) == 0 {
52+
// generates, err := Globs(t.Dir, t.Generates)
53+
// if err != nil {
3754
return false, nil
3855
}
3956

0 commit comments

Comments
 (0)