( entrypoint string, dir string, insecure bool, opts ...NodeOption, )
| 46 | } |
| 47 | |
| 48 | func NewNode( |
| 49 | entrypoint string, |
| 50 | dir string, |
| 51 | insecure bool, |
| 52 | opts ...NodeOption, |
| 53 | ) (Node, error) { |
| 54 | var node Node |
| 55 | var err error |
| 56 | |
| 57 | scheme, err := getScheme(entrypoint) |
| 58 | if err != nil { |
| 59 | return nil, err |
| 60 | } |
| 61 | |
| 62 | switch scheme { |
| 63 | case "git": |
| 64 | node, err = NewGitNode(entrypoint, dir, insecure, opts...) |
| 65 | case "http", "https": |
| 66 | node, err = NewHTTPNode(entrypoint, dir, insecure, opts...) |
| 67 | default: |
| 68 | node, err = NewFileNode(entrypoint, dir, opts...) |
| 69 | } |
| 70 | if _, isRemote := node.(RemoteNode); isRemote && !experiments.RemoteTaskfiles.Enabled() { |
| 71 | return nil, errors.New("task: Remote taskfiles are not enabled. You can read more about this experiment and how to enable it at https://taskfile.dev/experiments/remote-taskfiles") |
| 72 | } |
| 73 | |
| 74 | return node, err |
| 75 | } |
| 76 | |
| 77 | func IsRemoteEntrypoint(entrypoint string) bool { |
| 78 | scheme, _ := getScheme(entrypoint) |
no test coverage detected
searching dependent graphs…