2022-05-29 19:15:01 +02:00
|
|
|
---
|
|
|
|
slug: /
|
|
|
|
sidebar_position: 1
|
|
|
|
title: Home
|
2024-03-03 22:06:40 +02:00
|
|
|
hide_title: true
|
2022-05-29 19:15:01 +02:00
|
|
|
---
|
|
|
|
|
2020-12-27 23:55:55 +02:00
|
|
|
<div align="center">
|
2024-03-03 22:06:40 +02:00
|
|
|
<img id="logo" src="/img/logo.svg" height="250px" width="250px" />
|
2020-12-27 23:55:55 +02:00
|
|
|
</div>
|
2024-03-03 22:06:40 +02:00
|
|
|
<br />
|
2020-12-27 23:55:55 +02:00
|
|
|
|
2018-10-07 23:34:03 +02:00
|
|
|
Task is a task runner / build tool that aims to be simpler and easier to use
|
|
|
|
than, for example, [GNU Make][make].
|
2018-09-22 23:44:24 +02:00
|
|
|
|
2018-10-07 23:34:03 +02:00
|
|
|
Since it's written in [Go][go], Task is just a single binary and has no other
|
|
|
|
dependencies, which means you don't need to mess with any complicated install
|
|
|
|
setups just to use a build tool.
|
|
|
|
|
2023-12-21 03:59:29 +02:00
|
|
|
Once [installed](/installation), you just need to describe your build tasks
|
2018-10-07 23:34:03 +02:00
|
|
|
using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:
|
|
|
|
|
2022-05-29 19:15:01 +02:00
|
|
|
```yaml title="Taskfile.yml"
|
2020-08-17 03:01:49 +02:00
|
|
|
version: '3'
|
2018-10-07 23:34:03 +02:00
|
|
|
|
|
|
|
tasks:
|
|
|
|
hello:
|
|
|
|
cmds:
|
|
|
|
- echo 'Hello World from Task!'
|
|
|
|
silent: true
|
|
|
|
```
|
|
|
|
|
2022-04-01 07:14:38 +02:00
|
|
|
And call it by running `task hello` from your terminal.
|
2018-10-07 23:34:03 +02:00
|
|
|
|
2022-05-29 19:15:01 +02:00
|
|
|
The above example is just the start, you can take a look at the [usage](/usage)
|
2018-10-07 23:34:03 +02:00
|
|
|
guide to check the full schema documentation and Task features.
|
|
|
|
|
|
|
|
## Features
|
|
|
|
|
2023-12-21 03:59:29 +02:00
|
|
|
- [Easy installation](/installation): just download a single binary, add to
|
2022-07-04 15:50:03 +02:00
|
|
|
`$PATH` and you're done! Or you can also install using [Homebrew][homebrew],
|
|
|
|
[Snapcraft][snapcraft], or [Scoop][scoop] if you want.
|
2023-04-15 21:13:29 +02:00
|
|
|
- Available on CIs: by adding
|
2023-12-21 03:59:29 +02:00
|
|
|
[this simple command](/installation#install-script) to install on your CI
|
2023-04-15 21:13:29 +02:00
|
|
|
script and you're ready to use Task as part of your CI pipeline;
|
2018-10-07 23:34:03 +02:00
|
|
|
- Truly cross-platform: while most build tools only work well on Linux or macOS,
|
2022-07-04 15:50:03 +02:00
|
|
|
Task also supports Windows thanks to [this shell interpreter for Go][sh].
|
2023-04-15 21:13:29 +02:00
|
|
|
- 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 timestamp or
|
|
|
|
content).
|
2018-09-22 23:44:24 +02:00
|
|
|
|
2024-03-19 21:48:46 +02:00
|
|
|
{/* prettier-ignore-start */}
|
2018-09-22 23:44:24 +02:00
|
|
|
[make]: https://www.gnu.org/software/make/
|
2022-05-29 19:15:01 +02:00
|
|
|
[go]: https://go.dev/
|
2018-10-07 23:34:03 +02:00
|
|
|
[yaml]: http://yaml.org/
|
|
|
|
[homebrew]: https://brew.sh/
|
|
|
|
[snapcraft]: https://snapcraft.io/
|
2018-12-06 15:21:03 +02:00
|
|
|
[scoop]: https://scoop.sh/
|
2022-06-15 19:33:15 +02:00
|
|
|
[sh]: https://github.com/mvdan/sh
|
2024-03-19 21:48:46 +02:00
|
|
|
{/* prettier-ignore-end */}
|