Skip to content

Commit

Permalink
feat: add ALIAS special var
Browse files Browse the repository at this point in the history
  • Loading branch information
DanStory committed Aug 16, 2024
1 parent b259ede commit 9caa8ff
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 4 deletions.
5 changes: 3 additions & 2 deletions internal/compiler/compiler.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ func (c *Compiler) FastGetVariables(t *ast.Task, call *ast.Call) (*ast.Vars, err
func (c *Compiler) getVariables(t *ast.Task, call *ast.Call, evaluateShVars bool) (*ast.Vars, error) {
result := GetEnviron()
if t != nil {
specialVars, err := c.getSpecialVars(t)
specialVars, err := c.getSpecialVars(t, call)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -179,9 +179,10 @@ func (c *Compiler) ResetCache() {
c.dynamicCache = nil
}

func (c *Compiler) getSpecialVars(t *ast.Task) (map[string]string, error) {
func (c *Compiler) getSpecialVars(t *ast.Task, call *ast.Call) (map[string]string, error) {
return map[string]string{
"TASK": t.Task,
"ALIAS": call.Task,
"TASK_EXE": filepath.ToSlash(os.Args[0]),
"ROOT_TASKFILE": filepathext.SmartJoin(c.Dir, c.Entrypoint),
"ROOT_DIR": c.Dir,
Expand Down
10 changes: 9 additions & 1 deletion testdata/special_vars/Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,16 @@ includes:
dir: ./included

tasks:
print-task: echo {{.TASK}}
print-task:
aliases: [echo-task]
cmds:
- echo {{.TASK}}
print-root-dir: echo {{.ROOT_DIR}}
print-taskfile: echo {{.TASKFILE}}
print-taskfile-dir: echo {{.TASKFILE_DIR}}
print-task-version: echo {{.TASK_VERSION}}
print-task-alias:
aliases: [echo-task-alias]
cmds:
- echo "{{.ALIAS}}"
print-task-alias-default: echo "{{.ALIAS}}"
10 changes: 9 additions & 1 deletion testdata/special_vars/included/Taskfile.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
version: '3'

tasks:
print-task: echo {{.TASK}}
print-task:
aliases: [echo-task]
cmds:
- echo {{.TASK}}
print-root-dir: echo {{.ROOT_DIR}}
print-taskfile: echo {{.TASKFILE}}
print-taskfile-dir: echo {{.TASKFILE_DIR}}
print-task-version: echo {{.TASK_VERSION}}
print-task-alias:
aliases: [echo-task-alias]
cmds:
- echo "{{.ALIAS}}"
print-task-alias-default: echo "{{.ALIAS}}"
1 change: 1 addition & 0 deletions website/docs/reference/templating.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ special variable will be overridden.
| `CLI_SILENT` | A boolean containing whether the `--silent` flag was set. |
| `CLI_VERBOSE` | A boolean containing whether the `--verbose` flag was set. |
| `TASK` | The name of the current task. |
| `ALIAS` | The alias used for the current task, otherwise matches `TASK` |
| `TASK_EXE` | The Task executable name or path. |
| `ROOT_TASKFILE` | The absolute path of the root Taskfile. |
| `ROOT_DIR` | The absolute path of the root Taskfile directory. |
Expand Down

0 comments on commit 9caa8ff

Please sign in to comment.