Skip to content

Commit

Permalink
chore: sync translations
Browse files Browse the repository at this point in the history
  • Loading branch information
task-bot authored Dec 26, 2023
1 parent 685a6f3 commit 8e7b45d
Show file tree
Hide file tree
Showing 113 changed files with 3,466 additions and 2,010 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ None of this would have been possible without the [150 or so (and growing) contr

[![Star History Chart](https://api.star-history.com/svg?repos=go-task/task&type=Date)](https://star-history.com/#go-task/task&Date)

## What's next? :thinking_face:
## What's next? :thinking:

It's extremely motivating to see so many people using and loving Task. However, in this time we've also seen an increase in the number of issues and feature requests. In particular, issues that require some kind of breaking change to Task. This isn't a bad thing, but as we grow we need to be more responsible about how we address these changes in a way that ensures stability and compatibility for existing users and their Taskfiles.

Expand All @@ -46,7 +46,7 @@ At this point you're probably thinking something like:
And you'd be right... sort of. In theory, this sounds great, but the reality is that we don't have the time to commit to a major overhaul of Task in one big bang release. This would require a colossal amount of time and coordination and with full time jobs and personal lives to tend to, this is a difficult commitment to make. Smaller, more frequent major releases are also a significant inconvenience for users as they have to constantly keep up-to-date with our breaking changes. Fortunately, there is a better way.

## What's going to change? :face_with_monocle:
## What's going to change? :monocle:

Going forwards, breaking changes will be allowed into _minor_ versions of Task as "experimental features". To access these features users will need opt-in by enabling feature flags. This will allow us to release new features slowly and gather feedback from the community before making them the default behavior in a future major release.

Expand All @@ -62,7 +62,7 @@ When v4 is released, we will continue to support v3 for a period of time (bug fi

## v4 When? :eyes:

:shrug: When it's ready.
:man_shrugging: When it's ready.

In all seriousness, we don't have a timeline for this yet. We'll be working on the most serious deficiencies of the v3 API first and regularly evaluating the state of the project. When we feel its in a good, stable place and we have a clear upgrade path for users and a number of stable experiments, we'll start to think about v4.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ There are some special variables that is available on the templating system:
| Var | Description |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CLI_ARGS` | Contain all extra arguments passed after `--` when calling Task through the CLI. |
| `CLI_FORCE` | A boolean containing whether the `--force` or `--force-all` flags were set. |
| `TASK` | The name of the current task. |
| `ROOT_DIR` | The absolute path of the root Taskfile. |
| `TASKFILE_DIR` | The absolute path of the included Taskfile. |
Expand Down
519 changes: 274 additions & 245 deletions docs/i18n/es-ES/docusaurus-plugin-content-docs/current/changelog.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ Many of our integrations are contributed and maintained by the community. You ca

Some installation methods are maintained by third party:

- [GitHub Actions](https://github.com/arduino/setup-task) by [@arduino](https://github.com/arduino)
- [AUR](https://aur.archlinux.org/packages/go-task-bin) by [@carlsmedstad](https://github.com/carlsmedstad)
- [GitHub Actions](https://github.com/arduino/setup-task) by @arduino
- [AUR](https://aur.archlinux.org/packages/go-task-bin) by @carlsmedstad
- [Scoop](https://github.com/ScoopInstaller/Main/blob/master/bucket/task.json)
- [Fedora](https://packages.fedoraproject.org/pkgs/golang-github-task/go-task/)
- [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/go-task/default.nix)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@ To run Task for Visual Studio Code, you can open the project in VSCode and hit F

Task uses [Docusaurus][docusaurus] to host a documentation server. The code for this is located in the core Task repository. This can be setup and run locally by using `task docs` (requires `nodejs` & `yarn`). All content is written in Markdown and is located in the `docs/docs` directory. All Markdown documents should have an 80 character line wrap limit (enforced by Prettier).

When making a change, consider whether a change to the [Usage Guide](./usage.md) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](./styleguide.md).
When making a change, consider whether a change to the [Usage Guide](/usage) is necessary. This document contains descriptions and examples of how to use Task features. If you're adding a new feature, try to find an appropriate place to add a new section. If you're updating an existing feature, ensure that the documentation and any examples are up-to-date. Ensure that any examples follow the [Taskfile Styleguide](/styleguide).

If you added a new field, command or flag, ensure that you add it to the [API Reference](./api_reference.md). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match.
If you added a new field, command or flag, ensure that you add it to the [API Reference](/api). New fields also need to be added to the [JSON Schema][json-schema]. The descriptions for fields in the API reference and the schema should match.

### Writing tests

Expand Down Expand Up @@ -72,7 +72,7 @@ If you're not sure how to format your commit message, check out [Conventional Co
Take a look at the list of [open issues for Task][task-open-issues] or [Task for Visual Studio Code][vscode-task-open-issues]. We have a [good first issue][good-first-issue] label for simpler issues that are ideal for first time contributions.

All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](./community.md).
All kinds of contributions are welcome, whether its a typo fix or a shiny new feature. You can also contribute by upvoting/commenting on issues, helping to answer questions or contributing to other [community projects](/community).

> I'm stuck, where can I get help?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ sidebar_position: -1 #Always push to the top
draft: true #Hide in production
---

# {Name of Deprecated Feature}
# \{Name of Deprecated Feature\}

- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue})
- Issue: #\{issue\}
- Breaks:
- {list any existing functionality that will be broken by this experiment}
- \{list any existing functionality that will be broken by this experiment\}

{Short description of the feature/behavior and why it is being deprecated}
\{Short description of the feature/behavior and why it is being deprecated\}

{Short explanation of any replacement features/behaviors and how users should migrate to it}
\{Short explanation of any replacement features/behaviors and how users should migrate to it\}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ slug: /deprecations/version-2-schema/

# Version 2 Schema

- Issue: [#1197][deprecate-version-2-schema]
- Issue: #1197
- Breaks:
- Any Taskfiles that use the version 2 schema
- `Taskvar.yml` files
Expand All @@ -18,5 +18,4 @@ A list of changes between version 2 and version 3 are available in the [Task v3
<!-- prettier-ignore-start -->

<!-- prettier-ignore-end -->
[deprecate-version-2-schema]: https://github.com/go-task/task/issues/1197
[version-3-release-notes]: https://github.com/go-task/task/releases/tag/v3.0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,185 @@
---
slug: /experiments/any-variables/
---

# Any Variables

- Issue: #1415
- Environment variable: `TASK_X_ANY_VARIABLES=1`
- Breaks:
- Dynamically defined variables (using the `sh` keyword)

Currently, Task only supports string variables. This experiment allows you to
specify and use the following variable types:

- `string`
- `bool`
- `int`
- `float`
- `array`
- `map`

This allows you to have a lot more flexibility in how you use variables in
Task's templating engine. For example:

Evaluating booleans:

```yaml
version: 3

tasks:
foo:
vars:
BOOL: false
cmds:
- '{{if .BOOL}}echo foo{{end}}'
```
Arithmetic:
```yaml
version: 3

tasks:
foo:
vars:
INT: 10
FLOAT: 3.14159
cmds:
- 'echo {{add .INT .FLOAT}}'
```
Ranging:
```yaml
version: 3

tasks:
foo:
vars:
ARRAY: [1, 2, 3]
cmds:
- 'echo {{range .ARRAY}}{{.}}{{end}}'
```
There are many more templating functions which can be used with the new types of
variables. For a full list, see the [slim-sprig][slim-sprig] documentation.
## Looping over variables
Previously, you would have to use a delimiter separated string to loop over an
arbitrary list of items in a variable and split them by using the `split` subkey
to specify the delimiter:

```yaml
version: 3
tasks:
foo:
vars:
LIST: 'foo,bar,baz'
cmds:
- for:
var: LIST
split: ','
cmd: echo {{.ITEM}}
```

Because this experiment adds support for "collection-type" variables, the `for`
keyword has been updated to support looping over arrays directly:

```yaml
version: 3
tasks:
foo:
vars:
LIST: [foo, bar, baz]
cmds:
- for:
var: LIST
cmd: echo {{.ITEM}}
```

This also works for maps. When looping over a map we also make an additional
`{{.KEY}}` variable availabe that holds the string value of the map key.
Remember that maps are unordered, so the order in which the items are looped
over is random:

```yaml
version: 3
tasks:
foo:
vars:
MAP:
KEY_1:
SUBKEY: sub_value_1
KEY_2:
SUBKEY: sub_value_2
KEY_3:
SUBKEY: sub_value_3
cmds:
- for:
var: MAP
cmd: echo {{.KEY}} {{.ITEM.SUBKEY}}
```

String splitting is still supported and remember that for simple cases, you have
always been able to loop over an array without using variables at all:

```yaml
version: 3
tasks:
foo:
cmds:
- for: [foo, bar, baz]
cmd: echo {{.ITEM}}
```

## Migration

Taskfiles with dynamically defined variables via the `sh` subkey will no longer
work with this experiment enabled. In order to keep using dynamically defined
variables, you will need to migrate your Taskfile to use the new syntax.

Previously, you might have defined a dynamic variable like this:

```yaml
version: 3
task:
foo:
vars:
CALCULATED_VAR:
sh: 'echo hello'
cmds:
- 'echo {{.CALCULATED_VAR}}'
```

With this experiment enabled, you will need to remove the `sh` subkey and define
your command as a string that begins with a `$`. This will instruct Task to
interpret the string as a command instead of a literal value and the variable
will be populated with the output of the command. For example:

```yaml
version: 3
task:
foo:
vars:
CALCULATED_VAR: '$echo hello'
cmds:
- 'echo {{.CALCULATED_VAR}}'
```

If your current Taskfile contains a string variable that begins with a `$`, you
will now need to escape the `$` with a backslash (`\`) to stop Task from
executing it as a command.

<!-- prettier-ignore-start -->

[slim-sprig]: https://go-task.github.io/slim-sprig/

<!-- prettier-ignore-end -->
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ slug: /experiments/gentle-force/

# Gentle Force

- Issue: [#1200][gentle-force-experiment]
- Issue: #1200
- Environment variable: `TASK_X_FORCE=1`
- Breaks:
- `--force` flag
Expand All @@ -14,8 +14,3 @@ The `--force` flag currently forces _all_ tasks to run regardless of the status
This experiment changes the `--force` flag to only force the directly called task. All dependant tasks will have their statuses checked as normal and will only run if Task considers them to be out of date. A new `--force-all` flag will also be added to maintain the current behavior for users that need this functionality.

If you want to migrate, but continue to force all dependant tasks to run, you should replace all uses of the `--force` flag with `--force-all`. Alternatively, if you want to adopt the new behavior, you can continue to use the `--force` flag as you do now!

<!-- prettier-ignore-start -->

<!-- prettier-ignore-end -->
[gentle-force-experiment]: https://github.com/go-task/task/issues/1200
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ slug: /experiments/remote-taskfiles/

# Remote Taskfiles

- Issue: [#1317][remote-taskfiles-experiment]
- Issue: #1317
- Environment variable: `TASK_X_REMOTE_TASKFILES=1`

This experiment allows you to specify a remote Taskfile URL when including a Taskfile. For example:
Expand Down Expand Up @@ -53,5 +53,4 @@ By default, Task will timeout requests to download remote files after 10 seconds
<!-- prettier-ignore-start -->

<!-- prettier-ignore-end -->
[remote-taskfiles-experiment]: https://github.com/go-task/task/issues/1317
[man-in-the-middle-attacks]: https://en.wikipedia.org/wiki/Man-in-the-middle_attack
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ sidebar_position: -1 #Always push to the top
draft: true #Hide in production
---

# {Name of Experiment}
# \{Name of Experiment\}

- Issue: [#{issue}](https://github.com/go-task/task/issues/{issue})
- Issue: #\{issue\}
- Environment variable: `TASK_X_{feature}`
- Breaks:
- {list any existing functionality that will be broken by this experiment}
- \{list any existing functionality that will be broken by this experiment\}
- Deprecations:
- {link to any deprecation pages related to this experiment}
- \{link to any deprecation pages related to this experiment\}

{Short description of the feature}
\{Short description of the feature\}

{Short explanation of how users should migrate to the new behavior}
\{Short explanation of how users should migrate to the new behavior\}
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ The default shell on Windows (`cmd` and `powershell`) do not have commands like

We want to make improvements to this part of Task and the issues below track this work. Constructive comments and contributions are very welcome!

- [#197](https://github.com/go-task/task/issues/197)
- #197
- [mvdan/sh#93](https://github.com/mvdan/sh/issues/93)
- [mvdan/sh#97](https://github.com/mvdan/sh/issues/97)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ To get autocompletion and validation for your Taskfile, see the [Schema](#schema

## Schema

This was initially created by [@KROSF](https://github.com/KROSF) in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors:
This was initially created by @KROSF in [this Gist](https://gist.github.com/KROSF/c5435acf590acd632f71bb720f685895) and is now officially maintained in [this file](https://github.com/go-task/task/blob/main/docs/static/schema.json) and made available at https://taskfile.dev/schema.json. This schema can be used to validate Taskfiles and provide autocompletion in many code editors:

### Visual Studio Code

Expand Down Expand Up @@ -55,8 +55,8 @@ You can find more information on this in the [YAML language server project](http
In addition to our official integrations, there is an amazing community of developers who have created their own integrations for Task:
- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by [@biozz](https://github.com/biozz)
- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by [@lechuckroh](https://github.com/lechuckroh)
- [Sublime Text Plugin](https://packagecontrol.io/packages/Taskfile) [[source](https://github.com/biozz/sublime-taskfile)] by @biozz
- [IntelliJ Plugin](https://plugins.jetbrains.com/plugin/17058-taskfile) [[source](https://github.com/lechuckroh/task-intellij-plugin)] by @lechuckroh
- [mk](https://github.com/pycontribs/mk) command line tool recognizes Taskfiles natively.
If you have made something that integrates with Task, please feel free to open a PR to add it to this list.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Task is a task runner / build tool that aims to be simpler and easier to use tha

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.

Once [installed](installation.md), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:
Once [installed](/installation), you just need to describe your build tasks using a simple [YAML][yaml] schema in a file called `Taskfile.yml`:

```yaml title="Taskfile.yml"
version: '3'
Expand All @@ -32,8 +32,8 @@ The above example is just the start, you can take a look at the [usage](/usage)

## Features

- [Easy installation](installation.md): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want.
- Available on CIs: by adding [this simple command](installation.md#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline;
- [Easy installation](/installation): just download a single binary, add to `$PATH` and you're done! Or you can also install using [Homebrew][homebrew], [Snapcraft][snapcraft], or [Scoop][scoop] if you want.
- Available on CIs: by adding [this simple command](/installation#install-script) to install on your CI script and you're ready to use Task as part of your CI pipeline;
- Truly cross-platform: while most build tools only work well on Linux or macOS, 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#prevent-unnecessary-work) if a given set of files haven't changed since last run (based either on its timestamp or content).

Expand Down
Loading

0 comments on commit 8e7b45d

Please sign in to comment.