diff --git a/completion/zsh/_task b/completion/zsh/_task index f2bd81de01..48777e4b98 100755 --- a/completion/zsh/_task +++ b/completion/zsh/_task @@ -5,7 +5,7 @@ function __list() { local -a scripts if [ -f Taskfile.yml ]; then - scripts=($(task -l | sed '1d' | sed 's/^\* //' | awk '{ print $1 }' | sed 's/:$//' | sed 's/:/\\:/')) + scripts=($(task -l | sed '1d' | sed 's/^\* //' | awk '{ print $1 }' | sed 's/:$//' | sed 's/:/\\:/g')) _describe 'script' scripts fi } diff --git a/docs/index.html b/docs/index.html index 4a832385b1..73eff81a91 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,25 +6,8 @@ - + -
@@ -32,7 +15,6 @@ window.$docsify = { name: 'Task', repo: 'go-task/task', - ga: 'UA-126286662-1', themeColor: '#00add8', loadSidebar: true, auto2top: true, @@ -40,10 +22,10 @@ subMaxLevel: 3 } - - - - - + + + + + diff --git a/docs/installation.md b/docs/installation.md index 876d0060f0..da7e55af22 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,12 +1,12 @@ # Installation -## Binary +Task offers many installation methods. Check out the available methods below. -Or you can download the binary from the [releases][releases] page and add to -your $PATH. DEB and RPM packages are also available. -The `task_checksums.txt` file contains the sha256 checksum for each file. +## Package Managers -## Homebrew + + +#### **Homebrew** If you're on macOS or Linux and have [Homebrew][homebrew] installed, getting Task is as simple as running: @@ -15,19 +15,17 @@ Task is as simple as running: brew install go-task/tap/go-task ``` -> This installation method is only currently supported on amd64 architectures. - -## Snap +#### **Snap** -Task is available for [Snapcraft][snapcraft], but keep in mind that your +Task is available in [Snapcraft][snapcraft], but keep in mind that your Linux distribution should allow classic confinement for Snaps to Task work right: ```bash -sudo snap install task +sudo snap install task --classic ``` -## Scoop +#### **Scoop** If you're on Windows and have [Scoop][scoop] installed, use `extras` bucket to install Task like: @@ -40,7 +38,7 @@ scoop install task This installation method is community owned. After a new release of Task, it may take some time until it's available on Scoop. -## Arch Linux +#### **AUR** If you're on Arch Linux you can install Task from [AUR](https://aur.archlinux.org/packages/taskfile-git) using your favorite @@ -53,36 +51,25 @@ yay -S taskfile-git This installation method is community owned, but since it's `-git` version of the package, it's always latest available version based on the Git repository. -## Go + -Task now uses [Go Modules](https://github.com/golang/go/wiki/Modules), which -means you may have trouble compiling it on older Go versions or using -`$GOPATH`. +## Get The Binary -For CI environments we recommend using the [Install Script](#install-script) -instead, which is faster and more stable, since it'll just download the latest -released binary, instead of compiling the edge (master branch) version. + -Installing in another directory: +#### **Binary** -```bash -git clone https://github.com/go-task/task -cd task +You can download the binary from the [releases page on GitHub][releases] and +add to your `$PATH`. -# compiling binary to $GOPATH/bin -go install -v ./cmd/task +DEB and RPM packages are also available. -# compiling it to another location -# use -o ./task.exe on Windows -go build -v -o ./task ./cmd/task -``` - -Both methods requires having the [Go][go] environment properly setup locally. +The `task_checksums.txt` file contains the SHA-256 checksum for each file. -## Install script +#### **Install Script** We also have a [install script][installscript], which is very useful on -scenarios like CIs. Many thanks to [godownloader][godownloader] for allowing +scenarios like CIs. Many thanks to [GoDownloader][godownloader] for allowing easily generating this script. ```bash @@ -91,7 +78,7 @@ curl -sL https://taskfile.dev/install.sh | sh > This method will download the binary on the local `./bin` directory by default. -## GitHub Actions +#### **GitHub Actions** If you want to install Task in GitHub Actions you can try using [this action](https://github.com/arduino/actions/tree/master/setup-taskfile) @@ -104,8 +91,41 @@ by the Arduino team: This installation method is community owned. + + +## Build From Source + + + +#### **Go Modules** + +First, make sure you have [Go][go] properly installed and setup. + +Task requires [Go Modules](https://github.com/golang/go/wiki/Modules) and +doesn't officially support installing via `go get` anymore. + +Installing in another directory: + +```bash +git clone https://github.com/go-task/task +cd task + +# Compiling binary to $GOPATH/bin +go install -v ./cmd/task + +# Compiling it to another location. +# Use -o ./task.exe on Windows. +go build -v -o ./task ./cmd/task +``` + +> For CI environments we recommend using the [Install Script](#get-the-binary) +> instead, which is faster and more stable, since it'll just download the latest +> released binary, instead of compiling the edge (master branch) version. + + + [go]: https://golang.org/ -[snapcraft]: https://snapcraft.io/ +[snapcraft]: https://snapcraft.io/task [homebrew]: https://brew.sh/ [installscript]: https://github.com/go-task/task/blob/master/install-task.sh [releases]: https://github.com/go-task/task/releases diff --git a/docs/usage.md b/docs/usage.md index a5e5357033..a3a6a30449 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -167,6 +167,10 @@ If the directory doesn't exist, `task` creates it. ## Task dependencies +> Dependencies run in parallel, so dependencies of a task shouldn't depend one +> another. If you want to force tasks to run serially take a look at the +> [Calling Another Task](#calling-another-task) section below. + You may have tasks that depend on others. Just pointing them on `deps` will make them run automatically before running the parent task: