Hudson Clark
8a0689328b
fix: propagate include vars in multi-level includes ( #1256 )
2023-07-08 11:42:38 -03:00
Ben Coleman
307f39cee3
feat: add ability to specify which vars are required ( #1204 )
2023-06-29 22:13:41 -03:00
Pete Davison
5fdaa9aa36
feat: implement gentle force experiment draft ( #1216 )
...
* feat: implement gentle force experiment draft
* docs: changelog
2023-06-18 02:32:18 +01:00
Pete Davison
5e78171d3e
feat: support lowercase Taskfiles ( #1221 )
2023-06-17 14:38:53 -03:00
Tim De Pauw
e2c1b3b931
feat: add support for single cmd task syntax ( #1131 )
2023-06-10 22:08:28 -03:00
Max Cheetham
f815ce2901
feat(prompts): add ability for tasks to prompt user pre execution ( #1163 )
2023-06-03 22:33:00 -03:00
Mads H. Danquah
9a406f5998
fix: ensure that calls to other tasks can be silenced ( #680 )
2023-05-22 22:09:29 -03:00
Pete Davison
7ec5cac56b
fix: nil pointer when version is omitted ( #1149 )
2023-05-02 16:51:39 +01:00
Pete Davison
f9c77acd96
feat: custom error codes ( #1114 )
2023-04-15 17:22:25 -03:00
Pete Davison
f22389a824
feat: implement task sorting with --sort
flag ( #1105 )
...
* refactor: move deepcopy into its own package
* feat: add generic orderedmap implementation
* refactor: implement tasks with orderedmap
* feat: implement sort flag for all task outputs
* refactor: implement vars with orderedmap
* chore: docs
* fix: linting issues
* fix: non deterministic behavior in tests
2023-04-06 12:07:57 +01:00
Pete Davison
719f30219b
refactor: use require for testing errors ( #1100 )
2023-04-06 11:18:41 +01:00
Pete Davison
09c9094a6b
feat: enforce gofumpt linter
2023-04-05 21:55:42 -03:00
Pete Davison
aab51c331f
refactor: enable gofmt linter and fix all issues
...
- also rewrite 'interface{}' as 'any'
2023-04-05 21:55:42 -03:00
Pete Davison
cc1fd3d03e
fix: deep copying pointers inside slices ( #1072 )
2023-03-25 16:13:06 -03:00
Pete Davison
e40d2eec9e
feat: add task location data to json output ( #1056 )
...
* feat: add task location data to json output
* feat: add root taskfile location to --json output
2023-03-17 12:34:06 +00:00
Dennis Jekubczyk
88d644a7e9
Add ability to set error_only: true
on the group
output mode
2023-03-08 22:34:52 -03:00
Pete Davison
8b72c86ba5
feat: use semver package for taskfile schema version
2023-02-10 18:14:38 +00:00
Pete Davison
74f69a21cd
fix: tasks being incorrectly marked as internal
2023-02-10 17:02:11 +00:00
Pete Davison
1c1be683ab
feat: set and shopt directives ( #929 )
...
Co-authored-by: Andrey Nering <andrey@nering.com.br>
2023-01-14 16:41:56 -03:00
Andrey Nering
2efb3533ec
Add CHANGELOG + improvements to #980
...
Closes #978
2023-01-06 21:39:57 -03:00
Lea Anthony
aa6c7e4b94
Add support for 'platforms' in both task and command ( #980 )
2023-01-06 21:38:35 -03:00
Pete Davison
c4766e2611
fix: add missing nil check ( #971 )
...
Co-authored-by: Andrey Nering <andrey@nering.com.br>
2022-12-31 13:54:26 -03:00
Pete Davison
796097e3ab
fix: watch interval ( #970 )
2022-12-31 13:48:49 -03:00
Andrey Nering
e235d77d64
Add CHANGELOG to #964
2022-12-22 21:27:19 -03:00
Henrique Corrêa
dbe8131b75
Close Taskfile after reading it ( #964 )
...
This should fix issues preventing modifications to the Taskfile while tasks are still running, like switching git branches for example.
See #963 .
2022-12-22 21:23:17 -03:00
Pete Davison
491888f6c0
feat: improve unmarshal error handling and use v3 yaml interface everywhere ( #959 )
2022-12-18 22:11:31 -03:00
Pete Davison
b3627fcb18
Run Taskfiles from sub/child directories ( #920 )
2022-12-05 21:58:20 -03:00
Pete Davison
99d7338c29
feat: add task-level dotenv support ( #904 )
2022-12-05 21:25:16 -03:00
Pete Davison
f1d516cf2a
fix: interpolate includes taskfile and dir
2022-11-23 17:58:08 +00:00
Pete Davison
5a08409a27
feat: run default task in included file when task is omitted
2022-11-02 14:27:15 +00:00
Andrey Nering
44aa2ee3b3
Add CHANGELOG and improvements to #887
2022-10-14 19:48:45 -03:00
Andrey Nering
80b417c4ab
Merge pull request #887 from ronaudinho/fix/yaml-error-msg
...
Add file path to YAML error message
2022-10-14 19:36:58 -03:00
Andrey Nering
297f9eccea
For include aliases, consider the main task name as well
2022-10-14 19:27:20 -03:00
Andrey Nering
d2f2cba6d8
Merge branch 'master' into aliases
2022-10-14 18:44:56 -03:00
Pete Davison
8ec89f1bbd
refactor: use x/exp/slices instead of custom contains function
2022-10-07 11:11:14 +00:00
Pete Davison
d33906b6e4
fix: deep copy included tasks
2022-10-07 11:11:14 +00:00
Pete Davison
bb79fa1dc3
feat: namespace aliases
2022-10-07 11:11:14 +00:00
Pete Davison
376a6182eb
feat: aliases
...
feat: add aliases to --list and --list-all flags
feat: add aliases to --summary
feat: enable aliases for included tasks
tests: added alias unit tests
2022-10-07 11:11:14 +00:00
ronaudinho
81de61d8db
Add file path to YAML error message
2022-10-07 10:18:53 +00:00
ilewin
d8dc091267
Merge branch 'go-task:master' into configurable_watch_interval_#813
2022-09-19 20:22:26 +02:00
ilewin
1c44d8049a
Issue 813. Made watch interval configurable through global setting in Taskfile and through CLI arg.
...
Separated Taskfile param and Arg flag
2022-09-19 20:14:35 +02:00
Andrey Nering
4a5c1e9ec4
Merge branch 'internal-tasks' of https://github.com/pd93/task into pd93-internal-tasks
2022-09-17 12:59:19 -03:00
Pete Davison
44706f4957
fix: ignore empty dotfile file names
2022-09-08 18:51:39 +00:00
Andrey Nering
f45dd11e53
Add ROOT_DIR and TASKFILE_DIR special variables
...
Closes #215
2022-09-03 18:14:54 -03:00
Pete Davison
e3b6c97c3b
fix: the merged task should be internal if the task OR the taskfile are internal
2022-08-16 17:07:05 +00:00
Pete Davison
3507fa40f1
feat: add internal to included files
2022-08-16 17:07:05 +00:00
Pete Davison
6f8f1f1409
feat(task): tasks can be internal (not accessible from cli)
2022-08-16 17:06:25 +00:00
Andrey Nering
c4e10ef0aa
Refactor: Add SmartJoin to handle IsAbs automatically
2022-08-06 18:19:07 -03:00
Bevan Arps
e396f4d06f
Resolve relative include paths relative to the including Taskfile
...
Closes #823
Closes #822
2022-08-03 21:59:17 -03:00
Andrey Nering
9e1d4e7855
Add golangci-lint
...
https://golangci-lint.run/
2022-05-15 21:30:07 -03:00
Andrey Nering
41cd7acc87
Merge pull request #656 from tylermmorton/master
...
Add support for multi-level includes
2022-03-31 21:12:15 -03:00
Andrey Nering
de09843467
Improvements + CHANGELOG for #677
2022-03-19 18:41:03 -03:00
Dan Ballweg
292cf75836
add vars to included taskfiles
2022-02-23 16:53:46 -06:00
tylermmorton
1f1275255c
Fix bug in includes where default taskfiles were not being checked.
2022-02-21 15:31:55 -05:00
Andrey Nering
b323531dd5
Improvements and CHANGELOG for #651
2022-02-19 19:31:27 -03:00
Andrey Nering
cfb665310e
Merge branch 'group-begin-message' of https://github.com/janslow/task into janslow-group-begin-message
2022-02-19 18:42:34 -03:00
Andrey Nering
51c6ebcd4d
Add tests, documentation and changelog for #666
2022-02-19 18:24:43 -03:00
tylermmorton
6e5f8b1fb0
Append task prefix to log messages
2022-02-03 22:12:58 -05:00
tylermmorton
248952bc8f
Add dist fallbacks to defaultTaskfiles
2022-01-29 11:53:36 -05:00
tylermmorton
c73a2c8f84
Move circular include logic to a separate function
2022-01-15 23:34:59 -05:00
tylermmorton
02e7ff27c7
Add support for multi-level includes and cyclic include detection
2022-01-14 22:38:37 -05: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
d6c185580a
Add CHANGELOG, documentation and small improvements to #626
2022-01-04 16:56:13 -03:00
Jacob McCollum
fd9132c15d
remove extra file
2022-01-03 13:22:06 -05:00
Jacob McCollum
09c9d55695
Changes from PR Review:
...
- Remove ^task syntax from `defer`
- Support task call syntax in defer
2022-01-02 16:38:06 -05:00
Jacob McCollum
69e9effc88
initial pass at deferred commands
2022-01-02 15:55:43 -05:00
Andrey Nering
1c782c599f
Remove deprecated "$" and "^" prefixes
...
`$` was a variable prefix that make it being evaluated as shell. It was
replaced with `sh:`.
`^` is a command prefix that make it run another task. It was replaced
with `task:`.
These were added long ago when we were experimenting with stuff and kept for
some time for backward compatibility reasons, but sometimes causes confusion
and I think the time to remove the code came.
Closes #644
Closes #645
Ref #642
Co-authored-by: Trite <60318513+Trite8Q1@users.noreply.github.com>
2022-01-02 15:26:42 -03:00
Margus Kerma
1d7982e80a
fix( #584 ): Add support to yaml extension
...
- init creates Taskfile.yaml
- add changelog entry
- add zsh completion support for Taskfile.yaml
2022-01-02 15:23:10 +02:00
Andrey Nering
8b38ddfcd9
Merge pull request #563 from system-transparency/feature/interactive
...
Task: Add interactive parameter
2021-09-26 21:40:50 -03:00
Andrey Nering
e45ed85b55
Add CHANGELOG + Small nits for #552
2021-09-25 09:40:03 -03:00
Andrey Nering
52474f9103
Merge pull request #552 from justafish/justafish/519/optional-includes
...
Allow includes to be optional
2021-09-25 09:36:44 -03:00
Andrey Nering
6c73ab823b
Add CHANGELOG + gofmt for #557
2021-09-06 10:30:45 -03:00
Alexander Mancevice
8d695bc8d7
simplify logic to expand included paths
2021-09-05 10:57:49 -04:00
Alexander Mancevice
c892d055ed
Use internal execext.Expand to expand ~ in includes
2021-09-05 08:18:47 -04:00
Marcello Sylvester Bauer
2dc181c75e
Task: Add interactive parameter
...
Add the task parameter "interactive" to force interleaved output in order
to make interactive CLI apps work.
Feature request in #217
TODO:
* Update documentation
Signed-off-by: Marcello Sylvester Bauer <sylv@sylv.io>
2021-09-03 10:31:24 +02:00
Alexander Mancevice
0a6833e9d8
Allow included Taskfiles to use ~/* paths
2021-08-21 07:20:33 -04:00
Sally Young
8f80fc4e2c
Issue #519 : Allow includes to be optional
2021-08-11 17:28:44 +01:00
Ross Hammermeister
97c85e39c3
Only run task once for #53
2021-07-31 19:36:40 -03:00
Andrey Nering
945c72cf6c
Small optimization and bug fix: don't compute variables if not needed for dotenv:
...
Closes #517
2021-07-10 19:46:53 -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
2d66a2f0f3
Improve YAML parse error reporting
...
Fixes #467
2021-04-17 17:12:39 -03: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
4afc0e8ed0
Fixed some bugs and regressions regarding dynamic variables and directories
...
Closes #426
2021-01-09 13:51:06 -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
9674d75ff6
Evaluate included taskfiles in order of declaration
...
Closes #393
2021-01-01 18:27:50 -03:00
Andrey Nering
60759a4e3b
Post-fixes and CHANGELOG for #385
2020-10-12 21:16:09 -03:00
Andrey Nering
582a66bb2f
Merge pull request #385 from chris-garrett/dev/378-missing-env
...
Resolves #378 - allow for missing env files as they may be bootstrapped.
2020-10-12 21:12:08 -03:00
Andrey Nering
d78f78bb5c
Fix panic for empty tasks
...
Closes #338
Closes #362
Co-authored-by: Bharath Kumar <shettybharath4@gmail.com>
2020-10-12 21:03:13 -03:00
Chris Garrett
c6138a0660
#378 - allow for missing env files as they may be bootstrapped.
2020-10-03 16:39:58 -06:00
Damian Szulc
47dd9b5a03
Move args and taskfile packages to root directory
2020-08-19 10:59:58 +02:00