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

fix: HTTPNode.Location when building graph (#2007)

* Fix HTTPNode.Location when building graph

* Add test and fix cache
This commit is contained in:
Ukjae Jeong 2025-01-29 22:46:43 +00:00 committed by GitHub
parent c903d5c6f4
commit edbb83f6de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 9 deletions

View File

@ -1218,6 +1218,10 @@ func TestIncludesRemote(t *testing.T) {
firstRemote: srv.URL + "/first/Taskfile.yml",
secondRemote: "./second/Taskfile.yml",
},
{
firstRemote: srv.URL + "/first/",
secondRemote: srv.URL + "/first/second/",
},
}
tasks := []string{

View File

@ -17,7 +17,8 @@ import (
// An HTTPNode is a node that reads a Taskfile from a remote location via HTTP.
type HTTPNode struct {
*BaseNode
URL *url.URL
URL *url.URL // stores url pointing actual remote file. (e.g. with Taskfile.yml)
entrypoint string // stores entrypoint url. used for building graph vertices.
logger *logger.Logger
timeout time.Duration
}
@ -42,13 +43,14 @@ func NewHTTPNode(
return &HTTPNode{
BaseNode: base,
URL: url,
entrypoint: entrypoint,
timeout: timeout,
logger: l,
}, nil
}
func (node *HTTPNode) Location() string {
return node.URL.String()
return node.entrypoint
}
func (node *HTTPNode) Remote() bool {
@ -119,6 +121,6 @@ func (node *HTTPNode) ResolveDir(dir string) (string, error) {
}
func (node *HTTPNode) FilenameAndLastDir() (string, string) {
dir, filename := filepath.Split(node.URL.Path)
dir, filename := filepath.Split(node.entrypoint)
return filepath.Base(dir), filename
}