1
0
mirror of https://github.com/go-task/task.git synced 2025-08-10 22:42:19 +02:00

fix: .USER_WORKING_DIR should contain the value of --dir if given (#2186)

Closes #2102
Closes #2103

Co-authored-by: jaynis <kranz.jannis@googlemail.com>
This commit is contained in:
Andrey Nering
2025-04-18 22:27:30 -03:00
committed by GitHub
parent e65159f613
commit 768dca053b
4 changed files with 10 additions and 2 deletions

View File

@@ -4,6 +4,7 @@ import (
"context" "context"
"io" "io"
"os" "os"
"path/filepath"
"sync" "sync"
"time" "time"
@@ -121,6 +122,7 @@ type dirOption struct {
} }
func (o *dirOption) ApplyToExecutor(e *Executor) { func (o *dirOption) ApplyToExecutor(e *Executor) {
e.UserWorkingDir, _ = filepath.Abs(o.dir)
e.Dir = o.dir e.Dir = o.dir
} }

View File

@@ -2148,7 +2148,7 @@ func TestUserWorkingDirectory(t *testing.T) {
var buff bytes.Buffer var buff bytes.Buffer
e := task.NewExecutor( e := task.NewExecutor(
task.WithDir("testdata/user_working_dir"), task.WithEntrypoint("testdata/user_working_dir/Taskfile.yml"),
task.WithStdout(&buff), task.WithStdout(&buff),
task.WithStderr(&buff), task.WithStderr(&buff),
) )

View File

@@ -115,7 +115,7 @@ special variable will be overridden.
| `TASKFILE` | The absolute path of the included Taskfile. | | `TASKFILE` | The absolute path of the included Taskfile. |
| `TASKFILE_DIR` | The absolute path of the included Taskfile directory. | | `TASKFILE_DIR` | The absolute path of the included Taskfile directory. |
| `TASK_DIR` | The absolute path of the directory where the task is executed. | | `TASK_DIR` | The absolute path of the directory where the task is executed. |
| `USER_WORKING_DIR` | The absolute path of the directory `task` was called from. | | `USER_WORKING_DIR` | The absolute path of the directory `task` was called from, or the value of `--dir` (`-d`) if given. |
| `CHECKSUM` | The checksum of the files listed in `sources`. Only available within the `status` prop and if method is set to `checksum`. | | `CHECKSUM` | The checksum of the files listed in `sources`. Only available within the `status` prop and if method is set to `checksum`. |
| `TIMESTAMP` | The date object of the greatest timestamp of the files listed in `sources`. Only available within the `status` prop and if method is set to `timestamp`. | | `TIMESTAMP` | The date object of the greatest timestamp of the files listed in `sources`. Only available within the `status` prop and if method is set to `timestamp`. |
| `TASK_VERSION` | The current version of task. | | `TASK_VERSION` | The current version of task. |

View File

@@ -61,6 +61,12 @@ In this example, we can run `cd <service>` and `task up` and as long as the
`<service>` directory contains a `docker-compose.yml`, the Docker composition `<service>` directory contains a `docker-compose.yml`, the Docker composition
will be brought up. will be brought up.
:::info
`.USER_WORKING_DIR` will contain the value of the `--dir` (`-d`) flag, if given.
:::
### Running a global Taskfile ### Running a global Taskfile
If you call Task with the `--global` (alias `-g`) flag, it will look for your If you call Task with the `--global` (alias `-g`) flag, it will look for your