mirror of
https://github.com/go-task/task.git
synced 2025-06-17 00:17:51 +02:00
Increment the current Taskfile version to 2.2
This commit is contained in:
@ -128,5 +128,21 @@ tasks:
|
|||||||
ignore_error: true
|
ignore_error: true
|
||||||
```
|
```
|
||||||
|
|
||||||
[output]: https://github.com/go-task/task#output-syntax
|
## Version 2.2
|
||||||
[ignore_errors]: https://github.com/go-task/task#ignore-errors
|
|
||||||
|
Version 2.2 comes with a global `includes` options to include other
|
||||||
|
Taskfiles:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
includes:
|
||||||
|
docs: ./documentation # will look for ./documentation/Taskfile.yml
|
||||||
|
docker: ./DockerTasks.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Please check the [documentation][includes]
|
||||||
|
|
||||||
|
[output]: usage#output-syntax
|
||||||
|
[ignore_errors]: usage#ignore-errors
|
||||||
|
[includes]: usage#including-other-taskfiles
|
||||||
|
@ -9,6 +9,7 @@ var (
|
|||||||
v2 = mustVersion("2")
|
v2 = mustVersion("2")
|
||||||
v21 = mustVersion("2.1")
|
v21 = mustVersion("2.1")
|
||||||
v22 = mustVersion("2.2")
|
v22 = mustVersion("2.2")
|
||||||
|
v23 = mustVersion("2.3")
|
||||||
)
|
)
|
||||||
|
|
||||||
// IsV1 returns if is a given Taskfile version is version 1
|
// IsV1 returns if is a given Taskfile version is version 1
|
||||||
@ -31,6 +32,11 @@ func IsV22(v *semver.Constraints) bool {
|
|||||||
return v.Check(v22)
|
return v.Check(v22)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsV23 returns if is a given Taskfile version is at least version 2.3
|
||||||
|
func IsV23(v *semver.Constraints) bool {
|
||||||
|
return v.Check(v23)
|
||||||
|
}
|
||||||
|
|
||||||
func mustVersion(s string) *semver.Version {
|
func mustVersion(s string) *semver.Version {
|
||||||
v, err := semver.NewVersion(s)
|
v, err := semver.NewVersion(s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
9
task.go
9
task.go
@ -116,7 +116,7 @@ func (e *Executor) Setup() error {
|
|||||||
Vars: e.taskvars,
|
Vars: e.taskvars,
|
||||||
Logger: e.Logger,
|
Logger: e.Logger,
|
||||||
}
|
}
|
||||||
case version.IsV2(v), version.IsV21(v):
|
case version.IsV2(v), version.IsV21(v), version.IsV22(v):
|
||||||
e.Compiler = &compilerv2.CompilerV2{
|
e.Compiler = &compilerv2.CompilerV2{
|
||||||
Dir: e.Dir,
|
Dir: e.Dir,
|
||||||
Taskvars: e.taskvars,
|
Taskvars: e.taskvars,
|
||||||
@ -124,13 +124,16 @@ func (e *Executor) Setup() error {
|
|||||||
Expansions: e.Taskfile.Expansions,
|
Expansions: e.Taskfile.Expansions,
|
||||||
Logger: e.Logger,
|
Logger: e.Logger,
|
||||||
}
|
}
|
||||||
case version.IsV22(v):
|
case version.IsV23(v):
|
||||||
return fmt.Errorf(`task: Taskfile versions greater than v2.1 not implemented in the version of Task`)
|
return fmt.Errorf(`task: Taskfile versions greater than v2.3 not implemented in the version of Task`)
|
||||||
}
|
}
|
||||||
|
|
||||||
if !version.IsV21(v) && e.Taskfile.Output != "" {
|
if !version.IsV21(v) && e.Taskfile.Output != "" {
|
||||||
return fmt.Errorf(`task: Taskfile option "output" is only available starting on Taskfile version v2.1`)
|
return fmt.Errorf(`task: Taskfile option "output" is only available starting on Taskfile version v2.1`)
|
||||||
}
|
}
|
||||||
|
if !version.IsV22(v) && len(e.Taskfile.Includes) > 0 {
|
||||||
|
return fmt.Errorf(`task: Including Taskfiles is only available starting on Taskfile version v2.2`)
|
||||||
|
}
|
||||||
switch e.Taskfile.Output {
|
switch e.Taskfile.Output {
|
||||||
case "", "interleaved":
|
case "", "interleaved":
|
||||||
e.Output = output.Interleaved{}
|
e.Output = output.Interleaved{}
|
||||||
|
Reference in New Issue
Block a user