diff --git a/taskfile/node.go b/taskfile/node.go index cf8bdeca..5e3c3cf9 100644 --- a/taskfile/node.go +++ b/taskfile/node.go @@ -9,7 +9,6 @@ import ( "github.com/go-task/task/v3/errors" "github.com/go-task/task/v3/internal/experiments" "github.com/go-task/task/v3/internal/logger" - "github.com/go-task/task/v3/taskfile/ast" ) type Node interface { @@ -19,8 +18,8 @@ type Node interface { Dir() string Optional() bool Remote() bool - ResolveIncludeEntrypoint(include ast.Include) (string, error) - ResolveIncludeDir(include ast.Include) (string, error) + ResolveIncludeEntrypoint(entrypoint string) (string, error) + ResolveIncludeDir(dir string) (string, error) } func NewRootNode( diff --git a/taskfile/node_file.go b/taskfile/node_file.go index 8be8aa47..7304f42c 100644 --- a/taskfile/node_file.go +++ b/taskfile/node_file.go @@ -10,7 +10,6 @@ import ( "github.com/go-task/task/v3/internal/execext" "github.com/go-task/task/v3/internal/filepathext" "github.com/go-task/task/v3/internal/logger" - "github.com/go-task/task/v3/taskfile/ast" ) // A FileNode is a node that reads a taskfile from the local filesystem. @@ -78,13 +77,13 @@ func resolveFileNodeEntrypointAndDir(l *logger.Logger, entrypoint, dir string) ( return entrypoint, dir, nil } -func (node *FileNode) ResolveIncludeEntrypoint(include ast.Include) (string, error) { +func (node *FileNode) ResolveIncludeEntrypoint(entrypoint string) (string, error) { // If the file is remote, we don't need to resolve the path - if strings.Contains(include.Taskfile, "://") { - return include.Taskfile, nil + if strings.Contains(entrypoint, "://") { + return entrypoint, nil } - path, err := execext.Expand(include.Taskfile) + path, err := execext.Expand(entrypoint) if err != nil { return "", err } @@ -99,8 +98,8 @@ func (node *FileNode) ResolveIncludeEntrypoint(include ast.Include) (string, err return filepathext.SmartJoin(entrypointDir, path), nil } -func (node *FileNode) ResolveIncludeDir(include ast.Include) (string, error) { - path, err := execext.Expand(include.Dir) +func (node *FileNode) ResolveIncludeDir(dir string) (string, error) { + path, err := execext.Expand(dir) if err != nil { return "", err } diff --git a/taskfile/node_http.go b/taskfile/node_http.go index 1e97fdc5..1b88dc7e 100644 --- a/taskfile/node_http.go +++ b/taskfile/node_http.go @@ -11,7 +11,6 @@ import ( "github.com/go-task/task/v3/internal/execext" "github.com/go-task/task/v3/internal/filepathext" "github.com/go-task/task/v3/internal/logger" - "github.com/go-task/task/v3/taskfile/ast" ) // An HTTPNode is a node that reads a Taskfile from a remote location via HTTP. @@ -76,16 +75,16 @@ func (node *HTTPNode) Read(ctx context.Context) ([]byte, error) { return b, nil } -func (node *HTTPNode) ResolveIncludeEntrypoint(include ast.Include) (string, error) { - ref, err := url.Parse(include.Taskfile) +func (node *HTTPNode) ResolveIncludeEntrypoint(entrypoint string) (string, error) { + ref, err := url.Parse(entrypoint) if err != nil { return "", err } return node.URL.ResolveReference(ref).String(), nil } -func (node *HTTPNode) ResolveIncludeDir(include ast.Include) (string, error) { - path, err := execext.Expand(include.Dir) +func (node *HTTPNode) ResolveIncludeDir(dir string) (string, error) { + path, err := execext.Expand(dir) if err != nil { return "", err } diff --git a/taskfile/node_stdin.go b/taskfile/node_stdin.go index 46782131..d14e5d2e 100644 --- a/taskfile/node_stdin.go +++ b/taskfile/node_stdin.go @@ -9,7 +9,6 @@ import ( "github.com/go-task/task/v3/internal/execext" "github.com/go-task/task/v3/internal/filepathext" - "github.com/go-task/task/v3/taskfile/ast" ) // A StdinNode is a node that reads a taskfile from the standard input stream. @@ -45,13 +44,13 @@ func (node *StdinNode) Read(ctx context.Context) ([]byte, error) { return stdin, nil } -func (node *StdinNode) ResolveIncludeEntrypoint(include ast.Include) (string, error) { +func (node *StdinNode) ResolveIncludeEntrypoint(entrypoint string) (string, error) { // If the file is remote, we don't need to resolve the path - if strings.Contains(include.Taskfile, "://") { - return include.Taskfile, nil + if strings.Contains(entrypoint, "://") { + return entrypoint, nil } - path, err := execext.Expand(include.Taskfile) + path, err := execext.Expand(entrypoint) if err != nil { return "", err } @@ -63,8 +62,8 @@ func (node *StdinNode) ResolveIncludeEntrypoint(include ast.Include) (string, er return filepathext.SmartJoin(node.Dir(), path), nil } -func (node *StdinNode) ResolveIncludeDir(include ast.Include) (string, error) { - path, err := execext.Expand(include.Dir) +func (node *StdinNode) ResolveIncludeDir(dir string) (string, error) { + path, err := execext.Expand(dir) if err != nil { return "", err } diff --git a/taskfile/reader.go b/taskfile/reader.go index 3f7f0899..ba0a5261 100644 --- a/taskfile/reader.go +++ b/taskfile/reader.go @@ -64,12 +64,12 @@ func Read( return err } - entrypoint, err := node.ResolveIncludeEntrypoint(include) + entrypoint, err := node.ResolveIncludeEntrypoint(include.Taskfile) if err != nil { return err } - dir, err := node.ResolveIncludeDir(include) + dir, err := node.ResolveIncludeDir(include.Dir) if err != nil { return err }