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

feat: add ALIAS special var (#1764)

This commit is contained in:
Daniel Story 2024-08-24 18:50:45 -06:00 committed by GitHub
parent 0941de3318
commit 045d054a5f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 22 additions and 4 deletions

View File

@ -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
}
@ -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,

View File

@ -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}}"

View File

@ -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}}"

View File

@ -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. |