Andrey Nering
c4e10ef0aa
Refactor: Add SmartJoin to handle IsAbs automatically
2022-08-06 18:19:07 -03:00
Andrey Nering
fedb68cde7
Allow override the .task
dir location with the TASK_TEMP_DIR
env
2022-07-08 14:40:10 -03:00
Alexander Mancevice
f54fef7e7b
Allow users to override colors using environment variables
...
Closes #568
Closes #792
2022-07-06 11:46:59 -03:00
Andrey Nering
e36c77aaf3
Fix bug with STDOUT and STDERR in the "group" output mode
...
Took the oportunity to refactor a bit how we handle closing of the streams.
Fixes #779
2022-07-06 10:45:07 -03:00
Andrey Nering
7989f73f06
Fix behavior of interrupt (SIGINT, SIGTERM) signals
...
Task will now give time for the processes running to do cleanup work
Ref #458
Ref #479
Fixes #728
Co-authored-by: Marco Molteni <marco.molteni@pix4d.com>
Co-authored-by: aliculPix4D <aleksandar.licul_ext@pix4d.com>
2022-06-11 22:43:22 -03:00
Andrey Nering
d450444596
Temporarily revert #479
2022-05-22 16:54:35 -03:00
Andrey Nering
9e1d4e7855
Add golangci-lint
...
https://golangci-lint.run/
2022-05-15 21:30:07 -03:00
aliculPix4D
367c0b38a6
fix: remove redundant newline (linter error)
2022-05-13 17:36:52 -07:00
Marco Molteni
22dfc1e265
execext.RunCommand: fix: do not pass a cancellable context to mvdan.cc/sh
...
We used to pass to mvdan.cc/sh/interp.Runner a context that was cancelled on
reception of a OS signal. This caused the Runner to terminate the subprocess
abruptly.
The correct behavior instead is for us to completely ignore the signal and let
the subprocess deal with it. If the subprocess doesn't handle the signal, it
will be terminated. If the subprocess does handle the signal, it knows better
than us wether it wants to cleanup and terminate or do something different.
So now we pass an empty context just to make the API of interp.Runner happy
Fixes go-task/task/#458
2022-05-13 17:36:52 -07:00
Marco Molteni
bffb6e1a07
add regression test for SIGINT behavior
...
See go-task/task/#458
Helper (sleepit) and test code based on https://github.com/marco-m/timeit
2022-05-13 17:36:52 -07:00
Andrey Nering
1acd59c7d6
Replace \r\n on Windows as we do for \n on Linux
...
Closes #717
2022-05-08 17:37:24 -03:00
Andrey Nering
de09843467
Improvements + CHANGELOG for #677
2022-03-19 18:41:03 -03:00
Andrey Nering
b323531dd5
Improvements and CHANGELOG for #651
2022-02-19 19:31:27 -03:00
Jay Anslow
74f5cf8f29
Add support for begin/end messages with grouped output
...
Fixes #647
This allows CI systems that support grouping (such as with [GitHub Actions's `::group::` command](https://docs.github.com/en/actions/learn-github-actions/workflow-commands-for-github-actions#grouping-log-lines ) and [Azure Devops](https://docs.microsoft.com/en-us/azure/devops/pipelines/scripts/logging-commands?view=azure-devops&tabs=bash#formatting-commands )) to collapse all of the logs for a single task, to improve readability of logs
## Example
The following Taskfile
```
# Taskfile.yml
version: 3
output:
group:
begin: "::group::{{ .TASK }}"
end: "::endgroup::"
tasks:
default:
cmds:
- "echo 'Hello, World!'"
```
Results in the following output
```bash
$ task
task: [default] echo 'Hello, World!'
::group::default
Hello, World!
::endgroup::
```
See [this GitHub Actions job](https://github.com/janslow/task/runs/4811059609?check_suite_focus=true ) for a full example
<img width="771" alt="image" src="https://user-images.githubusercontent.com/1253367/149429832-6cb0c1b5-0758-442e-9375-c4daa65771bc.png ">
<img width="394" alt="image" src="https://user-images.githubusercontent.com/1253367/149429851-1d5d2ab5-9095-4795-9b57-f91750720d40.png ">
2022-01-14 00:22:14 +00:00
Andrey Nering
f945fa60d9
Merge branch 'bugfix/issue-481-dynamic-vars-broken' of https://github.com/masaushi/task into masaushi-bugfix/issue-481-dynamic-vars-broken
2022-01-04 17:39:14 -03:00
nichady
9a5d49774e
replace usages of ioutil with io and os
2021-12-20 20:00:34 -06:00
Andrey Nering
3cfe21af58
Add shellQuote
template function
2021-10-02 18:29:07 -03:00
masaushi
93dcb20e12
fix error in evaluating dynamic variables with newly created directory
2021-09-26 22:30:32 +09:00
Ross Hammermeister
2da38a5bdc
Cleaning up the run code
2021-07-31 19:36:40 -03:00
Ross Hammermeister
97c85e39c3
Only run task once for #53
2021-07-31 19:36:40 -03:00
Andrey Nering
824b0c0132
Improve error message
2021-07-10 19:33:36 -03:00
Nicolas Fouché
08265ed1d7
Allow vars in dotenv paths, including environment variables
...
Closes #453
Closes #434
Ref #433
Co-authored-by: Andrey Nering <andrey@nering.com.br>
2021-06-05 16:00:19 -03:00
Andrey Nering
4e1f2ad017
Enforce NO_COLOR=1 on tests to make sure it passes
...
Closes #459
Fixes #480
Ref #343
Ref fatih/color#137
2021-05-30 22:48:48 -03:00
Landon Dyck
b825ad6a12
use status.Glob for watch globbing
2021-05-08 15:02:08 -05:00
Andrey Nering
e6c4706b73
Add support for delegating CLI arguments with "--" and a special CLI_ARGS variable
...
Closes #327
2021-03-20 11:58:45 -03:00
Andrey Nering
bf6d0c0a74
Improve performance of --list
and --summary
flags
...
Closes #332
2021-01-12 12:03:04 -03:00
Andrey Nering
e086b654aa
Environment from .env file should be available as variables
...
Fixes #379
2021-01-12 11:11:40 -03:00
Andrey Nering
4afc0e8ed0
Fixed some bugs and regressions regarding dynamic variables and directories
...
Closes #426
2021-01-09 13:51:06 -03:00
Andrey Nering
141b377b4e
Partly revert 59d2733b88
...
Keep the old behavior on v2
2021-01-09 10:55:18 -03:00
Andrey Nering
83d25bfa00
Refactor: Fix import order
...
It should be: stdlib > libs > app
2021-01-07 11:48:33 -03:00
Andrey Nering
ec4cd5ed48
Fix .task
directory location
...
Closes #247
2021-01-07 11:36:09 -03:00
Andrey Nering
59d2733b88
Make dynamic variables run on the right directory
...
It was always running in the main Taskfile dir, even when the variable was
declared in an included taskfile in another directory or when task had a
custom dir.
Closes #384
2021-01-07 11:26:11 -03:00
Andrey Nering
2d52485d7b
Watch: Clear vars cache between runs
...
Closes #365
2021-01-05 11:19:34 -03:00
Andrey Nering
22fd74846d
Use interp.Params("-e")
intead of running "set -e" manually
...
This is an improvement for ac8e344173
2021-01-01 17:32:42 -03:00
Andrey Nering
ac8e344173
Run "set -e" automatically for every command
...
Without this, multiline command strings won't always exit when they fail.
Closes #403
2020-12-27 17:15:12 -03:00
Andrey Nering
16fad60833
execext: Small refactor
2020-12-27 16:51:00 -03:00
Damian Szulc
47dd9b5a03
Move args and taskfile packages to root directory
2020-08-19 10:59:58 +02:00
Andrey Nering
6ff3c9015b
On v3, treat all CLI variables as global variables
...
Closes #336
Ref #341
Co-authored-by: Egor Kovetskiy <e.kovetskiy@gmail.com>
2020-08-16 21:27:11 -03:00
Andrey Nering
fb72b46a3c
github.com/go-task/task/v2 -> github.com/go-task/task/v3
2020-08-16 15:48:19 -03:00
Andrey Nering
eab14b6c49
Some improvements to #356
2020-08-15 19:13:30 -03:00
Chris Garrett
8b962fb8e8
#324 implement dotenv
2020-08-03 16:18:38 -06:00
Adam Wasila
9f83311931
Add label field to task definition
...
Label is an alternative name for task that replace it when printed in following context eg.:
- log: when given task is up to date and is skipped from execution
- log: when given task is NOT up to date (`--status` command)
- in `--summary` and `--list` commands output
2020-06-14 13:42:20 +02:00
Andrey Nering
f4f6efa547
Skip cleanup if task doesn't have any sources listed
...
Ref #333
2020-05-31 15:48:23 -03:00
Andrey Nering
9f0f18c5c4
v3: Allow interpolation on "includes"
...
The idea is to allow manual inclusion of a OS-dependant Taskfile, since it's
not automatically included anymore.
2020-05-17 16:03:03 -03:00
Andrey Nering
191c34c9c4
v3: Do not include Taskfile_{{OS}}.yml automatically
2020-05-17 15:42:27 -03:00
Andrey Nering
68ce8642b1
Create v3 compiler which respects declaration order of variables
...
Also, fix "<no value>" been printed when a non-existing variable is printed.
2020-05-16 15:46:07 -03:00
Andrey Nering
cbb12b29bd
v3: Fix bug where global vars were not being considered
2020-04-05 11:16:27 -03:00
Andrey Nering
6ed30f1add
Refactor variables: Keep order of declaration
...
This shouldn't have any behavior changes for now. This is a code
refactor that should allow us to do further improvements on how
variables are handled, specially regarding respecting the declaration
order in Taskfiles, which should make it easier for the users.
Initial work on #218
2020-04-05 11:16:14 -03:00
Andrey Nering
a044c41c66
Upgrade github.com/go-yaml/yaml to v3
2020-03-28 11:27:49 -03:00
Andrey Nering
acfbbaa549
Merge branch 'master' into v3
2020-03-28 10:48:49 -03:00