33
.github/workflows/website-deploy.yml
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
name: Website Deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
website-deploy:
|
||||||
|
name: Website Deploy
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
cache: yarn
|
||||||
|
cache-dependency-path: ./docs/yarn.lock
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install --frozen-lockfile
|
||||||
|
working-directory: ./docs
|
||||||
|
|
||||||
|
- name: Build website
|
||||||
|
run: yarn build
|
||||||
|
working-directory: ./docs
|
||||||
|
|
||||||
|
- name: Website Deploy
|
||||||
|
uses: peaceiris/actions-gh-pages@v3
|
||||||
|
with:
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
publish_dir: ./docs/build
|
27
.github/workflows/website-test.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
name: Website Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
website-test:
|
||||||
|
name: Website Test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: 16.x
|
||||||
|
cache: yarn
|
||||||
|
cache-dependency-path: ./docs/yarn.lock
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install --frozen-lockfile
|
||||||
|
working-directory: ./docs
|
||||||
|
|
||||||
|
- name: Test build website
|
||||||
|
run: yarn build
|
||||||
|
working-directory: ./docs
|
20
docs/.gitignore
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Dependencies
|
||||||
|
/node_modules
|
||||||
|
|
||||||
|
# Production
|
||||||
|
/build
|
||||||
|
|
||||||
|
# Generated files
|
||||||
|
.docusaurus
|
||||||
|
.cache-loader
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
.DS_Store
|
||||||
|
.env.local
|
||||||
|
.env.development.local
|
||||||
|
.env.test.local
|
||||||
|
.env.production.local
|
||||||
|
|
||||||
|
npm-debug.log*
|
||||||
|
yarn-debug.log*
|
||||||
|
yarn-error.log*
|
@ -1 +0,0 @@
|
|||||||
taskfile.dev
|
|
BIN
docs/Logo.png
Before Width: | Height: | Size: 22 KiB |
@ -1,5 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 375" width="500" height="500">
|
|
||||||
<path fill="#29beb0" d="M 187.570312 190.933594 L 187.570312 375 L 30.070312 279.535156 L 30.070312 95.464844 Z"/>
|
|
||||||
<path fill="#69d2c8" d="M 187.570312 190.933594 L 187.570312 375 L 345.070312 279.535156 L 345.070312 95.464844 Z"/>
|
|
||||||
<path fill="#94dfd8" d="M 187.570312 190.933594 L 30.070312 95.464844 L 187.570312 0 L 345.070312 95.464844 Z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 446 B |
@ -1,3 +0,0 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 375" width="500" height="500">
|
|
||||||
<path d="M 29.021972 281.445466 L 183.370289 375 L 183.370289 194.622441 L 29.021972 101.064089 Z M 345.978037 281.445466 L 345.978037 101.064079 L 191.629731 194.622431 L 191.629731 375 Z M 342.140723 93.731759 L 187.5 0 L 32.859297 93.731759 L 187.5 187.467349 Z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 365 B |
@ -1,17 +1,27 @@
|
|||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
install:
|
setup:
|
||||||
desc: Installs docsify to work the on the documentation site
|
desc: Setup Docusaurus locally
|
||||||
cmds:
|
cmds:
|
||||||
- npm install docsify-cli -g
|
- yarn install
|
||||||
|
|
||||||
serve:
|
start:
|
||||||
desc: Serves the documentation site locally
|
desc: Start website
|
||||||
cmds:
|
cmds:
|
||||||
- docsify serve .
|
- npx docusaurus start --no-open --port=3001
|
||||||
|
|
||||||
ico:
|
build:
|
||||||
desc: Generate favicon.ico from Logo.png
|
desc: Build website
|
||||||
cmds:
|
cmds:
|
||||||
- convert -background transparent "Logo.png" -define icon:auto-resize=16,24,32,48,64,72,96,128,256 "favicon.ico"
|
- npx docusaurus build
|
||||||
|
|
||||||
|
clean:
|
||||||
|
desc: Clean temp directories
|
||||||
|
cmds:
|
||||||
|
- rm -rf ./build
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
desc: Build and deploy Docusaurus. Requires GIT_USER and GIT_PASS envs to be previous set
|
||||||
|
cmds:
|
||||||
|
- npx docusaurus deploy
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
- [Installation](installation.md)
|
|
||||||
- [Usage](usage.md)
|
|
||||||
- [Styleguide](styleguide.md)
|
|
||||||
- [Taskfile Versions](taskfile_versions.md)
|
|
||||||
- [Community](community.md)
|
|
||||||
- [Releasing Task](releasing_task.md)
|
|
||||||
- [Donate](donate.md)
|
|
||||||
<li style="display: flex">
|
|
||||||
<img src="/github.svg" style="width: 15px; margin-right: 5px">
|
|
||||||
<a target="_blank" href="https://github.com/go-task/task">GitHub</a>
|
|
||||||
</li>
|
|
||||||
<li style="display: flex">
|
|
||||||
<img src="/discord.svg" style="width: 15px; margin-right: 5px">
|
|
||||||
<a target="_blank" href="https://discord.gg/6TY36E39UK">Discord</a>
|
|
||||||
</li>
|
|
3
docs/babel.config.js
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module.exports = {
|
||||||
|
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||||
|
};
|
5
docs/blog/authors.yml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
andreynering:
|
||||||
|
name: Andrey Nering
|
||||||
|
title: Maintainer of Task
|
||||||
|
url: https://github.com/andreynering
|
||||||
|
image_url: https://github.com/andreynering.png
|
@ -1,5 +0,0 @@
|
|||||||
<svg role="img" viewBox="0 0 24 24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<title>Discord</title>
|
|
||||||
<path fill="#5865f2" d="M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.4 KiB |
508
docs/docs/changelog.md
Normal file
@ -0,0 +1,508 @@
|
|||||||
|
---
|
||||||
|
slug: /changelog/
|
||||||
|
sidebar_position: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## v3.12.1 - 2022-05-10
|
||||||
|
|
||||||
|
- Fixed bug where, on Windows, variables were ending with `\r` because we were
|
||||||
|
only removing the final `\n` but not `\r\n`
|
||||||
|
([#717](https://github.com/go-task/task/issues/717)).
|
||||||
|
|
||||||
|
## v3.12.0 - 2022-03-31
|
||||||
|
|
||||||
|
- The `--list` and `--list-all` flags can now be combined with the `--silent`
|
||||||
|
flag to print the task names only, without their description
|
||||||
|
([#691](https://github.com/go-task/task/pull/691)).
|
||||||
|
- Added support for multi-level inclusion of Taskfiles. This means that
|
||||||
|
included Taskfiles can also include other Taskfiles. Before this was limited
|
||||||
|
to one level
|
||||||
|
([#390](https://github.com/go-task/task/issues/390), [#623](https://github.com/go-task/task/discussions/623), [#656](https://github.com/go-task/task/pull/656)).
|
||||||
|
- Add ability to specify vars when including a Taskfile.
|
||||||
|
[Check out the documentation](https://taskfile.dev/#/usage?id=vars-of-included-taskfiles)
|
||||||
|
for more information.
|
||||||
|
([#677](https://github.com/go-task/task/pull/677)).
|
||||||
|
|
||||||
|
## v3.11.0 - 2022-02-19
|
||||||
|
|
||||||
|
- Task now supports printing begin and end messages when using the `group`
|
||||||
|
output mode, useful for grouping tasks in CI systems.
|
||||||
|
[Check out the documentation](http://taskfile.dev/#/usage?id=output-syntax) for more information
|
||||||
|
([#647](https://github.com/go-task/task/issues/647), [#651](https://github.com/go-task/task/pull/651)).
|
||||||
|
- Add `Taskfile.dist.yml` and `Taskfile.dist.yaml` to the supported file
|
||||||
|
name list. [Check out the documentation](https://taskfile.dev/#/usage?id=supported-file-names) for more information
|
||||||
|
([#498](https://github.com/go-task/task/issues/498), [#666](https://github.com/go-task/task/pull/666)).
|
||||||
|
|
||||||
|
## v3.10.0 - 2022-01-04
|
||||||
|
|
||||||
|
- A new `--list-all` (alias `-a`) flag is now available. It's similar to the
|
||||||
|
exiting `--list` (`-l`) but prints all tasks, even those without a
|
||||||
|
description
|
||||||
|
([#383](https://github.com/go-task/task/issues/383), [#401](https://github.com/go-task/task/pull/401)).
|
||||||
|
- It's now possible to schedule cleanup commands to run once a task finishes
|
||||||
|
with the `defer:` keyword
|
||||||
|
([Documentation](https://taskfile.dev/#/usage?id=doing-task-cleanup-with-defer), [#475](https://github.com/go-task/task/issues/475), [#626](https://github.com/go-task/task/pull/626)).
|
||||||
|
- Remove long deprecated and undocumented `$` variable prefix and `^` command
|
||||||
|
prefix
|
||||||
|
([#642](https://github.com/go-task/task/issues/642), [#644](https://github.com/go-task/task/issues/644), [#645](https://github.com/go-task/task/pull/645)).
|
||||||
|
- Add support for `.yaml` extension (as an alternative to `.yml`).
|
||||||
|
This was requested multiple times throughout the years. Enjoy!
|
||||||
|
([#183](https://github.com/go-task/task/issues/183), [#184](https://github.com/go-task/task/pull/184), [#369](https://github.com/go-task/task/issues/369), [#584](https://github.com/go-task/task/issues/584), [#621](https://github.com/go-task/task/pull/621)).
|
||||||
|
- Fixed error when computing a variable when the task directory do not exist
|
||||||
|
yet
|
||||||
|
([#481](https://github.com/go-task/task/issues/481), [#579](https://github.com/go-task/task/pull/579)).
|
||||||
|
|
||||||
|
## v3.9.2 - 2021-12-02
|
||||||
|
|
||||||
|
- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains a fix a for
|
||||||
|
a important regression on Windows
|
||||||
|
([#619](https://github.com/go-task/task/issues/619), [mvdan/sh#768](https://github.com/mvdan/sh/issues/768), [mvdan/sh#769](https://github.com/mvdan/sh/pull/769)).
|
||||||
|
|
||||||
|
## v3.9.1 - 2021-11-28
|
||||||
|
|
||||||
|
- Add logging in verbose mode for when a task starts and finishes
|
||||||
|
([#533](https://github.com/go-task/task/issues/533), [#588](https://github.com/go-task/task/pull/588)).
|
||||||
|
- Fix an issue with preconditions and context errors
|
||||||
|
([#597](https://github.com/go-task/task/issues/597), [#598](https://github.com/go-task/task/pull/598)).
|
||||||
|
- Quote each `{{.CLI_ARGS}}` argument to prevent one with spaces to become many
|
||||||
|
([#613](https://github.com/go-task/task/pull/613)).
|
||||||
|
- Fix nil pointer when `cmd:` was left empty
|
||||||
|
([#612](https://github.com/go-task/task/issues/612), [#614](https://github.com/go-task/task/pull/614)).
|
||||||
|
- Upgrade [mvdan/sh](https://github.com/mvdan/sh) which contains two
|
||||||
|
relevant fixes:
|
||||||
|
- Fix quote of empty strings in `shellQuote`
|
||||||
|
([#609](https://github.com/go-task/task/issues/609), [mvdan/sh#763](https://github.com/mvdan/sh/issues/763)).
|
||||||
|
- Fix issue of wrong environment variable being picked when there's another
|
||||||
|
very similar one
|
||||||
|
([#586](https://github.com/go-task/task/issues/586), [mvdan/sh#745](https://github.com/mvdan/sh/pull/745)).
|
||||||
|
- Install shell completions automatically when installing via Homebrew
|
||||||
|
([#264](https://github.com/go-task/task/issues/264), [#592](https://github.com/go-task/task/pull/592), [go-task/homebrew-tap#2](https://github.com/go-task/homebrew-tap/pull/2)).
|
||||||
|
|
||||||
|
## v3.9.0 - 2021-10-02
|
||||||
|
|
||||||
|
- A new `shellQuote` function was added to the template system
|
||||||
|
(`{{shellQuote "a string"}}`) to ensure a string is safe for use in shell
|
||||||
|
([mvdan/sh#727](https://github.com/mvdan/sh/pull/727), [mvdan/sh#737](https://github.com/mvdan/sh/pull/737), [Documentation](https://pkg.go.dev/mvdan.cc/sh/v3@v3.4.0/syntax#Quote))
|
||||||
|
- In this version [mvdan.cc/sh](https://github.com/mvdan/sh) was upgraded
|
||||||
|
with some small fixes and features
|
||||||
|
- The `read -p` flag is now supported
|
||||||
|
([#314](https://github.com/go-task/task/issues/314), [mvdan/sh#551](https://github.com/mvdan/sh/issues/551), [mvdan/sh#772](https://github.com/mvdan/sh/pull/722))
|
||||||
|
- The `pwd -P` and `pwd -L` flags are now supported
|
||||||
|
([#553](https://github.com/go-task/task/issues/553), [mvdan/sh#724](https://github.com/mvdan/sh/issues/724), [mvdan/sh#728](https://github.com/mvdan/sh/pull/728))
|
||||||
|
- The `$GID` environment variable is now correctly being set
|
||||||
|
([#561](https://github.com/go-task/task/issues/561), [mvdan/sh#723](https://github.com/mvdan/sh/pull/723))
|
||||||
|
|
||||||
|
## v3.8.0 - 2021-09-26
|
||||||
|
|
||||||
|
- Add `interactive: true` setting to improve support for interactive CLI apps
|
||||||
|
([#217](https://github.com/go-task/task/issues/217), [#563](https://github.com/go-task/task/pull/563)).
|
||||||
|
- Fix some `nil` errors
|
||||||
|
([#534](https://github.com/go-task/task/issues/534), [#573](https://github.com/go-task/task/pull/573)).
|
||||||
|
- Add ability to declare an included Taskfile as optional
|
||||||
|
([#519](https://github.com/go-task/task/issues/519), [#552](https://github.com/go-task/task/pull/552)).
|
||||||
|
- Add support for including Taskfiles in the home directory by using `~`
|
||||||
|
([#539](https://github.com/go-task/task/issues/539), [#557](https://github.com/go-task/task/pull/557)).
|
||||||
|
|
||||||
|
## v3.7.3 - 2021-09-04
|
||||||
|
|
||||||
|
- Add official support to Apple M1 ([#564](https://github.com/go-task/task/pull/564), [#567](https://github.com/go-task/task/pull/567)).
|
||||||
|
- Our [official Homebrew tap](https://github.com/go-task/homebrew-tap) will
|
||||||
|
support more platforms, including Apple M1
|
||||||
|
|
||||||
|
## v3.7.0 - 2021-07-31
|
||||||
|
|
||||||
|
- Add `run:` setting to control if tasks should run multiple times or not.
|
||||||
|
Available options are `always` (the default), `when_changed` (if a variable
|
||||||
|
modified the task) and `once` (run only once no matter what).
|
||||||
|
This is a long time requested feature. Enjoy!
|
||||||
|
([#53](https://github.com/go-task/task/issues/53), [#359](https://github.com/go-task/task/pull/359)).
|
||||||
|
|
||||||
|
## v3.6.0 - 2021-07-10
|
||||||
|
|
||||||
|
- Allow using both `sources:` and `status:` in the same task
|
||||||
|
([#411](https://github.com/go-task/task/issues/411), [#427](https://github.com/go-task/task/issues/427), [#477](https://github.com/go-task/task/pull/477)).
|
||||||
|
- Small optimization and bug fix: don't compute variables if not needed for
|
||||||
|
`dotenv:` ([#517](https://github.com/go-task/task/issues/517)).
|
||||||
|
|
||||||
|
## v3.5.0 - 2021-07-04
|
||||||
|
|
||||||
|
- Add support for interpolation in `dotenv:`
|
||||||
|
([#433](https://github.com/go-task/task/discussions/433), [#434](https://github.com/go-task/task/issues/434), [#453](https://github.com/go-task/task/pull/453)).
|
||||||
|
|
||||||
|
## v3.4.3 - 2021-05-30
|
||||||
|
|
||||||
|
- Add support for the `NO_COLOR` environment variable.
|
||||||
|
([#459](https://github.com/go-task/task/issues/459), [fatih/color#137](https://github.com/fatih/color/pull/137)).
|
||||||
|
- Fix bug where sources were not considering the right directory
|
||||||
|
in `--watch` mode
|
||||||
|
([#484](https://github.com/go-task/task/issues/484), [#485](https://github.com/go-task/task/pull/485)).
|
||||||
|
|
||||||
|
## v3.4.2 - 2021-04-23
|
||||||
|
|
||||||
|
- On watch, report which file failed to read
|
||||||
|
([#472](https://github.com/go-task/task/pull/472)).
|
||||||
|
- Do not try to catch SIGKILL signal, which are not actually possible
|
||||||
|
([#476](https://github.com/go-task/task/pull/476)).
|
||||||
|
- Improve version reporting when building Task from source using Go Modules
|
||||||
|
([#462](https://github.com/go-task/task/pull/462), [#473](https://github.com/go-task/task/pull/473)).
|
||||||
|
|
||||||
|
## v3.4.1 - 2021-04-17
|
||||||
|
|
||||||
|
- Improve error reporting when parsing YAML: in some situations where you
|
||||||
|
would just see an generic error, you'll now see the actual error with
|
||||||
|
more detail: the YAML line the failed to parse, for example
|
||||||
|
([#467](https://github.com/go-task/task/issues/467)).
|
||||||
|
- A JSON Schema was published [here](https://json.schemastore.org/taskfile.json)
|
||||||
|
and is automatically being used by some editors like Visual Studio Code
|
||||||
|
([#135](https://github.com/go-task/task/issues/135)).
|
||||||
|
- Print task name before the command in the log output
|
||||||
|
([#398](https://github.com/go-task/task/pull/398)).
|
||||||
|
|
||||||
|
## v3.3.0 - 2021-03-20
|
||||||
|
|
||||||
|
- Add support for delegating CLI arguments to commands with `--` and a
|
||||||
|
special `CLI_ARGS` variable
|
||||||
|
([#327](https://github.com/go-task/task/issues/327)).
|
||||||
|
- Add a `--concurrency` (alias `-C`) flag, to limit the number of tasks that
|
||||||
|
run concurrently. This is useful for heavy workloads.
|
||||||
|
([#345](https://github.com/go-task/task/pull/345)).
|
||||||
|
|
||||||
|
## v3.2.2 - 2021-01-12
|
||||||
|
|
||||||
|
- Improve performance of `--list` and `--summary` by skipping running shell
|
||||||
|
variables for these flags
|
||||||
|
([#332](https://github.com/go-task/task/issues/332)).
|
||||||
|
- Fixed a bug where an environment in a Taskfile was not always overridable
|
||||||
|
by the system environment
|
||||||
|
([#425](https://github.com/go-task/task/issues/425)).
|
||||||
|
- Fixed environment from .env files not being available as variables
|
||||||
|
([#379](https://github.com/go-task/task/issues/379)).
|
||||||
|
- The install script is now working for ARM platforms
|
||||||
|
([#428](https://github.com/go-task/task/pull/428)).
|
||||||
|
|
||||||
|
## v3.2.1 - 2021-01-09
|
||||||
|
|
||||||
|
- Fixed some bugs and regressions regarding dynamic variables and directories
|
||||||
|
([#426](https://github.com/go-task/task/issues/426)).
|
||||||
|
- The [slim-sprig](https://github.com/go-task/slim-sprig) package was updated
|
||||||
|
with the upstream [sprig](https://github.com/Masterminds/sprig).
|
||||||
|
|
||||||
|
## v3.2.0 - 2021-01-07
|
||||||
|
|
||||||
|
- Fix the `.task` directory being created in the task directory instead of the
|
||||||
|
Taskfile directory
|
||||||
|
([#247](https://github.com/go-task/task/issues/247)).
|
||||||
|
- Fix a bug where dynamic variables (those declared with `sh:`) were not
|
||||||
|
running in the task directory when the task has a custom dir or it was
|
||||||
|
in an included Taskfile
|
||||||
|
([#384](https://github.com/go-task/task/issues/384)).
|
||||||
|
- The watch feature (via the `--watch` flag) got a few different bug fixes and
|
||||||
|
should be more stable now
|
||||||
|
([#423](https://github.com/go-task/task/pull/423), [#365](https://github.com/go-task/task/issues/365)).
|
||||||
|
|
||||||
|
## v3.1.0 - 2021-01-03
|
||||||
|
|
||||||
|
- Fix a bug when the checksum up-to-date resolution is used by a task
|
||||||
|
with a custom `label:` attribute
|
||||||
|
([#412](https://github.com/go-task/task/issues/412)).
|
||||||
|
- Starting from this release, we're releasing official ARMv6 and ARM64 binaries
|
||||||
|
for Linux
|
||||||
|
([#375](https://github.com/go-task/task/issues/375), [#418](https://github.com/go-task/task/issues/418)).
|
||||||
|
- Task now respects the order of declaration of included Taskfiles when
|
||||||
|
evaluating variables declaring by them
|
||||||
|
([#393](https://github.com/go-task/task/issues/393)).
|
||||||
|
- `set -e` is now automatically set on every command. This was done to fix an
|
||||||
|
issue where multiline string commands wouldn't really fail unless the
|
||||||
|
sentence was in the last line
|
||||||
|
([#403](https://github.com/go-task/task/issues/403)).
|
||||||
|
|
||||||
|
## v3.0.1 - 2020-12-26
|
||||||
|
|
||||||
|
- Allow use as a library by moving the required packages out of the `internal`
|
||||||
|
directory
|
||||||
|
([#358](https://github.com/go-task/task/pull/358)).
|
||||||
|
- Do not error if a specified dotenv file does not exist
|
||||||
|
([#378](https://github.com/go-task/task/issues/378), [#385](https://github.com/go-task/task/pull/385)).
|
||||||
|
- Fix panic when you have empty tasks in your Taskfile
|
||||||
|
([#338](https://github.com/go-task/task/issues/338), [#362](https://github.com/go-task/task/pull/362)).
|
||||||
|
|
||||||
|
## v3.0.0 - 2020-08-16
|
||||||
|
|
||||||
|
- On `v3`, all CLI variables will be considered global variables
|
||||||
|
([#336](https://github.com/go-task/task/issues/336), [#341](https://github.com/go-task/task/pull/341))
|
||||||
|
- Add support to `.env` like files
|
||||||
|
([#324](https://github.com/go-task/task/issues/324), [#356](https://github.com/go-task/task/pull/356)).
|
||||||
|
- Add `label:` to task so you can override the task name in the logs
|
||||||
|
([#321](https://github.com/go-task/task/issues/321]), [#337](https://github.com/go-task/task/pull/337)).
|
||||||
|
- Refactor how variables work on version 3
|
||||||
|
([#311](https://github.com/go-task/task/pull/311)).
|
||||||
|
- Disallow `expansions` on v3 since it has no effect.
|
||||||
|
- `Taskvars.yml` is not automatically included anymore.
|
||||||
|
- `Taskfile_{{OS}}.yml` is not automatically included anymore.
|
||||||
|
- Allow interpolation on `includes`, so you can manually include a Taskfile
|
||||||
|
based on operation system, for example.
|
||||||
|
- Expose `.TASK` variable in templates with the task name
|
||||||
|
([#252](https://github.com/go-task/task/issues/252)).
|
||||||
|
- Implement short task syntax
|
||||||
|
([#194](https://github.com/go-task/task/issues/194), [#240](https://github.com/go-task/task/pull/240)).
|
||||||
|
- Added option to make included Taskfile run commands on its own directory
|
||||||
|
([#260](https://github.com/go-task/task/issues/260), [#144](https://github.com/go-task/task/issues/144))
|
||||||
|
- Taskfiles in version 1 are not supported anymore
|
||||||
|
([#237](https://github.com/go-task/task/pull/237)).
|
||||||
|
- Added global `method:` option. With this option, you can set a default
|
||||||
|
method to all tasks in a Taskfile
|
||||||
|
([#246](https://github.com/go-task/task/issues/246)).
|
||||||
|
- Changed default method from `timestamp` to `checksum`
|
||||||
|
([#246](https://github.com/go-task/task/issues/246)).
|
||||||
|
- New magic variables are now available when using `status:`:
|
||||||
|
`.TIMESTAMP` which contains the greatest modification date
|
||||||
|
from the files listed in `sources:`, and `.CHECKSUM`, which
|
||||||
|
contains a checksum of all files listed in `status:`.
|
||||||
|
This is useful for manual checking when using external, or even remote,
|
||||||
|
artifacts when using `status:`
|
||||||
|
([#216](https://github.com/go-task/task/pull/216)).
|
||||||
|
- We're now using [slim-sprig](https://github.com/go-task/slim-sprig) instead of
|
||||||
|
[sprig](https://github.com/Masterminds/sprig), which allowed a file size
|
||||||
|
reduction of about 22%
|
||||||
|
([#219](https://github.com/go-task/task/pull/219)).
|
||||||
|
- We now use some colors on Task output to better distinguish message types -
|
||||||
|
commands are green, errors are red, etc
|
||||||
|
([#207](https://github.com/go-task/task/pull/207)).
|
||||||
|
|
||||||
|
## v2.8.1 - 2020-05-20
|
||||||
|
|
||||||
|
- Fix error code for the `--help` flag
|
||||||
|
([#300](https://github.com/go-task/task/issues/300), [#330](https://github.com/go-task/task/pull/330)).
|
||||||
|
- Print version to stdout instead of stderr
|
||||||
|
([#299](https://github.com/go-task/task/issues/299), [#329](https://github.com/go-task/task/pull/329)).
|
||||||
|
- Supress `context` errors when using the `--watch` flag
|
||||||
|
([#313](https://github.com/go-task/task/issues/313), [#317](https://github.com/go-task/task/pull/317)).
|
||||||
|
- Support templating on description
|
||||||
|
([#276](https://github.com/go-task/task/issues/276), [#283](https://github.com/go-task/task/pull/283)).
|
||||||
|
|
||||||
|
## v2.8.0 - 2019-12-07
|
||||||
|
|
||||||
|
- Add `--parallel` flag (alias `-p`) to run tasks given by the command line in
|
||||||
|
parallel
|
||||||
|
([#266](https://github.com/go-task/task/pull/266)).
|
||||||
|
- Fixed bug where calling the `task` CLI only informing global vars would not
|
||||||
|
execute the `default` task.
|
||||||
|
- Add hability to silent all tasks by adding `silent: true` a the root of the
|
||||||
|
Taskfile.
|
||||||
|
|
||||||
|
## v2.7.1 - 2019-11-10
|
||||||
|
|
||||||
|
- Fix error being raised when `exit 0` was called
|
||||||
|
([#251](https://github.com/go-task/task/issues/251)).
|
||||||
|
|
||||||
|
## v2.7.0 - 2019-09-22
|
||||||
|
|
||||||
|
- Fixed panic bug when assigning a global variable
|
||||||
|
([#229](https://github.com/go-task/task/issues/229), [#243](https://github.com/go-task/task/issues/234)).
|
||||||
|
- A task with `method: checksum` will now re-run if generated files are deleted
|
||||||
|
([#228](https://github.com/go-task/task/pull/228), [#238](https://github.com/go-task/task/issues/238)).
|
||||||
|
|
||||||
|
## v2.6.0 - 2019-07-21
|
||||||
|
|
||||||
|
- Fixed some bugs regarding minor version checks on `version:`.
|
||||||
|
- Add `preconditions:` to task
|
||||||
|
([#205](https://github.com/go-task/task/pull/205)).
|
||||||
|
- Create directory informed on `dir:` if it doesn't exist
|
||||||
|
([#209](https://github.com/go-task/task/issues/209), [#211](https://github.com/go-task/task/pull/211)).
|
||||||
|
- We now have a `--taskfile` flag (alias `-t`), which can be used to run
|
||||||
|
another Taskfile (other than the default `Taskfile.yml`)
|
||||||
|
([#221](https://github.com/go-task/task/pull/221)).
|
||||||
|
- It's now possible to install Task using Homebrew on Linux
|
||||||
|
([go-task/homebrew-tap#1](https://github.com/go-task/homebrew-tap/pull/1)).
|
||||||
|
|
||||||
|
## v2.5.2 - 2019-05-11
|
||||||
|
|
||||||
|
- Reverted YAML upgrade due issues with CRLF on Windows
|
||||||
|
([#201](https://github.com/go-task/task/issues/201), [go-yaml/yaml#450](https://github.com/go-yaml/yaml/issues/450)).
|
||||||
|
- Allow setting global variables through the CLI
|
||||||
|
([#192](https://github.com/go-task/task/issues/192)).
|
||||||
|
|
||||||
|
## 2.5.1 - 2019-04-27
|
||||||
|
|
||||||
|
- Fixed some issues with interactive command line tools, where sometimes
|
||||||
|
the output were not being shown, and similar issues
|
||||||
|
([#114](https://github.com/go-task/task/issues/114), [#190](https://github.com/go-task/task/issues/190), [#200](https://github.com/go-task/task/pull/200)).
|
||||||
|
- Upgraded [go-yaml/yaml](https://github.com/go-yaml/yaml) from v2 to v3.
|
||||||
|
|
||||||
|
## v2.5.0 - 2019-03-16
|
||||||
|
|
||||||
|
- We moved from the taskfile.org domain to the new fancy taskfile.dev domain.
|
||||||
|
While stuff is being redirected, we strongly recommend to everyone that use
|
||||||
|
[this install script](https://taskfile.dev/#/installation?id=install-script)
|
||||||
|
to use the new taskfile.dev domain on scripts from now on.
|
||||||
|
- Fixed to the ZSH completion
|
||||||
|
([#182](https://github.com/go-task/task/pull/182)).
|
||||||
|
- Add [`--summary` flag along with `summary:` task attribute](https://taskfile.org/#/usage?id=display-summary-of-task)
|
||||||
|
([#180](https://github.com/go-task/task/pull/180)).
|
||||||
|
|
||||||
|
## v2.4.0 - 2019-02-21
|
||||||
|
|
||||||
|
- Allow calling a task of the root Taskfile from an included Taskfile
|
||||||
|
by prefixing it with `:`
|
||||||
|
([#161](https://github.com/go-task/task/issues/161), [#172](https://github.com/go-task/task/issues/172)),
|
||||||
|
- Add flag to override the `output` option
|
||||||
|
([#173](https://github.com/go-task/task/pull/173));
|
||||||
|
- Fix bug where Task was persisting the new checksum on the disk when the Dry
|
||||||
|
Mode is enabled
|
||||||
|
([#166](https://github.com/go-task/task/issues/166));
|
||||||
|
- Fix file timestamp issue when the file name has spaces
|
||||||
|
([#176](https://github.com/go-task/task/issues/176));
|
||||||
|
- Mitigating path expanding issues on Windows
|
||||||
|
([#170](https://github.com/go-task/task/pull/170)).
|
||||||
|
|
||||||
|
## v2.3.0 - 2019-01-02
|
||||||
|
|
||||||
|
- On Windows, Task can now be installed using [Scoop](https://scoop.sh/)
|
||||||
|
([#152](https://github.com/go-task/task/pull/152));
|
||||||
|
- Fixed issue with file/directory globing
|
||||||
|
([#153](https://github.com/go-task/task/issues/153));
|
||||||
|
- Added ability to globally set environment variables
|
||||||
|
(
|
||||||
|
[#138](https://github.com/go-task/task/pull/138),
|
||||||
|
[#159](https://github.com/go-task/task/pull/159)
|
||||||
|
).
|
||||||
|
|
||||||
|
## v2.2.1 - 2018-12-09
|
||||||
|
|
||||||
|
- This repository now uses Go Modules (#143). We'll still keep the `vendor` directory in sync for some time, though;
|
||||||
|
- Fixing a bug when the Taskfile has no tasks but includes another Taskfile (#150);
|
||||||
|
- Fix a bug when calling another task or a dependency in an included Taskfile (#151).
|
||||||
|
|
||||||
|
## v2.2.0 - 2018-10-25
|
||||||
|
|
||||||
|
- Added support for [including other Taskfiles](https://taskfile.org/#/usage?id=including-other-taskfiles) (#98)
|
||||||
|
- This should be considered experimental. For now, only including local files is supported, but support for including remote Taskfiles is being discussed. If you have any feedback, please comment on #98.
|
||||||
|
- Task now have a dedicated documentation site: https://taskfile.org
|
||||||
|
- Thanks to [Docsify](https://docsify.js.org/) for making this pretty easy. To check the source code, just take a look at the [docs](https://github.com/go-task/task/tree/master/docs) directory of this repository. Contributions to the documentation is really appreciated.
|
||||||
|
|
||||||
|
## v2.1.1 - 2018-09-17
|
||||||
|
|
||||||
|
- Fix suggestion to use `task --init` not being shown anymore (when a `Taskfile.yml` is not found)
|
||||||
|
- Fix error when using checksum method and no file exists for a source glob (#131)
|
||||||
|
- Fix signal handling when the `--watch` flag is given (#132)
|
||||||
|
|
||||||
|
## v2.1.0 - 2018-08-19
|
||||||
|
|
||||||
|
- Add a `ignore_error` option to task and command (#123)
|
||||||
|
- Add a dry run mode (`--dry` flag) (#126)
|
||||||
|
|
||||||
|
## v2.0.3 - 2018-06-24
|
||||||
|
|
||||||
|
- Expand environment variables on "dir", "sources" and "generates" (#116)
|
||||||
|
- Fix YAML merging syntax (#112)
|
||||||
|
- Add ZSH completion (#111)
|
||||||
|
- Implement new `output` option. Please check out the [documentation](https://github.com/go-task/task#output-syntax)
|
||||||
|
|
||||||
|
## v2.0.2 - 2018-05-01
|
||||||
|
|
||||||
|
- Fix merging of YAML anchors (#112)
|
||||||
|
|
||||||
|
## v2.0.1 - 2018-03-11
|
||||||
|
|
||||||
|
- Fixes panic on `task --list`
|
||||||
|
|
||||||
|
## v2.0.0 - 2018-03-08
|
||||||
|
|
||||||
|
Version 2.0.0 is here, with a new Taskfile format.
|
||||||
|
|
||||||
|
Please, make sure to read the [Taskfile versions](https://github.com/go-task/task/blob/master/TASKFILE_VERSIONS.md) document, since it describes in depth what changed for this version.
|
||||||
|
|
||||||
|
* New Taskfile version 2 (https://github.com/go-task/task/issues/77)
|
||||||
|
* Possibility to have global variables in the `Taskfile.yml` instead of `Taskvars.yml` (https://github.com/go-task/task/issues/66)
|
||||||
|
* Small improvements and fixes
|
||||||
|
|
||||||
|
## v1.4.4 - 2017-11-19
|
||||||
|
|
||||||
|
- Handle SIGINT and SIGTERM (#75);
|
||||||
|
- List: print message with there's no task with description;
|
||||||
|
- Expand home dir ("~" symbol) on paths (#74);
|
||||||
|
- Add Snap as an installation method;
|
||||||
|
- Move examples to its own repo;
|
||||||
|
- Watch: also walk on tasks called on on "cmds", and not only on "deps";
|
||||||
|
- Print logs to stderr instead of stdout (#68);
|
||||||
|
- Remove deprecated `set` keyword;
|
||||||
|
- Add checksum based status check, alternative to timestamp based.
|
||||||
|
|
||||||
|
## v1.4.3 - 2017-09-07
|
||||||
|
|
||||||
|
- Allow assigning variables to tasks at run time via CLI (#33)
|
||||||
|
- Added suport for multiline variables from sh (#64)
|
||||||
|
- Fixes env: remove square braces and evaluate shell (#62)
|
||||||
|
- Watch: change watch library and few fixes and improvements
|
||||||
|
- When use watching, cancel and restart long running process on file change (#59 and #60)
|
||||||
|
|
||||||
|
## v1.4.2 - 2017-07-30
|
||||||
|
|
||||||
|
- Flag to set directory of execution
|
||||||
|
- Always echo command if is verbose mode
|
||||||
|
- Add silent mode to disable echoing of commands
|
||||||
|
- Fixes and improvements of variables (#56)
|
||||||
|
|
||||||
|
## v1.4.1 - 2017-07-15
|
||||||
|
|
||||||
|
- Allow use of YAML for dynamic variables instead of $ prefix
|
||||||
|
- `VAR: {sh: echo Hello}` instead of `VAR: $echo Hello`
|
||||||
|
- Add `--list` (or `-l`) flag to print existing tasks
|
||||||
|
- OS specific Taskvars file (e.g. `Taskvars_windows.yml`, `Taskvars_linux.yml`, etc)
|
||||||
|
- Consider task up-to-date on equal timestamps (#49)
|
||||||
|
- Allow absolute path in generates section (#48)
|
||||||
|
- Bugfix: allow templating when calling deps (#42)
|
||||||
|
- Fix panic for invalid task in cyclic dep detection
|
||||||
|
- Better error output for dynamic variables in Taskvars.yml (#41)
|
||||||
|
- Allow template evaluation in parameters
|
||||||
|
|
||||||
|
## v1.4.0 - 2017-07-06
|
||||||
|
|
||||||
|
- Cache dynamic variables
|
||||||
|
- Add verbose mode (`-v` flag)
|
||||||
|
- Support to task parameters (overriding vars) (#31) (#32)
|
||||||
|
- Print command, also when "set:" is specified (#35)
|
||||||
|
- Improve task command help text (#35)
|
||||||
|
|
||||||
|
## v1.3.1 - 2017-06-14
|
||||||
|
|
||||||
|
- Fix glob not working on commands (#28)
|
||||||
|
- Add ExeExt template function
|
||||||
|
- Add `--init` flag to create a new Taskfile
|
||||||
|
- Add status option to prevent task from running (#27)
|
||||||
|
- Allow interpolation on `generates` and `sources` attributes (#26)
|
||||||
|
|
||||||
|
## v1.3.0 - 2017-04-24
|
||||||
|
|
||||||
|
- Migrate from os/exec.Cmd to a native Go sh/bash interpreter
|
||||||
|
- This is a potentially breaking change if you use Windows.
|
||||||
|
- Now, `cmd` is not used anymore on Windows. Always use Bash-like syntax for your commands, even on Windows.
|
||||||
|
- Add "ToSlash" and "FromSlash" to template functions
|
||||||
|
- Use functions defined on github.com/Masterminds/sprig
|
||||||
|
- Do not redirect stdin while running variables commands
|
||||||
|
- Using `context` and `errgroup` packages (this will make other tasks to be cancelled, if one returned an error)
|
||||||
|
|
||||||
|
## v1.2.0 - 2017-04-02
|
||||||
|
|
||||||
|
- More tests and Travis integration
|
||||||
|
- Watch a task (experimental)
|
||||||
|
- Possibility to call another task
|
||||||
|
- Fix "=" not being reconized in variables/environment variables
|
||||||
|
- Tasks can now have a description, and help will print them (#10)
|
||||||
|
- Task dependencies now run concurrently
|
||||||
|
- Support for a default task (#16)
|
||||||
|
|
||||||
|
## v1.1.0 - 2017-03-08
|
||||||
|
|
||||||
|
- Support for YAML, TOML and JSON (#1)
|
||||||
|
- Support running command in another directory (#4)
|
||||||
|
- `--force` or `-f` flag to force execution of task even when it's up-to-date
|
||||||
|
- Detection of cyclic dependencies (#5)
|
||||||
|
- Support for variables (#6, #9, #14)
|
||||||
|
- Operation System specific commands and variables (#13)
|
||||||
|
|
||||||
|
## v1.0.0 - 2017-02-28
|
||||||
|
|
||||||
|
- Add LICENSE file
|
@ -1,3 +1,8 @@
|
|||||||
|
---
|
||||||
|
slug: /community/
|
||||||
|
sidebar_position: 5
|
||||||
|
---
|
||||||
|
|
||||||
# Community
|
# Community
|
||||||
|
|
||||||
Some of the work to improve the Task ecosystem is done by the community, be
|
Some of the work to improve the Task ecosystem is done by the community, be
|
@ -1,3 +1,8 @@
|
|||||||
|
---
|
||||||
|
slug: /donate/
|
||||||
|
sidebar_position: 8
|
||||||
|
---
|
||||||
|
|
||||||
# Donate
|
# Donate
|
||||||
|
|
||||||
If you find this project useful, you can consider donating by using one of the
|
If you find this project useful, you can consider donating by using one of the
|
||||||
@ -24,4 +29,4 @@ these options to donate:
|
|||||||
## PIX (Brazil only)
|
## PIX (Brazil only)
|
||||||
|
|
||||||
If you're Brazilian, you can donate any value by
|
If you're Brazilian, you can donate any value by
|
||||||
<a href="/pix.png" target="_blank">using this QR Code</a>.
|
[using this QR Code](/img/pix.png).
|
@ -1,12 +1,15 @@
|
|||||||
|
---
|
||||||
|
slug: /installation/
|
||||||
|
sidebar_position: 2
|
||||||
|
---
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
|
||||||
Task offers many installation methods. Check out the available methods below.
|
Task offers many installation methods. Check out the available methods below.
|
||||||
|
|
||||||
## Package Managers
|
## Package Managers
|
||||||
|
|
||||||
<!-- tabs:start -->
|
### **Homebrew**
|
||||||
|
|
||||||
#### **Homebrew**
|
|
||||||
|
|
||||||
If you're on macOS or Linux and have [Homebrew][homebrew] installed, getting
|
If you're on macOS or Linux and have [Homebrew][homebrew] installed, getting
|
||||||
Task is as simple as running:
|
Task is as simple as running:
|
||||||
@ -15,7 +18,7 @@ Task is as simple as running:
|
|||||||
brew install go-task/tap/go-task
|
brew install go-task/tap/go-task
|
||||||
```
|
```
|
||||||
|
|
||||||
#### **Snap**
|
### **Snap**
|
||||||
|
|
||||||
Task is available in [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
|
Linux distribution should allow classic confinement for Snaps to Task work
|
||||||
@ -25,7 +28,7 @@ right:
|
|||||||
sudo snap install task --classic
|
sudo snap install task --classic
|
||||||
```
|
```
|
||||||
|
|
||||||
#### **Chocolatey**
|
### **Chocolatey**
|
||||||
|
|
||||||
If you're on Windows and have [Chocolatey][choco] installed, getting
|
If you're on Windows and have [Chocolatey][choco] installed, getting
|
||||||
Task is as simple as running:
|
Task is as simple as running:
|
||||||
@ -37,7 +40,7 @@ choco install go-task
|
|||||||
This installation method is community owned.
|
This installation method is community owned.
|
||||||
|
|
||||||
|
|
||||||
#### **Scoop**
|
### **Scoop**
|
||||||
|
|
||||||
If you're on Windows and have [Scoop][scoop] installed, use `extras` bucket
|
If you're on Windows and have [Scoop][scoop] installed, use `extras` bucket
|
||||||
to install Task like:
|
to install Task like:
|
||||||
@ -50,7 +53,7 @@ scoop install task
|
|||||||
This installation method is community owned. After a new release of Task, it
|
This installation method is community owned. After a new release of Task, it
|
||||||
may take some time until it's available on Scoop.
|
may take some time until it's available on Scoop.
|
||||||
|
|
||||||
#### **AUR**
|
### **AUR**
|
||||||
|
|
||||||
If you're on Arch Linux you can install Task from
|
If you're on Arch Linux you can install Task from
|
||||||
[AUR](https://aur.archlinux.org/packages/taskfile-git) using your favorite
|
[AUR](https://aur.archlinux.org/packages/taskfile-git) using your favorite
|
||||||
@ -64,7 +67,7 @@ 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.
|
the package, it's always latest available version based on the Git repository.
|
||||||
|
|
||||||
|
|
||||||
#### **Nix**
|
### **Nix**
|
||||||
|
|
||||||
If you're on NixOS or have Nix installed
|
If you're on NixOS or have Nix installed
|
||||||
you can install Task from [nixpkgs](https://github.com/NixOS/nixpkgs):
|
you can install Task from [nixpkgs](https://github.com/NixOS/nixpkgs):
|
||||||
@ -76,13 +79,9 @@ nix-env -iA nixpkgs.go-task
|
|||||||
This installation method is community owned. After a new release of Task, it
|
This installation method is community owned. After a new release of Task, it
|
||||||
may take some time until it's available in [nixpkgs](https://github.com/NixOS/nixpkgs).
|
may take some time until it's available in [nixpkgs](https://github.com/NixOS/nixpkgs).
|
||||||
|
|
||||||
<!-- tabs:end -->
|
|
||||||
|
|
||||||
## Get The Binary
|
## Get The Binary
|
||||||
|
|
||||||
<!-- tabs:start -->
|
### **Binary**
|
||||||
|
|
||||||
#### **Binary**
|
|
||||||
|
|
||||||
You can download the binary from the [releases page on GitHub][releases] and
|
You can download the binary from the [releases page on GitHub][releases] and
|
||||||
add to your `$PATH`.
|
add to your `$PATH`.
|
||||||
@ -91,7 +90,7 @@ DEB and RPM packages are also available.
|
|||||||
|
|
||||||
The `task_checksums.txt` file contains the SHA-256 checksum for each file.
|
The `task_checksums.txt` file contains the SHA-256 checksum for each file.
|
||||||
|
|
||||||
#### **Install Script**
|
### **Install Script**
|
||||||
|
|
||||||
We also have an [install script][installscript] which is very useful in
|
We also have an [install script][installscript] which is very useful in
|
||||||
scenarios like CI. Many thanks to [GoDownloader][godownloader] for enabling the
|
scenarios like CI. Many thanks to [GoDownloader][godownloader] for enabling the
|
||||||
@ -107,9 +106,13 @@ sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/b
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> This method will download the binary on the local `./bin` directory by default.
|
:::info
|
||||||
|
|
||||||
#### **GitHub Actions**
|
This method will download the binary on the local `./bin` directory by default.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
### **GitHub Actions**
|
||||||
|
|
||||||
If you want to install Task in GitHub Actions you can try using
|
If you want to install Task in GitHub Actions you can try using
|
||||||
[this action](https://github.com/arduino/setup-task)
|
[this action](https://github.com/arduino/setup-task)
|
||||||
@ -122,13 +125,9 @@ by the Arduino team:
|
|||||||
|
|
||||||
This installation method is community owned.
|
This installation method is community owned.
|
||||||
|
|
||||||
<!-- tabs:end -->
|
|
||||||
|
|
||||||
## Build From Source
|
## Build From Source
|
||||||
|
|
||||||
<!-- tabs:start -->
|
### **Go Modules**
|
||||||
|
|
||||||
#### **Go Modules**
|
|
||||||
|
|
||||||
First, make sure you have [Go][go] properly installed and setup.
|
First, make sure you have [Go][go] properly installed and setup.
|
||||||
|
|
||||||
@ -150,11 +149,13 @@ If using Go 1.15 or earlier, instead use:
|
|||||||
env GO111MODULE=on go get -u github.com/go-task/task/v3/cmd/task@latest
|
env GO111MODULE=on go get -u github.com/go-task/task/v3/cmd/task@latest
|
||||||
```
|
```
|
||||||
|
|
||||||
> For CI environments we recommend using the [Install Script](#get-the-binary)
|
:::tip
|
||||||
> instead, which is faster and more stable, since it'll just download the latest
|
|
||||||
> released binary.
|
|
||||||
|
|
||||||
<!-- tabs:end -->
|
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.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
[go]: https://golang.org/
|
[go]: https://golang.org/
|
||||||
[snapcraft]: https://snapcraft.io/task
|
[snapcraft]: https://snapcraft.io/task
|
@ -1,7 +1,13 @@
|
|||||||
|
---
|
||||||
|
slug: /
|
||||||
|
sidebar_position: 1
|
||||||
|
title: Home
|
||||||
|
---
|
||||||
|
|
||||||
# Task
|
# Task
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<img id="logo" src="/Logo.png" height="250px" width="250px" />
|
<img id="logo" src="img/logo.svg" height="250px" width="250px" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Task is a task runner / build tool that aims to be simpler and easier to use
|
Task is a task runner / build tool that aims to be simpler and easier to use
|
||||||
@ -14,7 +20,7 @@ setups just to use a build tool.
|
|||||||
Once [installed](installation.md), you just need to describe your build tasks
|
Once [installed](installation.md), you just need to describe your build tasks
|
||||||
using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:
|
using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:
|
||||||
|
|
||||||
```yaml
|
```yaml title="Taskfile.yml"
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
@ -26,7 +32,7 @@ tasks:
|
|||||||
|
|
||||||
And call it by running `task hello` from your terminal.
|
And call it by running `task hello` from your terminal.
|
||||||
|
|
||||||
The above example is just the start, you can take a look at the [usage](usage.md)
|
The above example is just the start, you can take a look at the [usage](/usage)
|
||||||
guide to check the full schema documentation and Task features.
|
guide to check the full schema documentation and Task features.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
@ -37,13 +43,13 @@ guide to check the full schema documentation and Task features.
|
|||||||
- Available on CIs: by adding [this simple command](installation.md#install-script)
|
- Available on CIs: by adding [this simple command](installation.md#install-script)
|
||||||
to install on your CI script and you're done to use Task as part of your CI pipeline;
|
to install on your CI script and you're done to use Task as part of your CI pipeline;
|
||||||
- Truly cross-platform: while most build tools only work well on Linux or macOS,
|
- Truly cross-platform: while most build tools only work well on Linux or macOS,
|
||||||
Task also supports Windows thanks to [this awesome shell interpreter for Go][sh];
|
Task also supports Windows thanks to [this shell interpreter for Go][sh];
|
||||||
- Great for code generation: you can easily [prevent a task from running](usage.md#prevent-unnecessary-work)
|
- Great for code generation: you can easily [prevent a task from running](/usage#prevent-unnecessary-work)
|
||||||
if a given set of files haven't changed since last run (based either on its
|
if a given set of files haven't changed since last run (based either on its
|
||||||
timestamp or content).
|
timestamp or content).
|
||||||
|
|
||||||
[make]: https://www.gnu.org/software/make/
|
[make]: https://www.gnu.org/software/make/
|
||||||
[go]: https://golang.org/
|
[go]: https://go.dev/
|
||||||
[yaml]: http://yaml.org/
|
[yaml]: http://yaml.org/
|
||||||
[homebrew]: https://brew.sh/
|
[homebrew]: https://brew.sh/
|
||||||
[snapcraft]: https://snapcraft.io/
|
[snapcraft]: https://snapcraft.io/
|
@ -1,4 +1,9 @@
|
|||||||
# Releasing Task
|
---
|
||||||
|
slug: /releasing/
|
||||||
|
sidebar_position: 6
|
||||||
|
---
|
||||||
|
|
||||||
|
# Releasing
|
||||||
|
|
||||||
The release process of Task is done with the help of
|
The release process of Task is done with the help of
|
||||||
[GoReleaser][goreleaser]. You can test the release process locally by calling
|
[GoReleaser][goreleaser]. You can test the release process locally by calling
|
||||||
@ -38,7 +43,7 @@ of updating versions there by editing
|
|||||||
[this file](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/tools/go-task/default.nix).
|
[this file](https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/tools/go-task/default.nix).
|
||||||
If you think its Task version is outdated, open an issue to let us know.
|
If you think its Task version is outdated, open an issue to let us know.
|
||||||
|
|
||||||
[goreleaser]: https://goreleaser.com/#continuous_integration
|
[goreleaser]: https://goreleaser.com/
|
||||||
[homebrewtap]: https://github.com/go-task/homebrew-tap
|
[homebrewtap]: https://github.com/go-task/homebrew-tap
|
||||||
[gotaskrb]: https://github.com/go-task/homebrew-tap/blob/master/Formula/go-task.rb
|
[gotaskrb]: https://github.com/go-task/homebrew-tap/blob/master/Formula/go-task.rb
|
||||||
[snappackage]: https://github.com/go-task/snap
|
[snappackage]: https://github.com/go-task/snap
|
@ -1,3 +1,8 @@
|
|||||||
|
---
|
||||||
|
slug: /styleguide/
|
||||||
|
sidebar_position: 4
|
||||||
|
---
|
||||||
|
|
||||||
# Styleguide
|
# Styleguide
|
||||||
|
|
||||||
This is the official Task styleguide for `Taskfile.yml` files. This guide
|
This is the official Task styleguide for `Taskfile.yml` files. This guide
|
@ -1,3 +1,8 @@
|
|||||||
|
---
|
||||||
|
slug: /taskfile-versions/
|
||||||
|
sidebar_position: 7
|
||||||
|
---
|
||||||
|
|
||||||
# Taskfile Versions
|
# Taskfile Versions
|
||||||
|
|
||||||
The Taskfile syntax and features changed with time. This document explains what
|
The Taskfile syntax and features changed with time. This document explains what
|
@ -1,3 +1,8 @@
|
|||||||
|
---
|
||||||
|
slug: /usage/
|
||||||
|
sidebar_position: 3
|
||||||
|
---
|
||||||
|
|
||||||
# Usage
|
# Usage
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
@ -26,7 +31,7 @@ Running the tasks is as simple as running:
|
|||||||
task assets build
|
task assets build
|
||||||
```
|
```
|
||||||
|
|
||||||
Task uses [github.com/mvdan/sh](https://github.com/mvdan/sh), a native Go sh
|
Task uses [mvdan.cc/sh](https://mvdan.cc/sh/), a native Go sh
|
||||||
interpreter. So you can write sh/bash commands and it will work even on
|
interpreter. So you can write sh/bash commands and it will work even on
|
||||||
Windows, where `sh` or `bash` are usually not available. Just remember any
|
Windows, where `sh` or `bash` are usually not available. Just remember any
|
||||||
executable called must be available by the OS or in PATH.
|
executable called must be available by the OS or in PATH.
|
||||||
@ -79,27 +84,27 @@ tasks:
|
|||||||
- echo $GREETING
|
- echo $GREETING
|
||||||
```
|
```
|
||||||
|
|
||||||
> NOTE: `env` supports expansion and retrieving output from a shell command
|
:::info
|
||||||
> just like variables, as you can see on the [Variables](#variables) section.
|
|
||||||
|
`env` supports expansion and retrieving output from a shell command
|
||||||
|
just like variables, as you can see on the [Variables](#variables) section.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
### .env files
|
### .env files
|
||||||
|
|
||||||
You can also ask Task to include `.env` like files by using the `dotenv:`
|
You can also ask Task to include `.env` like files by using the `dotenv:`
|
||||||
setting:
|
setting:
|
||||||
|
|
||||||
```
|
```bash title=".env"
|
||||||
# .env
|
|
||||||
KEYNAME=VALUE
|
KEYNAME=VALUE
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```bash title="testing/.env"
|
||||||
# testing/.env
|
|
||||||
ENDPOINT=testing.com
|
ENDPOINT=testing.com
|
||||||
```
|
```
|
||||||
|
|
||||||
```yaml
|
```yaml title="Taskfile.yml"
|
||||||
# Taskfile.yml
|
|
||||||
|
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
@ -161,8 +166,12 @@ includes:
|
|||||||
dir: ./docs
|
dir: ./docs
|
||||||
```
|
```
|
||||||
|
|
||||||
> The included Taskfiles must be using the same schema version the main
|
:::info
|
||||||
> Taskfile uses.
|
|
||||||
|
The included Taskfiles must be using the same schema version the main
|
||||||
|
Taskfile uses.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
### Optional includes
|
### Optional includes
|
||||||
|
|
||||||
@ -203,11 +212,15 @@ includes:
|
|||||||
DOCKER_IMAGE: frontend_image
|
DOCKER_IMAGE: frontend_image
|
||||||
```
|
```
|
||||||
|
|
||||||
> NOTE: Vars declared in the included Taskfile have preference over the
|
:::info
|
||||||
|
|
||||||
|
Vars declared in the included Taskfile have preference over the
|
||||||
included ones! If you want a variable in an included Taskfile to be overridable
|
included ones! If you want a variable in an included Taskfile to be overridable
|
||||||
use the [default function](https://go-task.github.io/slim-sprig/defaults.html):
|
use the [default function](https://go-task.github.io/slim-sprig/defaults.html):
|
||||||
`MY_VAR: '{{.MY_VAR | default "my-default-value"}}'`.
|
`MY_VAR: '{{.MY_VAR | default "my-default-value"}}'`.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## Task directory
|
## Task directory
|
||||||
|
|
||||||
By default, tasks will be executed in the directory where the Taskfile is
|
By default, tasks will be executed in the directory where the Taskfile is
|
||||||
@ -274,8 +287,12 @@ tasks:
|
|||||||
If there is more than one dependency, they always run in parallel for better
|
If there is more than one dependency, they always run in parallel for better
|
||||||
performance.
|
performance.
|
||||||
|
|
||||||
> You can also make the tasks given by the command line run in parallel by
|
:::tip
|
||||||
> using the `--parallel` flag (alias `-p`). Example: `task --parallel js css`.
|
|
||||||
|
You can also make the tasks given by the command line run in parallel by
|
||||||
|
using the `--parallel` flag (alias `-p`). Example: `task --parallel js css`.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
If you want to pass information to dependencies, you can do that the same
|
If you want to pass information to dependencies, you can do that the same
|
||||||
manner as you would to [call another task](#calling-another-task):
|
manner as you would to [call another task](#calling-another-task):
|
||||||
@ -344,9 +361,13 @@ tasks:
|
|||||||
|
|
||||||
The above syntax is also supported in `deps`.
|
The above syntax is also supported in `deps`.
|
||||||
|
|
||||||
> NOTE: If you want to call a task declared in the root Taskfile from within an
|
:::tip
|
||||||
> [included Taskfile](#including-other-taskfiles), add a leading `:` like this:
|
|
||||||
> `task: :task-name`.
|
NOTE: If you want to call a task declared in the root Taskfile from within an
|
||||||
|
[included Taskfile](#including-other-taskfiles), add a leading `:` like this:
|
||||||
|
`task: :task-name`.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## Prevent unnecessary work
|
## Prevent unnecessary work
|
||||||
|
|
||||||
@ -405,21 +426,33 @@ tasks:
|
|||||||
method: checksum
|
method: checksum
|
||||||
```
|
```
|
||||||
|
|
||||||
> NOTE: Each task has only one checksum stored for its `sources`. If you want
|
:::info
|
||||||
> to distinguish a task by any of its input variables, you can add those
|
|
||||||
> variables as part of the task's label and it will be considered a different
|
|
||||||
> task.
|
|
||||||
>
|
|
||||||
> This is useful if you want to run a task once for each distinct set of
|
|
||||||
> inputs until the sources actually change. For example if the sources depend
|
|
||||||
> on the value of a variable, or you want the task to rerun if some arguments
|
|
||||||
> change even if the source hasn't.
|
|
||||||
|
|
||||||
> TIP: method `none` skips any validation and always run the task.
|
Each task has only one checksum stored for its `sources`. If you want
|
||||||
|
to distinguish a task by any of its input variables, you can add those
|
||||||
|
variables as part of the task's label and it will be considered a different
|
||||||
|
task.
|
||||||
|
|
||||||
> NOTE: for the `checksum` (default) method to work, it's only necessary to
|
This is useful if you want to run a task once for each distinct set of
|
||||||
> inform the source files, but if you want to use the `timestamp` method, you
|
inputs until the sources actually change. For example if the sources depend
|
||||||
> also need to inform the generated files with `generates`.
|
on the value of a variable, or you want the task to rerun if some arguments
|
||||||
|
change even if the source hasn't.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
|
||||||
|
The method `none` skips any validation and always run the task.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
|
:::info
|
||||||
|
|
||||||
|
For the `checksum` (default) method to work, it's only necessary to
|
||||||
|
inform the source files, but if you want to use the `timestamp` method, you
|
||||||
|
also need to inform the generated files with `generates`.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
### Using programmatic checks to indicate a task is up to date.
|
### Using programmatic checks to indicate a task is up to date.
|
||||||
|
|
||||||
@ -577,7 +610,11 @@ Example of sending parameters with environment variables:
|
|||||||
$ TASK_VARIABLE=a-value task do-something
|
$ TASK_VARIABLE=a-value task do-something
|
||||||
```
|
```
|
||||||
|
|
||||||
> TIP: A special variable `.TASK` is always available containing the task name.
|
:::tip
|
||||||
|
|
||||||
|
A special variable `.TASK` is always available containing the task name.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
Since some shells don't support above syntax to set environment variables
|
Since some shells don't support above syntax to set environment variables
|
||||||
(Windows) tasks also accepts a similar style when not in the beginning of
|
(Windows) tasks also accepts a similar style when not in the beginning of
|
||||||
@ -690,10 +727,14 @@ tasks:
|
|||||||
cleanup: rm -rf tmpdir/
|
cleanup: rm -rf tmpdir/
|
||||||
```
|
```
|
||||||
|
|
||||||
> NOTE: Due to the nature of how the
|
:::info
|
||||||
|
|
||||||
|
Due to the nature of how the
|
||||||
[Go's own `defer` work](https://go.dev/tour/flowcontrol/13), the deferred
|
[Go's own `defer` work](https://go.dev/tour/flowcontrol/13), the deferred
|
||||||
commands are executed in the reverse order if you schedule multiple of them.
|
commands are executed in the reverse order if you schedule multiple of them.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## Go's template engine
|
## Go's template engine
|
||||||
|
|
||||||
Task parse commands as [Go's template engine][gotemplate] before executing
|
Task parse commands as [Go's template engine][gotemplate] before executing
|
||||||
@ -1002,9 +1043,9 @@ tasks:
|
|||||||
# ...
|
# ...
|
||||||
```
|
```
|
||||||
|
|
||||||
The `group` output will print the entire output of a command once, after it
|
The `group` output will print the entire output of a command once, after it
|
||||||
finishes, so you won't have live feedback for commands that take a long time
|
finishes, so you won't have live feedback for commands that take a long time
|
||||||
to run.
|
to run.
|
||||||
|
|
||||||
When using the `group` output, you can optionally provide a templated message
|
When using the `group` output, you can optionally provide a templated message
|
||||||
to print at the start and end of the group. This can be useful for instructing
|
to print at the start and end of the group. This can be useful for instructing
|
||||||
@ -1034,9 +1075,9 @@ Hello, World!
|
|||||||
::endgroup::
|
::endgroup::
|
||||||
```
|
```
|
||||||
|
|
||||||
The `prefix` output will prefix every line printed by a command with
|
The `prefix` output will prefix every line printed by a command with
|
||||||
`[task-name] ` as the prefix, but you can customize the prefix for a command
|
`[task-name] ` as the prefix, but you can customize the prefix for a command
|
||||||
with the `prefix:` attribute:
|
with the `prefix:` attribute:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
version: '3'
|
version: '3'
|
||||||
@ -1067,7 +1108,11 @@ $ task default
|
|||||||
[print-baz] baz
|
[print-baz] baz
|
||||||
```
|
```
|
||||||
|
|
||||||
> The `output` option can also be specified by the `--output` or `-o` flags.
|
:::tip
|
||||||
|
|
||||||
|
The `output` option can also be specified by the `--output` or `-o` flags.
|
||||||
|
|
||||||
|
:::
|
||||||
|
|
||||||
## Interactive CLI application
|
## Interactive CLI application
|
||||||
|
|
157
docs/docusaurus.config.js
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
// @ts-check
|
||||||
|
// Note: type annotations allow type checking and IDEs autocompletion
|
||||||
|
|
||||||
|
const lightCodeTheme = require('prism-react-renderer/themes/github');
|
||||||
|
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
|
||||||
|
|
||||||
|
const GITHUB_URL = 'https://github.com/go-task/task';
|
||||||
|
const DISCORD_URL = 'https://discord.gg/6TY36E39UK';
|
||||||
|
|
||||||
|
/** @type {import('@docusaurus/types').Config} */
|
||||||
|
const config = {
|
||||||
|
title: 'Task',
|
||||||
|
tagline: 'A task runner / simpler Make alternative written in Go ',
|
||||||
|
url: 'https://taskfile.dev',
|
||||||
|
baseUrl: '/',
|
||||||
|
onBrokenLinks: 'throw',
|
||||||
|
onBrokenMarkdownLinks: 'throw',
|
||||||
|
favicon: 'img/favicon.ico',
|
||||||
|
|
||||||
|
organizationName: 'go-task',
|
||||||
|
projectName: 'task',
|
||||||
|
deploymentBranch: 'gh-pages',
|
||||||
|
|
||||||
|
i18n: {
|
||||||
|
defaultLocale: 'en',
|
||||||
|
locales: ['en']
|
||||||
|
},
|
||||||
|
|
||||||
|
presets: [
|
||||||
|
[
|
||||||
|
'classic',
|
||||||
|
/** @type {import('@docusaurus/preset-classic').Options} */
|
||||||
|
({
|
||||||
|
docs: {
|
||||||
|
routeBasePath: '/',
|
||||||
|
sidebarPath: require.resolve('./sidebars.js')
|
||||||
|
},
|
||||||
|
blog: false,
|
||||||
|
theme: {
|
||||||
|
customCss: [
|
||||||
|
require.resolve('./src/css/custom.css'),
|
||||||
|
require.resolve('./src/css/carbon.css')
|
||||||
|
]
|
||||||
|
},
|
||||||
|
gtag: {
|
||||||
|
trackingID: 'G-4RT25NXQ7N',
|
||||||
|
anonymizeIP: true
|
||||||
|
},
|
||||||
|
sitemap: {
|
||||||
|
changefreq: 'weekly',
|
||||||
|
priority: 0.5,
|
||||||
|
ignorePatterns: ['/tags/**']
|
||||||
|
}
|
||||||
|
})
|
||||||
|
]
|
||||||
|
],
|
||||||
|
|
||||||
|
themeConfig:
|
||||||
|
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
|
||||||
|
({
|
||||||
|
metadata: [
|
||||||
|
{
|
||||||
|
name: 'og:image',
|
||||||
|
content: 'https://preview-taskfile.netlify.app/img/logo.svg'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
navbar: {
|
||||||
|
title: 'Task',
|
||||||
|
logo: {
|
||||||
|
alt: 'Task Logo',
|
||||||
|
src: 'img/logo.svg'
|
||||||
|
},
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
type: 'doc',
|
||||||
|
docId: 'installation',
|
||||||
|
position: 'left',
|
||||||
|
label: 'Installation'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'doc',
|
||||||
|
docId: 'usage',
|
||||||
|
position: 'left',
|
||||||
|
label: 'Usage'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'doc',
|
||||||
|
docId: 'donate',
|
||||||
|
position: 'left',
|
||||||
|
label: 'Donate'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: GITHUB_URL,
|
||||||
|
label: 'GitHub',
|
||||||
|
position: 'right'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
href: DISCORD_URL,
|
||||||
|
label: 'Discord',
|
||||||
|
position: 'right'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
style: 'dark',
|
||||||
|
links: [
|
||||||
|
{
|
||||||
|
title: 'Docs',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'Installation',
|
||||||
|
to: '/installation/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Usage',
|
||||||
|
to: '/usage/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Donate',
|
||||||
|
to: '/donate/'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Community',
|
||||||
|
items: [
|
||||||
|
{
|
||||||
|
label: 'GitHub',
|
||||||
|
href: GITHUB_URL
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Discord',
|
||||||
|
href: DISCORD_URL
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'OpenCollective',
|
||||||
|
href: 'https://opencollective.com/task'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
prism: {
|
||||||
|
theme: lightCodeTheme,
|
||||||
|
darkTheme: darkCodeTheme
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
|
||||||
|
scripts: [
|
||||||
|
{
|
||||||
|
src: '/js/carbon.js',
|
||||||
|
async: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = config;
|
BIN
docs/favicon.ico
Before Width: | Height: | Size: 170 KiB |
@ -1,5 +0,0 @@
|
|||||||
<svg role="img" viewBox="0 0 24 24"
|
|
||||||
xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<title>GitHub</title>
|
|
||||||
<path fill="#181717" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 847 B |
@ -1,81 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>Task</title>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
|
||||||
<meta name="description" content="A task runner / simpler Make alternative written in Go">
|
|
||||||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple.css">
|
|
||||||
<meta name="google-site-verification" content="VGAYkbdmuaciIDGkBe-eAg9yfZg0C6ostgonbGxxOa0" />
|
|
||||||
<style>
|
|
||||||
#logo {
|
|
||||||
transition: all 0.7s ease;
|
|
||||||
}
|
|
||||||
#logo:hover {
|
|
||||||
-webkit-transform: rotateZ(360deg);
|
|
||||||
-ms-transform: rotateZ(360deg);
|
|
||||||
transform: rotateZ(360deg);
|
|
||||||
}
|
|
||||||
.app-name-link img {
|
|
||||||
width: 125px;
|
|
||||||
}
|
|
||||||
:root {
|
|
||||||
--base-font-size: 14px;
|
|
||||||
--theme-color: #29beb0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#carbonads {
|
|
||||||
margin-bottom: 15px;
|
|
||||||
margin-left: -25px;
|
|
||||||
margin-right: -25px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#carbonads .carbon-wrap {
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
#carbonads .carbon-text {
|
|
||||||
white-space: inherit;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-4RT25NXQ7N"></script>
|
|
||||||
<script>
|
|
||||||
window.dataLayer = window.dataLayer || [];
|
|
||||||
function gtag(){dataLayer.push(arguments);}
|
|
||||||
gtag('js', new Date());
|
|
||||||
|
|
||||||
gtag('config', 'G-4RT25NXQ7N');
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify-plugin-carbon@1/index.min.js"></script>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
window.$docsify = {
|
|
||||||
name: 'Task',
|
|
||||||
repo: 'go-task/task',
|
|
||||||
logo: 'Logo.png',
|
|
||||||
themeColor: '#29beb0',
|
|
||||||
loadSidebar: true,
|
|
||||||
auto2top: true,
|
|
||||||
maxLevel: 3,
|
|
||||||
subMaxLevel: 3,
|
|
||||||
plugins: [
|
|
||||||
DocsifyCarbon.create('CESI65QJ', 'taskfiledev')
|
|
||||||
]
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify-themeable/dist/js/docsify-themeable.min.js"></script>
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify-tabs"></script>
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-bash.min.js"></script>
|
|
||||||
<script src="//cdn.jsdelivr.net/npm/prismjs/components/prism-yaml.min.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
383
docs/install.sh
@ -1,383 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
# Code generated by godownloader on 2021-01-12T13:40:40Z. DO NOT EDIT.
|
|
||||||
#
|
|
||||||
|
|
||||||
usage() {
|
|
||||||
this=$1
|
|
||||||
cat <<EOF
|
|
||||||
$this: download go binaries for go-task/task
|
|
||||||
|
|
||||||
Usage: $this [-b] bindir [-d] [tag]
|
|
||||||
-b sets bindir or installation directory, Defaults to ./bin
|
|
||||||
-d turns on debug logging
|
|
||||||
[tag] is a tag from
|
|
||||||
https://github.com/go-task/task/releases
|
|
||||||
If tag is missing, then the latest will be used.
|
|
||||||
|
|
||||||
Generated by godownloader
|
|
||||||
https://github.com/goreleaser/godownloader
|
|
||||||
|
|
||||||
EOF
|
|
||||||
exit 2
|
|
||||||
}
|
|
||||||
|
|
||||||
parse_args() {
|
|
||||||
#BINDIR is ./bin unless set be ENV
|
|
||||||
# over-ridden by flag below
|
|
||||||
|
|
||||||
BINDIR=${BINDIR:-./bin}
|
|
||||||
while getopts "b:dh?x" arg; do
|
|
||||||
case "$arg" in
|
|
||||||
b) BINDIR="$OPTARG" ;;
|
|
||||||
d) log_set_priority 10 ;;
|
|
||||||
h | \?) usage "$0" ;;
|
|
||||||
x) set -x ;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
shift $((OPTIND - 1))
|
|
||||||
TAG=$1
|
|
||||||
}
|
|
||||||
# this function wraps all the destructive operations
|
|
||||||
# if a curl|bash cuts off the end of the script due to
|
|
||||||
# network, either nothing will happen or will syntax error
|
|
||||||
# out preventing half-done work
|
|
||||||
execute() {
|
|
||||||
tmpdir=$(mktemp -d)
|
|
||||||
log_debug "downloading files into ${tmpdir}"
|
|
||||||
http_download "${tmpdir}/${TARBALL}" "${TARBALL_URL}"
|
|
||||||
http_download "${tmpdir}/${CHECKSUM}" "${CHECKSUM_URL}"
|
|
||||||
hash_sha256_verify "${tmpdir}/${TARBALL}" "${tmpdir}/${CHECKSUM}"
|
|
||||||
srcdir="${tmpdir}"
|
|
||||||
(cd "${tmpdir}" && untar "${TARBALL}")
|
|
||||||
test ! -d "${BINDIR}" && install -d "${BINDIR}"
|
|
||||||
for binexe in $BINARIES; do
|
|
||||||
if [ "$OS" = "windows" ]; then
|
|
||||||
binexe="${binexe}.exe"
|
|
||||||
fi
|
|
||||||
install "${srcdir}/${binexe}" "${BINDIR}/"
|
|
||||||
log_info "installed ${BINDIR}/${binexe}"
|
|
||||||
done
|
|
||||||
rm -rf "${tmpdir}"
|
|
||||||
}
|
|
||||||
get_binaries() {
|
|
||||||
case "$PLATFORM" in
|
|
||||||
darwin/amd64) BINARIES="task" ;;
|
|
||||||
darwin/arm64) BINARIES="task" ;;
|
|
||||||
darwin/armv6) BINARIES="task" ;;
|
|
||||||
linux/386) BINARIES="task" ;;
|
|
||||||
linux/amd64) BINARIES="task" ;;
|
|
||||||
linux/arm64) BINARIES="task" ;;
|
|
||||||
linux/armv6) BINARIES="task" ;;
|
|
||||||
windows/386) BINARIES="task" ;;
|
|
||||||
windows/amd64) BINARIES="task" ;;
|
|
||||||
windows/arm64) BINARIES="task" ;;
|
|
||||||
windows/armv6) BINARIES="task" ;;
|
|
||||||
*)
|
|
||||||
log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
tag_to_version() {
|
|
||||||
if [ -z "${TAG}" ]; then
|
|
||||||
log_info "checking GitHub for latest tag"
|
|
||||||
else
|
|
||||||
log_info "checking GitHub for tag '${TAG}'"
|
|
||||||
fi
|
|
||||||
REALTAG=$(github_release "$OWNER/$REPO" "${TAG}") && true
|
|
||||||
if test -z "$REALTAG"; then
|
|
||||||
log_crit "unable to find '${TAG}' - use 'latest' or see https://github.com/${PREFIX}/releases for details"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
# if version starts with 'v', remove it
|
|
||||||
TAG="$REALTAG"
|
|
||||||
VERSION=${TAG#v}
|
|
||||||
}
|
|
||||||
adjust_format() {
|
|
||||||
# change format (tar.gz or zip) based on OS
|
|
||||||
case ${OS} in
|
|
||||||
windows) FORMAT=zip ;;
|
|
||||||
esac
|
|
||||||
true
|
|
||||||
}
|
|
||||||
adjust_os() {
|
|
||||||
# adjust archive name based on OS
|
|
||||||
true
|
|
||||||
}
|
|
||||||
adjust_arch() {
|
|
||||||
# adjust archive name based on ARCH
|
|
||||||
true
|
|
||||||
}
|
|
||||||
|
|
||||||
cat /dev/null <<EOF
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
https://github.com/client9/shlib - portable posix shell functions
|
|
||||||
Public domain - http://unlicense.org
|
|
||||||
https://github.com/client9/shlib/blob/master/LICENSE.md
|
|
||||||
but credit (and pull requests) appreciated.
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
EOF
|
|
||||||
is_command() {
|
|
||||||
command -v "$1" >/dev/null
|
|
||||||
}
|
|
||||||
echoerr() {
|
|
||||||
echo "$@" 1>&2
|
|
||||||
}
|
|
||||||
log_prefix() {
|
|
||||||
echo "$0"
|
|
||||||
}
|
|
||||||
_logp=6
|
|
||||||
log_set_priority() {
|
|
||||||
_logp="$1"
|
|
||||||
}
|
|
||||||
log_priority() {
|
|
||||||
if test -z "$1"; then
|
|
||||||
echo "$_logp"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
[ "$1" -le "$_logp" ]
|
|
||||||
}
|
|
||||||
log_tag() {
|
|
||||||
case $1 in
|
|
||||||
0) echo "emerg" ;;
|
|
||||||
1) echo "alert" ;;
|
|
||||||
2) echo "crit" ;;
|
|
||||||
3) echo "err" ;;
|
|
||||||
4) echo "warning" ;;
|
|
||||||
5) echo "notice" ;;
|
|
||||||
6) echo "info" ;;
|
|
||||||
7) echo "debug" ;;
|
|
||||||
*) echo "$1" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
log_debug() {
|
|
||||||
log_priority 7 || return 0
|
|
||||||
echoerr "$(log_prefix)" "$(log_tag 7)" "$@"
|
|
||||||
}
|
|
||||||
log_info() {
|
|
||||||
log_priority 6 || return 0
|
|
||||||
echoerr "$(log_prefix)" "$(log_tag 6)" "$@"
|
|
||||||
}
|
|
||||||
log_err() {
|
|
||||||
log_priority 3 || return 0
|
|
||||||
echoerr "$(log_prefix)" "$(log_tag 3)" "$@"
|
|
||||||
}
|
|
||||||
log_crit() {
|
|
||||||
log_priority 2 || return 0
|
|
||||||
echoerr "$(log_prefix)" "$(log_tag 2)" "$@"
|
|
||||||
}
|
|
||||||
uname_os() {
|
|
||||||
os=$(uname -s | tr '[:upper:]' '[:lower:]')
|
|
||||||
case "$os" in
|
|
||||||
cygwin_nt*) os="windows" ;;
|
|
||||||
mingw*) os="windows" ;;
|
|
||||||
msys_nt*) os="windows" ;;
|
|
||||||
esac
|
|
||||||
echo "$os"
|
|
||||||
}
|
|
||||||
uname_arch() {
|
|
||||||
arch=$(uname -m)
|
|
||||||
case $arch in
|
|
||||||
x86_64) arch="amd64" ;;
|
|
||||||
x86) arch="386" ;;
|
|
||||||
i686) arch="386" ;;
|
|
||||||
i386) arch="386" ;;
|
|
||||||
aarch64) arch="arm64" ;;
|
|
||||||
armv5*) arch="armv5" ;;
|
|
||||||
armv6*) arch="armv6" ;;
|
|
||||||
armv7*) arch="armv7" ;;
|
|
||||||
esac
|
|
||||||
echo ${arch}
|
|
||||||
}
|
|
||||||
uname_os_check() {
|
|
||||||
os=$(uname_os)
|
|
||||||
case "$os" in
|
|
||||||
darwin) return 0 ;;
|
|
||||||
dragonfly) return 0 ;;
|
|
||||||
freebsd) return 0 ;;
|
|
||||||
linux) return 0 ;;
|
|
||||||
android) return 0 ;;
|
|
||||||
nacl) return 0 ;;
|
|
||||||
netbsd) return 0 ;;
|
|
||||||
openbsd) return 0 ;;
|
|
||||||
plan9) return 0 ;;
|
|
||||||
solaris) return 0 ;;
|
|
||||||
windows) return 0 ;;
|
|
||||||
esac
|
|
||||||
log_crit "uname_os_check '$(uname -s)' got converted to '$os' which is not a GOOS value. Please file bug at https://github.com/client9/shlib"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
uname_arch_check() {
|
|
||||||
arch=$(uname_arch)
|
|
||||||
case "$arch" in
|
|
||||||
386) return 0 ;;
|
|
||||||
amd64) return 0 ;;
|
|
||||||
arm64) return 0 ;;
|
|
||||||
armv5) return 0 ;;
|
|
||||||
armv6) return 0 ;;
|
|
||||||
armv7) return 0 ;;
|
|
||||||
ppc64) return 0 ;;
|
|
||||||
ppc64le) return 0 ;;
|
|
||||||
mips) return 0 ;;
|
|
||||||
mipsle) return 0 ;;
|
|
||||||
mips64) return 0 ;;
|
|
||||||
mips64le) return 0 ;;
|
|
||||||
s390x) return 0 ;;
|
|
||||||
amd64p32) return 0 ;;
|
|
||||||
esac
|
|
||||||
log_crit "uname_arch_check '$(uname -m)' got converted to '$arch' which is not a GOARCH value. Please file bug report at https://github.com/client9/shlib"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
untar() {
|
|
||||||
tarball=$1
|
|
||||||
case "${tarball}" in
|
|
||||||
*.tar.gz | *.tgz) tar --no-same-owner -xzf "${tarball}" ;;
|
|
||||||
*.tar) tar --no-same-owner -xf "${tarball}" ;;
|
|
||||||
*.zip) unzip "${tarball}" ;;
|
|
||||||
*)
|
|
||||||
log_err "untar unknown archive format for ${tarball}"
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
http_download_curl() {
|
|
||||||
local_file=$1
|
|
||||||
source_url=$2
|
|
||||||
header=$3
|
|
||||||
if [ -z "$header" ]; then
|
|
||||||
code=$(curl -w '%{http_code}' -sL -o "$local_file" "$source_url")
|
|
||||||
else
|
|
||||||
code=$(curl -w '%{http_code}' -sL -H "$header" -o "$local_file" "$source_url")
|
|
||||||
fi
|
|
||||||
if [ "$code" != "200" ]; then
|
|
||||||
log_debug "http_download_curl received HTTP status $code"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
http_download_wget() {
|
|
||||||
local_file=$1
|
|
||||||
source_url=$2
|
|
||||||
header=$3
|
|
||||||
if [ -z "$header" ]; then
|
|
||||||
wget -q -O "$local_file" "$source_url"
|
|
||||||
else
|
|
||||||
wget -q --header "$header" -O "$local_file" "$source_url"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
http_download() {
|
|
||||||
log_debug "http_download $2"
|
|
||||||
if is_command curl; then
|
|
||||||
http_download_curl "$@"
|
|
||||||
return
|
|
||||||
elif is_command wget; then
|
|
||||||
http_download_wget "$@"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
log_crit "http_download unable to find wget or curl"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
http_copy() {
|
|
||||||
tmp=$(mktemp)
|
|
||||||
http_download "${tmp}" "$1" "$2" || return 1
|
|
||||||
body=$(cat "$tmp")
|
|
||||||
rm -f "${tmp}"
|
|
||||||
echo "$body"
|
|
||||||
}
|
|
||||||
github_release() {
|
|
||||||
owner_repo=$1
|
|
||||||
version=$2
|
|
||||||
test -z "$version" && version="latest"
|
|
||||||
giturl="https://github.com/${owner_repo}/releases/${version}"
|
|
||||||
json=$(http_copy "$giturl" "Accept:application/json")
|
|
||||||
test -z "$json" && return 1
|
|
||||||
version=$(echo "$json" | tr -s '\n' ' ' | sed 's/.*"tag_name":"//' | sed 's/".*//')
|
|
||||||
test -z "$version" && return 1
|
|
||||||
echo "$version"
|
|
||||||
}
|
|
||||||
hash_sha256() {
|
|
||||||
TARGET=${1:-/dev/stdin}
|
|
||||||
if is_command gsha256sum; then
|
|
||||||
hash=$(gsha256sum "$TARGET") || return 1
|
|
||||||
echo "$hash" | cut -d ' ' -f 1
|
|
||||||
elif is_command sha256sum; then
|
|
||||||
hash=$(sha256sum "$TARGET") || return 1
|
|
||||||
echo "$hash" | cut -d ' ' -f 1
|
|
||||||
elif is_command shasum; then
|
|
||||||
hash=$(shasum -a 256 "$TARGET" 2>/dev/null) || return 1
|
|
||||||
echo "$hash" | cut -d ' ' -f 1
|
|
||||||
elif is_command openssl; then
|
|
||||||
hash=$(openssl -dst openssl dgst -sha256 "$TARGET") || return 1
|
|
||||||
echo "$hash" | cut -d ' ' -f a
|
|
||||||
else
|
|
||||||
log_crit "hash_sha256 unable to find command to compute sha-256 hash"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
hash_sha256_verify() {
|
|
||||||
TARGET=$1
|
|
||||||
checksums=$2
|
|
||||||
if [ -z "$checksums" ]; then
|
|
||||||
log_err "hash_sha256_verify checksum file not specified in arg2"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
BASENAME=${TARGET##*/}
|
|
||||||
want=$(grep "${BASENAME}" "${checksums}" 2>/dev/null | tr '\t' ' ' | cut -d ' ' -f 1)
|
|
||||||
if [ -z "$want" ]; then
|
|
||||||
log_err "hash_sha256_verify unable to find checksum for '${TARGET}' in '${checksums}'"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
got=$(hash_sha256 "$TARGET")
|
|
||||||
if [ "$want" != "$got" ]; then
|
|
||||||
log_err "hash_sha256_verify checksum for '$TARGET' did not verify ${want} vs $got"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
cat /dev/null <<EOF
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
End of functions from https://github.com/client9/shlib
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
EOF
|
|
||||||
|
|
||||||
PROJECT_NAME="task"
|
|
||||||
OWNER=go-task
|
|
||||||
REPO="task"
|
|
||||||
BINARY=task
|
|
||||||
FORMAT=tar.gz
|
|
||||||
OS=$(uname_os)
|
|
||||||
ARCH=$(uname_arch)
|
|
||||||
PREFIX="$OWNER/$REPO"
|
|
||||||
|
|
||||||
# use in logging routines
|
|
||||||
log_prefix() {
|
|
||||||
echo "$PREFIX"
|
|
||||||
}
|
|
||||||
PLATFORM="${OS}/${ARCH}"
|
|
||||||
GITHUB_DOWNLOAD=https://github.com/${OWNER}/${REPO}/releases/download
|
|
||||||
|
|
||||||
uname_os_check "$OS"
|
|
||||||
uname_arch_check "$ARCH"
|
|
||||||
|
|
||||||
parse_args "$@"
|
|
||||||
|
|
||||||
get_binaries
|
|
||||||
|
|
||||||
tag_to_version
|
|
||||||
|
|
||||||
adjust_format
|
|
||||||
|
|
||||||
adjust_os
|
|
||||||
|
|
||||||
adjust_arch
|
|
||||||
|
|
||||||
log_info "found version: ${VERSION} for ${TAG}/${OS}/${ARCH}"
|
|
||||||
|
|
||||||
NAME=${BINARY}_${OS}_${ARCH}
|
|
||||||
TARBALL=${NAME}.${FORMAT}
|
|
||||||
TARBALL_URL=${GITHUB_DOWNLOAD}/${TAG}/${TARBALL}
|
|
||||||
CHECKSUM=task_checksums.txt
|
|
||||||
CHECKSUM_URL=${GITHUB_DOWNLOAD}/${TAG}/${CHECKSUM}
|
|
||||||
|
|
||||||
|
|
||||||
execute
|
|
41
docs/package.json
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"name": "taskfile-dev",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"docusaurus": "docusaurus",
|
||||||
|
"start": "docusaurus start",
|
||||||
|
"build": "docusaurus build",
|
||||||
|
"swizzle": "docusaurus swizzle",
|
||||||
|
"deploy": "docusaurus deploy",
|
||||||
|
"clear": "docusaurus clear",
|
||||||
|
"serve": "docusaurus serve",
|
||||||
|
"write-translations": "docusaurus write-translations",
|
||||||
|
"write-heading-ids": "docusaurus write-heading-ids"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@docusaurus/core": "2.0.0-beta.20",
|
||||||
|
"@docusaurus/preset-classic": "2.0.0-beta.20",
|
||||||
|
"@mdx-js/react": "^1.6.22",
|
||||||
|
"clsx": "^1.1.1",
|
||||||
|
"prism-react-renderer": "^1.3.1",
|
||||||
|
"raw-loader": "^4.0.2",
|
||||||
|
"react": "^17.0.2",
|
||||||
|
"react-dom": "^17.0.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@docusaurus/module-type-aliases": "2.0.0-beta.20"
|
||||||
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
">0.5%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 1 chrome version",
|
||||||
|
"last 1 firefox version",
|
||||||
|
"last 1 safari version"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
4
docs/prettier.config.js
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
module.exports = {
|
||||||
|
trailingComma: 'none',
|
||||||
|
singleQuote: true
|
||||||
|
};
|
14
docs/sidebars.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// @ts-check
|
||||||
|
|
||||||
|
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
|
||||||
|
const sidebars = {
|
||||||
|
tutorialSidebar: [
|
||||||
|
{ type: 'autogenerated', dirName: '.' },
|
||||||
|
{
|
||||||
|
type: 'html',
|
||||||
|
value: '<div id="sidebar-ads"></div>'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = sidebars;
|
0
docs/src/components/.keep
Normal file
65
docs/src/css/carbon.css
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#carbonads * {
|
||||||
|
margin: initial;
|
||||||
|
padding: initial;
|
||||||
|
}
|
||||||
|
#carbonads {
|
||||||
|
display: flex;
|
||||||
|
max-width: 330px;
|
||||||
|
background-color: hsl(0, 0%, 98%);
|
||||||
|
box-shadow: 0 1px 4px 1px hsla(0, 0%, 0%, 0.1);
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
#carbonads a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
#carbonads a:hover {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
#carbonads span {
|
||||||
|
position: relative;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
#carbonads .carbon-wrap {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
#carbonads .carbon-img {
|
||||||
|
display: block;
|
||||||
|
margin: 0;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
#carbonads .carbon-img img {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#carbonads .carbon-text {
|
||||||
|
font-size: 13px;
|
||||||
|
padding: 10px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
line-height: 1.5;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
#carbonads .carbon-poweredby {
|
||||||
|
display: block;
|
||||||
|
padding: 6px 8px;
|
||||||
|
background: #f1f1f2;
|
||||||
|
text-align: center;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 8px;
|
||||||
|
line-height: 1;
|
||||||
|
border-top-left-radius: 3px;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme='dark'] #carbonads {
|
||||||
|
background-color: hsl(0, 0%, 35%);
|
||||||
|
box-shadow: 0 1px 4px 1px hsl(0, 0%, 55%);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme='dark'] #carbonads .carbon-poweredby {
|
||||||
|
background-color: hsl(0, 0%, 55%);
|
||||||
|
}
|
31
docs/src/css/custom.css
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
:root {
|
||||||
|
--ifm-color-primary: #43ABA2 ;
|
||||||
|
--ifm-color-primary-dark: #3AB2A6;
|
||||||
|
--ifm-color-primary-darker: #32B8AB;
|
||||||
|
--ifm-color-primary-darkest: #29BEB0;
|
||||||
|
--ifm-color-primary-light: #4CA59D;
|
||||||
|
--ifm-color-primary-lighter: #559F98;
|
||||||
|
--ifm-color-primary-lightest: #5D9993;
|
||||||
|
--ifm-code-font-size: 95%;
|
||||||
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
[data-theme='dark'] {
|
||||||
|
--ifm-color-primary: #43ABA2 ;
|
||||||
|
--ifm-color-primary-dark: #3AB2A6;
|
||||||
|
--ifm-color-primary-darker: #32B8AB;
|
||||||
|
--ifm-color-primary-darkest: #29BEB0;
|
||||||
|
--ifm-color-primary-light: #4CA59D;
|
||||||
|
--ifm-color-primary-lighter: #559F98;
|
||||||
|
--ifm-color-primary-lightest: #5D9993;
|
||||||
|
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.code-block--max-width {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#carbonads {
|
||||||
|
margin-top: 30px;
|
||||||
|
margin-right: 10px;
|
||||||
|
}
|
0
docs/src/pages/.keep
Normal file
0
docs/static/.nojekyll
vendored
Normal file
1
docs/static/CNAME
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
taskfile.dev
|
BIN
docs/static/img/favicon.ico
vendored
Normal file
After Width: | Height: | Size: 5.2 KiB |
1
docs/static/img/logo.svg
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="500" zoomAndPan="magnify" viewBox="0 0 375 374.999991" height="500" preserveAspectRatio="xMidYMid meet" version="1.0"><path fill="#29beb0" d="M 187.570312 219.394531 L 187.570312 190.933594 L 30.070312 190.933594 L 30.070312 279.535156 L 187.570312 279.535156 L 187.570312 219.394531 M 30.070312 279.535156 L 187.570312 375 L 187.570312 279.535156 L 30.070312 279.535156 M 30.070312 95.464844 L 187.570312 95.464844 L 187.570312 190.933594 L 30.070312 190.933594 L 30.070312 95.464844 " fill-opacity="1" fill-rule="nonzero"/><path fill="#69d2c8" d="M 187.570312 190.933594 L 187.570312 279.535156 L 345.070312 279.535156 L 345.070312 190.933594 L 187.570312 190.933594 M 187.570312 95.464844 L 345.070312 95.464844 L 345.070312 190.933594 L 187.570312 190.933594 L 187.570312 95.464844 M 187.570312 375 L 345.070312 279.535156 L 187.570312 279.535156 L 187.570312 375 " fill-opacity="1" fill-rule="nonzero"/><path fill="#94dfd8" d="M 187.570312 190.933594 L 30.070312 95.464844 L 187.570312 0 L 345.070312 95.464844 L 187.570312 190.933594 " fill-opacity="1" fill-rule="nonzero"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
0
docs/pix.png → docs/static/img/pix.png
vendored
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
24
docs/static/js/carbon.js
vendored
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
(function () {
|
||||||
|
function attachAd() {
|
||||||
|
const el = document.createElement('script');
|
||||||
|
el.setAttribute('type', 'text/javascript');
|
||||||
|
el.setAttribute('id', '_carbonads_js');
|
||||||
|
el.setAttribute(
|
||||||
|
'src',
|
||||||
|
'//cdn.carbonads.com/carbon.js?serve=CESI65QJ&placement=taskfiledev'
|
||||||
|
);
|
||||||
|
el.setAttribute('async', 'async');
|
||||||
|
|
||||||
|
const wrapper = document.getElementById('sidebar-ads');
|
||||||
|
wrapper.innerHTML = '';
|
||||||
|
wrapper.appendChild(el);
|
||||||
|
}
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
attachAd();
|
||||||
|
|
||||||
|
window.addEventListener('popstate', function () {
|
||||||
|
attachAd();
|
||||||
|
});
|
||||||
|
}, 1000);
|
||||||
|
})();
|