A task runner / simpler Make alternative written in Go
master
to main
(#1049, #1048 by @pd93)..hg
(Mercurial) to the list of ignored directories when using --watch
(#1098 by @misery).--sort
flag for use with --list
and --list-all
(#946, #1105 by @pd93).Task now has an official extension for Visual Studio Code contributed by @pd93! :tada: The extension is maintained in a new repository under the go-task
organization. We're looking to gather feedback from the community so please give it a go and let us know what you think via a discussion, issue or on our Discord!
NOTE: The extension requires v3.23.0 to be installed in order to work.
--json
flag output (#1056 by @pd93)task --init
from Taskfile.yaml
to Taskfile.yml
(#1062 by @misitebao).splitArgs
template function ({{splitArgs "foo bar 'foo bar baz'"}}
) to ensure string is split as arguments (#1040, #1059 by @dhanusaputra).{{.CHECKSUM}}
variable in status (#1076, #1080 by @pd93).--global
(-g
) flag that will run a Taskfile from your $HOME
directory. This is useful to have automation that you can run from anywhere in your system! (Documentation, #1029 by @andreynering).error_only: true
on the group
output mode. This will instruct Task to only print a command output if it returned with a non-zero exit code (#664, #1022 by @jaedle)..task/checksum
file was sometimes not being created when task also declares a status:
(#840, #1035 by @harelwa, #1037 by @pd93).run: once
(#715, #1025 by @theunrepentantgeek).If Task is useful to you or your company, consider becoming a sponsor.
TASK_VERSION
special variable (#990, #1014 by @ja1code).FORCE_COLOR
support to force color output. Usefull for environments without TTY (#1003 by @automation-stack)timestamp
mode (#976, #977 by @aminya).set
and shopt
builtins (#908, #929 by @pd93, Documentation).platforms:
attribute to task
and cmd
, so it's now possible to choose in which platforms that given task or command will be run on. Possible values are operating system (GOOS), architecture (GOARCH) or a combination of the two. Example: platforms: [linux]
, platforms: [amd64]
or platforms: [linux/amd64]
. Other platforms will be skipped (#978, #980 by @leaanthony).I hope everyone had a great Christmas 🎄 and I wish all an incredible 2023 as well 🌟 🎆
This release includes mostly small bug fixes, but it also included support to the brand new --json
flag.
Taskfile.yml
once we're done reading it (#963, #964 by @HeCorr).Taskfile_{{OS}}.yml
file (#961, #971 by @pd93).--json
flag (alias -j
) with the intent to improve support for code editors and add room to other possible integrations. This is basic for now, but we plan to add more info in the near future (#936 by @davidalpert, #764).USER_WORKING_DIR
special variable was added to add even more flexibility for monorepos (#289, #920).dotenv
support (#389, #904).includes
(#942, #943).Special thanks to @pd93 for working on 3 of the topics above. Some other important contributions in recent releases were from him as well.
Also, thanks @appwrite for sponsoring Task as part of their OSS Fund Program.
task --list --silent
(task --ls
). This means that aliases will be completed by the completion scripts (#919).--list
/--list-all
output (#806, #890).default
task in an included Taskfile by using just the namespace. For example: docs:default
is now automatically aliased to docs
(#661, #815).aliases
for tasks and namespaces (#268, #340, #879).interval: '500ms'
or using the --interval=500ms
flag (#813, #865).--list
, --list-all
and --summary
flags (#845, #874).label:
was being shown instead of the task name on --list
(#603, #877).npm
as new installation method: npm i -g @go-task/cli
(#870, #871, npm package).--list
and --list-all
(#818).