go-task-bin 3.38.0__tar.gz → 3.39.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of go-task-bin might be problematic. Click here for more details.

Files changed (453) hide show
  1. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/PKG-INFO +1 -1
  2. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/pdm_build.py +7 -11
  3. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/pyproject.toml +2 -2
  4. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.editorconfig +1 -1
  5. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/FUNDING.yml +1 -1
  6. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/lint.yml +17 -2
  7. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/release.yml +1 -1
  8. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/test.yml +1 -1
  9. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.gitignore +1 -2
  10. go_task_bin-3.39.0/task/.vscode/extensions.json +7 -0
  11. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/CHANGELOG.md +31 -0
  12. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/cmd/task/task.go +9 -0
  13. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/completion/fish/task.fish +1 -1
  14. go_task_bin-3.39.0/task/completion.go +34 -0
  15. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/errors/errors_task.go +13 -0
  16. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/go.mod +9 -8
  17. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/go.sum +18 -16
  18. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/hash.go +2 -2
  19. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/help.go +13 -15
  20. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/compiler/compiler.go +3 -2
  21. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/deepcopy/deepcopy.go +2 -2
  22. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/env/env.go +5 -4
  23. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/execext/exec.go +0 -8
  24. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/experiments/experiments.go +3 -0
  25. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/flags/flags.go +2 -0
  26. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/logger/logger.go +1 -1
  27. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/slicesext/slicesext.go +0 -10
  28. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/version/version.go +3 -1
  29. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/package-lock.json +1 -1
  30. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/package.json +1 -1
  31. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/requires.go +1 -3
  32. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/setup.go +4 -3
  33. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/signals.go +8 -7
  34. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/signals_test.go +2 -4
  35. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/task.go +28 -11
  36. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/task_test.go +99 -3
  37. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/for.go +22 -14
  38. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/include.go +4 -0
  39. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/taskfile.go +1 -2
  40. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/tasks.go +41 -31
  41. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/node_http.go +14 -10
  42. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/reader.go +3 -1
  43. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/taskfile.go +5 -1
  44. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/env/Taskfile.yml +10 -0
  45. go_task_bin-3.39.0/task/testdata/exit_code/Taskfile.yml +17 -0
  46. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/cmds/Taskfile.yml +8 -0
  47. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/deps/Taskfile.yml +10 -0
  48. go_task_bin-3.39.0/task/testdata/includes_flatten/Taskfile.multiple.yml +12 -0
  49. go_task_bin-3.39.0/task/testdata/includes_flatten/Taskfile.with_default.yml +3 -0
  50. go_task_bin-3.39.0/task/testdata/includes_flatten/Taskfile.yml +15 -0
  51. go_task_bin-3.39.0/task/testdata/includes_flatten/included/Taskfile.yml +23 -0
  52. go_task_bin-3.39.0/task/testdata/includes_flatten/nested/Taskfile.yml +6 -0
  53. go_task_bin-3.39.0/task/testdata/list_desc_interpolation/Taskfile.yml +12 -0
  54. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/special_vars/Taskfile.yml +9 -1
  55. go_task_bin-3.39.0/task/testdata/special_vars/included/Taskfile.yml +16 -0
  56. go_task_bin-3.39.0/task/testdata/vars/.gitignore +1 -0
  57. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/variables.go +49 -2
  58. {go_task_bin-3.38.0/task/website/versioned_docs/version-latest → go_task_bin-3.39.0/task/website/docs}/changelog.mdx +31 -0
  59. go_task_bin-3.39.0/task/website/docs/deprecations/completion_scripts.mdx +25 -0
  60. go_task_bin-3.39.0/task/website/docs/experiments/env_precedence.mdx +74 -0
  61. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/installation.mdx +52 -38
  62. {go_task_bin-3.38.0/task/website/versioned_docs/version-latest → go_task_bin-3.39.0/task/website/docs}/reference/schema.mdx +5 -4
  63. {go_task_bin-3.38.0/task/website/versioned_docs/version-latest → go_task_bin-3.39.0/task/website/docs}/reference/templating.mdx +5 -1
  64. {go_task_bin-3.38.0/task/website/versioned_docs/version-latest → go_task_bin-3.39.0/task/website/docs}/usage.mdx +162 -6
  65. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/pages/donate.md +2 -1
  66. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/schema.json +13 -0
  67. {go_task_bin-3.38.0/task/website/docs → go_task_bin-3.39.0/task/website/versioned_docs/version-latest}/changelog.mdx +31 -0
  68. go_task_bin-3.39.0/task/website/versioned_docs/version-latest/deprecations/completion_scripts.mdx +25 -0
  69. go_task_bin-3.39.0/task/website/versioned_docs/version-latest/experiments/env_precedence.mdx +74 -0
  70. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/installation.mdx +52 -38
  71. {go_task_bin-3.38.0/task/website/docs → go_task_bin-3.39.0/task/website/versioned_docs/version-latest}/reference/schema.mdx +5 -4
  72. {go_task_bin-3.38.0/task/website/docs → go_task_bin-3.39.0/task/website/versioned_docs/version-latest}/reference/templating.mdx +5 -1
  73. {go_task_bin-3.38.0/task/website/docs → go_task_bin-3.39.0/task/website/versioned_docs/version-latest}/usage.mdx +162 -6
  74. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/yarn.lock +28 -45
  75. go_task_bin-3.38.0/go_task_bin/__init__.py +0 -0
  76. go_task_bin-3.38.0/task/testdata/list_desc_interpolation/Taskfile.yml +0 -8
  77. go_task_bin-3.38.0/task/testdata/special_vars/included/Taskfile.yml +0 -8
  78. go_task_bin-3.38.0/task/website/src/pages/.keep +0 -0
  79. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/LICENSE +0 -0
  80. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/README.md +0 -0
  81. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.git +0 -0
  82. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.gitattributes +0 -0
  83. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/CODE_OF_CONDUCT.md +0 -0
  84. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/CONTRIBUTING.md +0 -0
  85. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  86. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/ISSUE_TEMPLATE/config.yml +0 -0
  87. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  88. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/dependabot.yml +0 -0
  89. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/pull_request_template.md +0 -0
  90. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/issue-awaiting-response.yml +0 -0
  91. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/issue-closed.yml +0 -0
  92. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/issue-experiment.yml +0 -0
  93. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/issue-needs-triage.yml +0 -0
  94. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.github/workflows/upload-source-documents.yml +0 -0
  95. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.golangci.yml +0 -0
  96. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.goreleaser.yml +0 -0
  97. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.mockery.yaml +0 -0
  98. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.nvmrc +0 -0
  99. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.prettierrc.yml +0 -0
  100. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/.vscode/settings-sample.json +0 -0
  101. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/LICENSE +0 -0
  102. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/README.md +0 -0
  103. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/Taskfile.yml +0 -0
  104. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/args/args.go +0 -0
  105. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/args/args_test.go +0 -0
  106. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/bin/.keep +0 -0
  107. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/cmd/release/main.go +0 -0
  108. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/cmd/sleepit/sleepit.go +0 -0
  109. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/completion/bash/task.bash +0 -0
  110. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/completion/ps/task.ps1 +0 -0
  111. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/completion/zsh/_task +0 -0
  112. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/concurrency.go +0 -0
  113. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/errors/error_taskfile_decode.go +0 -0
  114. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/errors/errors.go +0 -0
  115. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/errors/errors_taskfile.go +0 -0
  116. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/errors/themes/task.xml +0 -0
  117. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/init.go +0 -0
  118. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/install-task.sh +0 -0
  119. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/compiler/env.go +0 -0
  120. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/editors/output.go +0 -0
  121. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/execext/devnull.go +0 -0
  122. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/exp/maps.go +0 -0
  123. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/filepathext/filepathext.go +0 -0
  124. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/checker.go +0 -0
  125. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/glob.go +0 -0
  126. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/sources.go +0 -0
  127. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/sources_checksum.go +0 -0
  128. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/sources_checksum_test.go +0 -0
  129. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/sources_none.go +0 -0
  130. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/sources_timestamp.go +0 -0
  131. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/status.go +0 -0
  132. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/task.go +0 -0
  133. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/fingerprint/task_test.go +0 -0
  134. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/goext/meta.go +0 -0
  135. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/hash/hash.go +0 -0
  136. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/mocks/sources_checkable.go +0 -0
  137. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/mocks/status_checkable.go +0 -0
  138. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/omap/orderedmap.go +0 -0
  139. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/omap/orderedmap_test.go +0 -0
  140. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/output/group.go +0 -0
  141. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/output/interleaved.go +0 -0
  142. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/output/output.go +0 -0
  143. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/output/output_test.go +0 -0
  144. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/output/prefixed.go +0 -0
  145. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/sort/sorter.go +0 -0
  146. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/sort/sorter_test.go +0 -0
  147. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/summary/summary.go +0 -0
  148. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/summary/summary_test.go +0 -0
  149. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/sysinfo/uid.go +0 -0
  150. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/sysinfo/uid_win.go +0 -0
  151. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/templater/funcs.go +0 -0
  152. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/templater/templater.go +0 -0
  153. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/internal/term/term.go +0 -0
  154. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/precondition.go +0 -0
  155. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/status.go +0 -0
  156. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/call.go +0 -0
  157. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/cmd.go +0 -0
  158. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/dep.go +0 -0
  159. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/glob.go +0 -0
  160. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/graph.go +0 -0
  161. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/location.go +0 -0
  162. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/output.go +0 -0
  163. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/platforms.go +0 -0
  164. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/platforms_test.go +0 -0
  165. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/precondition.go +0 -0
  166. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/precondition_test.go +0 -0
  167. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/requires.go +0 -0
  168. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/task.go +0 -0
  169. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/taskfile_test.go +0 -0
  170. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/ast/var.go +0 -0
  171. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/cache.go +0 -0
  172. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/dotenv.go +0 -0
  173. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/node.go +0 -0
  174. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/node_base.go +0 -0
  175. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/node_file.go +0 -0
  176. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/taskfile/node_stdin.go +0 -0
  177. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/alias/Taskfile.yml +0 -0
  178. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/alias/Taskfile2.yml +0 -0
  179. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/alias/alias-summary.txt +0 -0
  180. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/alias/alias.txt +0 -0
  181. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/checksum/.gitignore +0 -0
  182. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/checksum/Taskfile.yml +0 -0
  183. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/checksum/ignore_me.txt +0 -0
  184. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/checksum/source.txt +0 -0
  185. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/concurrency/Taskfile.yml +0 -0
  186. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/cyclic/Taskfile.yml +0 -0
  187. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/deferred/Taskfile.yml +0 -0
  188. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/deps/.gitignore +0 -0
  189. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/deps/Taskfile.yml +0 -0
  190. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/desc/Taskfile.yml +0 -0
  191. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/Taskfile.yml +0 -0
  192. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/dynamic_var/.gitignore +0 -0
  193. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/dynamic_var/Taskfile.yml +0 -0
  194. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/dynamic_var/subdirectory/Taskfile.yml +0 -0
  195. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/dynamic_var_on_created_dir/Taskfile.yml +0 -0
  196. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/explicit_doesnt_exist/Taskfile.yml +0 -0
  197. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/explicit_exists/Taskfile.yml +0 -0
  198. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dir/explicit_exists/exists/.keep +0 -0
  199. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/.gitignore +0 -0
  200. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/default/Taskfile.yml +0 -0
  201. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/env_var_in_path/.env.testing +0 -0
  202. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/env_var_in_path/Taskfile.yml +0 -0
  203. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/error_included_envs/Taskfile.yml +0 -0
  204. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/include1/.env +0 -0
  205. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/include1/Taskfile.yml +0 -0
  206. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/include1/envs/.env +0 -0
  207. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/local_env_in_path/.env.testing +0 -0
  208. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/local_env_in_path/Taskfile.yml +0 -0
  209. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/local_var_in_path/.env.testing +0 -0
  210. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/local_var_in_path/Taskfile.yml +0 -0
  211. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv/missing_env/Taskfile.yml +0 -0
  212. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv_task/default/.env +0 -0
  213. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv_task/default/.gitignore +0 -0
  214. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dotenv_task/default/Taskfile.yml +0 -0
  215. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dry/Taskfile.yml +0 -0
  216. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dry_checksum/Taskfile.yml +0 -0
  217. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/dry_checksum/source.txt +0 -0
  218. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/empty_task/Taskfile.yml +0 -0
  219. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/empty_taskfile/Taskfile.yml +0 -0
  220. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/env/.gitignore +0 -0
  221. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/error_code/Taskfile.yml +0 -0
  222. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/evaluate_symlinks_in_paths/Taskfile.yaml +0 -0
  223. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/evaluate_symlinks_in_paths/shared/b +0 -0
  224. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/evaluate_symlinks_in_paths/shared/inner_shared/c +0 -0
  225. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/evaluate_symlinks_in_paths/src/a +0 -0
  226. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/exit_immediately/Taskfile.yml +0 -0
  227. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/expand/Taskfile.yml +0 -0
  228. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/file_names/.gitignore +0 -0
  229. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/file_names/Taskfile.dist.yaml/Taskfile.dist.yaml +0 -0
  230. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/file_names/Taskfile.dist.yml/Taskfile.dist.yml +0 -0
  231. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/file_names/Taskfile.yaml/Taskfile.yaml +0 -0
  232. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/file_names/Taskfile.yml/Taskfile.yml +0 -0
  233. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/cmds/bar.txt +0 -0
  234. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/cmds/foo.txt +0 -0
  235. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/deps/bar.txt +0 -0
  236. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/for/deps/foo.txt +0 -0
  237. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/force/Taskfile.yml +0 -0
  238. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/generates/.gitignore +0 -0
  239. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/generates/Taskfile.yml +0 -0
  240. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/generates/sub/.keep +0 -0
  241. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_errors/Taskfile.yml +0 -0
  242. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_nil_elements/cmds/Taskfile.yml +0 -0
  243. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_nil_elements/deps/Taskfile.yml +0 -0
  244. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_nil_elements/includes/Taskfile.yml +0 -0
  245. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_nil_elements/includes/inc.yml +0 -0
  246. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_nil_elements/preconditions/Taskfile.yml +0 -0
  247. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/ignore_signals/Taskfile.yml +0 -0
  248. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars/Taskfile.yml +0 -0
  249. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars/include/Taskfile.include1.yml +0 -0
  250. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars/include/Taskfile.include2.yml +0 -0
  251. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars/include/Taskfile.include3.yml +0 -0
  252. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars_multi_level/Taskfile.yml +0 -0
  253. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars_multi_level/bar/Taskfile.yml +0 -0
  254. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars_multi_level/foo/Taskfile.yml +0 -0
  255. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/include_with_vars_multi_level/lib/Taskfile.yml +0 -0
  256. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/included_taskfile_var_merging/Taskfile.yaml +0 -0
  257. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/included_taskfile_var_merging/bar/Taskfile.yaml +0 -0
  258. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/included_taskfile_var_merging/foo/Taskfile.yaml +0 -0
  259. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/.gitignore +0 -0
  260. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/Taskfile.yml +0 -0
  261. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/Taskfile2.yml +0 -0
  262. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/Taskfile_darwin.yml +0 -0
  263. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/Taskfile_linux.yml +0 -0
  264. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/Taskfile_windows.yml +0 -0
  265. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/included/Taskfile.yml +0 -0
  266. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/module1/Taskfile.yml +0 -0
  267. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes/module2/Taskfile.yml +0 -0
  268. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_call_root_task/.gitignore +0 -0
  269. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_call_root_task/Taskfile.yml +0 -0
  270. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_call_root_task/Taskfile2.yml +0 -0
  271. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_cycle/Taskfile.yml +0 -0
  272. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_cycle/one/Taskfile.yml +0 -0
  273. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_cycle/one/two/Taskfile.yml +0 -0
  274. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_deps/.gitignore +0 -0
  275. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_deps/Taskfile.yml +0 -0
  276. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_deps/Taskfile2.yml +0 -0
  277. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_empty/.gitignore +0 -0
  278. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_empty/Taskfile.yml +0 -0
  279. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_empty/Taskfile2.yml +0 -0
  280. {go_task_bin-3.38.0/task/testdata/includes_optional → go_task_bin-3.39.0/task/testdata/includes_flatten}/.gitignore +0 -0
  281. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_incorrect/Taskfile.yml +0 -0
  282. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_incorrect/incomplete.yml +0 -0
  283. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_internal/Taskfile.yml +0 -0
  284. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_internal/Taskfile2.yml +0 -0
  285. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_interpolation/include/Taskfile.yml +0 -0
  286. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_interpolation/include_with_dir/Taskfile.yml +0 -0
  287. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_interpolation/include_with_env_variable/Taskfile.yml +0 -0
  288. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_interpolation/included/Taskfile.yml +0 -0
  289. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/Taskfile.yml +0 -0
  290. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/called_one.txt +0 -0
  291. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/called_three.txt +0 -0
  292. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/called_two.txt +0 -0
  293. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/one/Taskfile.yml +0 -0
  294. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/one/two/Taskfile.yml +0 -0
  295. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_multi_level/one/two/three/Taskfile.yml +0 -0
  296. {go_task_bin-3.38.0/task/testdata/includes_yaml → go_task_bin-3.39.0/task/testdata/includes_optional}/.gitignore +0 -0
  297. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_optional/Taskfile.yml +0 -0
  298. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_optional_explicit_false/Taskfile.yml +0 -0
  299. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_optional_implicit_false/Taskfile.yml +0 -0
  300. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_rel_path/Taskfile.yml +0 -0
  301. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_rel_path/common/Taskfile.yml +0 -0
  302. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_rel_path/included/Taskfile.yml +0 -0
  303. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_shadowed_default/Taskfile.yml +0 -0
  304. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_shadowed_default/Taskfile2.yml +0 -0
  305. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_shadowed_default/file.txt +0 -0
  306. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_unshadowed_default/Taskfile.yml +0 -0
  307. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_unshadowed_default/Taskfile2.yml +0 -0
  308. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_unshadowed_default/file.txt +0 -0
  309. {go_task_bin-3.38.0/task/testdata/params → go_task_bin-3.39.0/task/testdata/includes_yaml}/.gitignore +0 -0
  310. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_yaml/Custom.ext +0 -0
  311. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_yaml/included/Taskfile.yaml +0 -0
  312. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/includes_yaml/included/custom.yaml +0 -0
  313. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/init/.gitignore +0 -0
  314. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/internal_task/Taskfile.yml +0 -0
  315. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/label_list/Taskfile.yml +0 -0
  316. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/label_status/Taskfile.yml +0 -0
  317. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/label_summary/Taskfile.yml +0 -0
  318. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/label_uptodate/Taskfile.yml +0 -0
  319. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/label_var/Taskfile.yml +0 -0
  320. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/list_mixed_desc/Taskfile.yml +0 -0
  321. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/output_group/Taskfile.yml +0 -0
  322. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/output_group_error_only/Taskfile.yml +0 -0
  323. {go_task_bin-3.38.0/task/testdata/run → go_task_bin-3.39.0/task/testdata/params}/.gitignore +0 -0
  324. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/params/Taskfile.yml +0 -0
  325. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/platforms/Taskfile.yml +0 -0
  326. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/precondition/Taskfile.yml +0 -0
  327. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/precondition/foo.txt +0 -0
  328. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/prompt/Taskfile.yml +0 -0
  329. {go_task_bin-3.38.0/task/testdata/single_cmd_dep → go_task_bin-3.39.0/task/testdata/run}/.gitignore +0 -0
  330. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run/Taskfile.yml +0 -0
  331. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/Taskfile.yml +0 -0
  332. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/library/Taskfile.yml +0 -0
  333. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/service-a/Taskfile.yml +0 -0
  334. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/service-a/src/imasource.go +0 -0
  335. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/service-b/Taskfile.yml +0 -0
  336. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/run_once_shared_deps/service-b/src/imasource.go +0 -0
  337. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/shopts/command_level/Taskfile.yml +0 -0
  338. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/shopts/global_level/Taskfile.yml +0 -0
  339. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/shopts/task_level/Taskfile.yml +0 -0
  340. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/short_task_notation/Taskfile.yml +0 -0
  341. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/silent/Taskfile.yml +0 -0
  342. {go_task_bin-3.38.0/task/testdata/status → go_task_bin-3.39.0/task/testdata/single_cmd_dep}/.gitignore +0 -0
  343. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/single_cmd_dep/Taskfile.yml +0 -0
  344. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/special_vars/subdir/.gitkeep +0 -0
  345. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/split_args/Taskfile.yml +0 -0
  346. {go_task_bin-3.38.0/task/testdata/vars → go_task_bin-3.39.0/task/testdata/status}/.gitignore +0 -0
  347. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/status/Taskfile.yml +0 -0
  348. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/status_vars/.gitignore +0 -0
  349. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/status_vars/Taskfile.yml +0 -0
  350. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/status_vars/source.txt +0 -0
  351. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/summary/Taskfile.yml +0 -0
  352. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/summary/task-with-summary.txt +0 -0
  353. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/taskfile_walk/Taskfile.yml +0 -0
  354. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/taskfile_walk/foo/bar/.gitkeep +0 -0
  355. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/user_working_dir/Taskfile.yml +0 -0
  356. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/user_working_dir_with_includes/Taskfile.yml +0 -0
  357. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/user_working_dir_with_includes/included/Taskfile.yml +0 -0
  358. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/user_working_dir_with_includes/somedir/.keep +0 -0
  359. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/var_references/Taskfile.yml +0 -0
  360. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/.env +0 -0
  361. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/Taskfile.yml +0 -0
  362. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/any/Taskfile.yml +0 -0
  363. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/any2/Taskfile.yml +0 -0
  364. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/any2/example.json +0 -0
  365. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/vars/any2/example.yaml +0 -0
  366. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/version/v1/Taskfile.yml +0 -0
  367. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/version/v2/Taskfile.yml +0 -0
  368. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/version/v3/Taskfile.yml +0 -0
  369. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/watcher_interval/.gitignore +0 -0
  370. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/watcher_interval/Taskfile.yaml +0 -0
  371. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/testdata/wildcards/Taskfile.yml +0 -0
  372. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/watch.go +0 -0
  373. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/watch_test.go +0 -0
  374. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/.gitignore +0 -0
  375. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/.nojekyll +0 -0
  376. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/Taskfile.yml +0 -0
  377. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/babel.config.ts +0 -0
  378. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/blog/2023-09-02-introducing-experiments.mdx +0 -0
  379. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/blog/2024-05-09-any-variables.mdx +0 -0
  380. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/blog/authors.yml +0 -0
  381. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/constants.ts +0 -0
  382. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/crowdin.yml +0 -0
  383. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/community.mdx +0 -0
  384. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/contributing.mdx +0 -0
  385. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/deprecations/deprecations.mdx +0 -0
  386. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/deprecations/template.mdx +0 -0
  387. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/deprecations/template_functions.mdx +0 -0
  388. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/deprecations/version_2_schema.mdx +0 -0
  389. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/experiments/experiments.mdx +0 -0
  390. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/experiments/gentle_force.mdx +0 -0
  391. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/experiments/map_variables.mdx +0 -0
  392. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/experiments/remote_taskfiles.mdx +0 -0
  393. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/experiments/template.mdx +0 -0
  394. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/faq.mdx +0 -0
  395. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/integrations.mdx +0 -0
  396. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/intro.mdx +0 -0
  397. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/reference/_category_.yml +0 -0
  398. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/reference/cli.mdx +0 -0
  399. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/reference/environment.mdx +0 -0
  400. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/releasing.mdx +0 -0
  401. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/styleguide.mdx +0 -0
  402. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/taskfile_versions.mdx +0 -0
  403. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docs/translate.mdx +0 -0
  404. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/docusaurus.config.ts +0 -0
  405. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/package.json +0 -0
  406. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/prettier.config.js +0 -0
  407. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/sidebars.ts +0 -0
  408. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/api/crowdin.js +0 -0
  409. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/components/.keep +0 -0
  410. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/css/carbon.css +0 -0
  411. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/css/custom.css +0 -0
  412. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/themes/prismDark.js +0 -0
  413. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/src/themes/prismLight.js +0 -0
  414. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/.nojekyll +0 -0
  415. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/CNAME +0 -0
  416. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/Taskfile.yml +0 -0
  417. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/appwrite.svg +0 -0
  418. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/favicon.ico +0 -0
  419. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/icon-discord.svg +0 -0
  420. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/icon-github.svg +0 -0
  421. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/icon-mastodon.svg +0 -0
  422. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/icon-twitter.svg +0 -0
  423. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/logo.png +0 -0
  424. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/logo.svg +0 -0
  425. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/logo_mono.svg +0 -0
  426. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/og-image.png +0 -0
  427. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/img/pix.png +0 -0
  428. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/install.sh +0 -0
  429. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/static/js/carbon.js +0 -0
  430. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/tsconfig.json +0 -0
  431. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/community.mdx +0 -0
  432. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/contributing.mdx +0 -0
  433. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/deprecations/deprecations.mdx +0 -0
  434. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/deprecations/template.mdx +0 -0
  435. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/deprecations/template_functions.mdx +0 -0
  436. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/deprecations/version_2_schema.mdx +0 -0
  437. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/experiments/experiments.mdx +0 -0
  438. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/experiments/gentle_force.mdx +0 -0
  439. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/experiments/map_variables.mdx +0 -0
  440. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/experiments/remote_taskfiles.mdx +0 -0
  441. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/experiments/template.mdx +0 -0
  442. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/faq.mdx +0 -0
  443. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/integrations.mdx +0 -0
  444. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/intro.mdx +0 -0
  445. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/reference/_category_.yml +0 -0
  446. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/reference/cli.mdx +0 -0
  447. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/reference/environment.mdx +0 -0
  448. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/releasing.mdx +0 -0
  449. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/styleguide.mdx +0 -0
  450. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/taskfile_versions.mdx +0 -0
  451. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_docs/version-latest/translate.mdx +0 -0
  452. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versioned_sidebars/version-latest-sidebars.json +0 -0
  453. {go_task_bin-3.38.0 → go_task_bin-3.39.0}/task/website/versions.json +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: go-task-bin
3
- Version: 3.38.0
3
+ Version: 3.39.0
4
4
  Summary: task - A task runner / simpler Make alternative written in Go
5
5
  Keywords: build,build-tool,devops,go,make,makefile,runner,task,task-runner,taskfile,tool
6
6
  Author-Email: dowon <ks2515@naver.com>
@@ -7,13 +7,11 @@ import sys
7
7
  from pathlib import Path
8
8
  from typing import TYPE_CHECKING
9
9
 
10
- from wheel.cli.tags import tags
11
-
12
10
  if TYPE_CHECKING:
13
11
  from pdm.backend.hooks import Context
14
12
 
15
13
  NAME = "task"
16
- VERSION = "3.38.0"
14
+ VERSION = "3.39.0"
17
15
 
18
16
 
19
17
  def is_windows():
@@ -35,7 +33,7 @@ def build(output: str) -> None:
35
33
  output,
36
34
  "-trimpath",
37
35
  "-ldflags",
38
- f"-s -w -X main.Version={VERSION}",
36
+ f"-s -w -X github.com/go-task/task/v3/internal/version.version={VERSION}",
39
37
  "./cmd/task",
40
38
  ]
41
39
 
@@ -44,18 +42,16 @@ def build(output: str) -> None:
44
42
  Path(output).chmod(0o777)
45
43
 
46
44
 
47
- def pdm_build_hook_enabled(context):
45
+ def pdm_build_hook_enabled(context: Context):
48
46
  return context.target != "sdist"
49
47
 
50
48
 
51
- def pdm_build_initialize(context) -> None:
49
+ def pdm_build_initialize(context: Context) -> None:
50
+ setting = {"--python-tag": "py3", "--py-limited-api": "none"}
51
+ context.builder.config_settings = {**setting, **context.builder.config_settings}
52
+
52
53
  context.ensure_build_dir()
53
54
  output_path = Path(context.build_dir, "bin", NAME)
54
55
  if is_windows():
55
56
  output_path = output_path.with_suffix(".exe")
56
57
  build(str(output_path))
57
-
58
-
59
- def pdm_build_finalize(context: Context, artifact: Path) -> None:
60
- renamed = tags(str(artifact), python_tags="py3", abi_tags="none", remove=True)
61
- print(renamed)
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "go-task-bin"
3
3
  description = "task - A task runner / simpler Make alternative written in Go"
4
- version = "3.38.0"
4
+ version = "3.39.0"
5
5
  authors = [
6
6
  { name = "dowon", email = "ks2515@naver.com" },
7
7
  ]
@@ -36,7 +36,6 @@ taskfile = "https://taskfile.dev"
36
36
  [build-system]
37
37
  requires = [
38
38
  "pdm-backend",
39
- "wheel",
40
39
  ]
41
40
  build-backend = "pdm.backend"
42
41
 
@@ -48,6 +47,7 @@ source-includes = [
48
47
  excludes = [
49
48
  "bin/*",
50
49
  ".gitignore",
50
+ "*.py",
51
51
  ]
52
52
 
53
53
  [tool.pdm.build.wheel-data]
@@ -8,6 +8,6 @@ charset = utf-8
8
8
  trim_trailing_whitespace = true
9
9
  indent_style = tab
10
10
 
11
- [*.{md,yml,yaml,json,toml,htm,html,js,css,svg,sh,bash,fish}]
11
+ [*.{md,mdx,yml,yaml,json,toml,htm,html,js,css,svg,sh,bash,fish}]
12
12
  indent_style = space
13
13
  indent_size = 2
@@ -1,3 +1,3 @@
1
- github: [andreynering, pd93]
1
+ github: [andreynering, pd93, vmaerten]
2
2
  open_collective: task
3
3
  custom: https://taskfile.dev/donate/
@@ -13,7 +13,7 @@ jobs:
13
13
  name: Lint
14
14
  strategy:
15
15
  matrix:
16
- go-version: [1.21.x, 1.22.x]
16
+ go-version: [1.22.x, 1.23.x]
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
19
  - uses: actions/setup-go@v5
@@ -25,7 +25,7 @@ jobs:
25
25
  - name: golangci-lint
26
26
  uses: golangci/golangci-lint-action@v6
27
27
  with:
28
- version: v1.55.2
28
+ version: v1.60.1
29
29
 
30
30
  lint-jsonschema:
31
31
  runs-on: ubuntu-latest
@@ -41,3 +41,18 @@ jobs:
41
41
 
42
42
  - name: check-jsonschema (metaschema)
43
43
  run: check-jsonschema --check-metaschema website/static/schema.json
44
+ check_doc:
45
+ runs-on: ubuntu-latest
46
+ steps:
47
+ - uses: actions/checkout@v4
48
+ - name: Get changed files in the docs folder
49
+ id: changed-files-specific
50
+ uses: tj-actions/changed-files@v44
51
+ with:
52
+ files: website/versioned_docs/**
53
+
54
+ - uses: actions/github-script@v7
55
+ if: steps.changed-files-specific.outputs.any_changed == 'true'
56
+ with:
57
+ script: |
58
+ core.setFailed('website/versioned_docs has changed. Instead you need to update the docs in the website/docs folder.')
@@ -15,7 +15,7 @@ jobs:
15
15
  - name: Set up Go
16
16
  uses: actions/setup-go@v5
17
17
  with:
18
- go-version: 1.21.x
18
+ go-version: 1.22.x
19
19
 
20
20
  - name: Run GoReleaser
21
21
  uses: goreleaser/goreleaser-action@v2
@@ -13,7 +13,7 @@ jobs:
13
13
  name: Test
14
14
  strategy:
15
15
  matrix:
16
- go-version: [1.21.x, 1.22.x]
16
+ go-version: [1.22.x, 1.23.x]
17
17
  platform: [ubuntu-latest, macos-latest, windows-latest]
18
18
  runs-on: ${{matrix.platform}}
19
19
  steps:
@@ -24,8 +24,7 @@ dist/
24
24
 
25
25
  # editors
26
26
  .idea/
27
- .vscode/*
28
- !.vscode/*-sample.json
27
+ .vscode/settings.json
29
28
  .fleet/
30
29
 
31
30
  # exuberant ctags
@@ -0,0 +1,7 @@
1
+ {
2
+ "recommendations": [
3
+ "editorconfig.editorconfig",
4
+ "golang.go",
5
+ "task.vscode-task"
6
+ ]
7
+ }
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.39.0 - 2024-09-07
4
+
5
+ - Added
6
+ [Env Precedence Experiment](https://taskfile.dev/experiments/env-precedence)
7
+ (#1038, #1633 by @vmaerten).
8
+ - Added a CI lint job to ensure that the docs are updated correctly (#1719 by
9
+ @vmaerten).
10
+ - Updated minimum required Go version to 1.22 (#1758 by @pd93).
11
+ - Expose a new `EXIT_CODE` special variable on `defer:` when a command finishes
12
+ with a non-zero exit code (#1484, #1762 by @dorimon-1 and @andreynering).
13
+ - Expose a new `ALIAS` special variable, which will contain the alias used to
14
+ call the current task. Falls back to the task name. (#1764 by @DanStory).
15
+ - Fixed `TASK_REMOTE_DIR` environment variable not working when the path was
16
+ absolute. (#1715 by @vmaerten).
17
+ - Added an option to declare an included Taskfile as flattened (#1704 by
18
+ @vmaerten).
19
+ - Added a new
20
+ [`--completion` flag](https://taskfile.dev/installation/#setup-completions) to
21
+ output completion scripts for various shells (#293, #1157 by @pd93).
22
+ - This is now the preferred way to install completions.
23
+ - The completion scripts in the `completion` directory
24
+ [are now deprecated](https://taskfile.dev/deprecations/completion-scripts/).
25
+ - Added the ability to
26
+ [loop over a matrix of values](https://taskfile.dev/usage/#looping-over-a-matrix)
27
+ (#1766, #1767, #1784 by @pd93).
28
+ - Fixed a bug in fish completion where aliases were not displayed (#1781, #1782
29
+ by @vmaerten).
30
+ - Fixed panic when having a flattened included Taskfile that contains a
31
+ `default` task (#1777, #1778 by @vmaerten).
32
+ - Optimized file existence checks for remote Taskfiles (#1713 by @vmaerten).
33
+
3
34
  ## v3.38.0 - 2024-06-30
4
35
 
5
36
  - Added `TASK_EXE` special variable (#1616, #1624 by @pd93 and @andreynering).
@@ -83,6 +83,15 @@ func run() error {
83
83
  return nil
84
84
  }
85
85
 
86
+ if flags.Completion != "" {
87
+ script, err := task.Completion(flags.Completion)
88
+ if err != nil {
89
+ return err
90
+ }
91
+ fmt.Println(script)
92
+ return nil
93
+ }
94
+
86
95
  if flags.Global {
87
96
  home, err := os.UserHomeDir()
88
97
  if err != nil {
@@ -10,7 +10,7 @@ function __task_get_tasks --description "Prints all available tasks with their d
10
10
  end
11
11
 
12
12
  # Grab names and descriptions (if any) of the tasks
13
- set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0)
13
+ set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(\(aliases.*\))/\1\t\2\t\3/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0)
14
14
  if test $output
15
15
  echo $output
16
16
  end
@@ -0,0 +1,34 @@
1
+ package task
2
+
3
+ import (
4
+ _ "embed"
5
+ "fmt"
6
+ )
7
+
8
+ //go:embed completion/bash/task.bash
9
+ var completionBash string
10
+
11
+ //go:embed completion/fish/task.fish
12
+ var completionFish string
13
+
14
+ //go:embed completion/ps/task.ps1
15
+ var completionPowershell string
16
+
17
+ //go:embed completion/zsh/_task
18
+ var completionZsh string
19
+
20
+ func Completion(completion string) (string, error) {
21
+ // Get the file extension for the selected shell
22
+ switch completion {
23
+ case "bash":
24
+ return completionBash, nil
25
+ case "fish":
26
+ return completionFish, nil
27
+ case "powershell":
28
+ return completionPowershell, nil
29
+ case "zsh":
30
+ return completionZsh, nil
31
+ default:
32
+ return "", fmt.Errorf("unknown shell: %s", completion)
33
+ }
34
+ }
@@ -80,6 +80,19 @@ func (err *TaskNameConflictError) Code() int {
80
80
  return CodeTaskNameConflict
81
81
  }
82
82
 
83
+ type TaskNameFlattenConflictError struct {
84
+ TaskName string
85
+ Include string
86
+ }
87
+
88
+ func (err *TaskNameFlattenConflictError) Error() string {
89
+ return fmt.Sprintf(`task: Found multiple tasks (%s) included by "%s""`, err.TaskName, err.Include)
90
+ }
91
+
92
+ func (err *TaskNameFlattenConflictError) Code() int {
93
+ return CodeTaskNameConflict
94
+ }
95
+
83
96
  // TaskCalledTooManyTimesError is returned when the maximum task call limit is
84
97
  // exceeded. This is to prevent infinite loops and cyclic dependencies.
85
98
  type TaskCalledTooManyTimesError struct {
@@ -1,18 +1,18 @@
1
1
  module github.com/go-task/task/v3
2
2
 
3
- go 1.21.0
3
+ go 1.22.0
4
4
 
5
5
  require (
6
6
  github.com/Ladicle/tabwriter v1.0.0
7
- github.com/Masterminds/semver/v3 v3.2.1
7
+ github.com/Masterminds/semver/v3 v3.3.0
8
8
  github.com/alecthomas/chroma/v2 v2.14.0
9
9
  github.com/davecgh/go-spew v1.1.1
10
10
  github.com/dominikbraun/graph v0.23.0
11
11
  github.com/fatih/color v1.17.0
12
12
  github.com/go-task/slim-sprig/v3 v3.0.0
13
- github.com/go-task/template v0.0.0-20240602015157-960e6f576656
13
+ github.com/go-task/template v0.1.0
14
14
  github.com/joho/godotenv v1.5.1
15
- github.com/mattn/go-zglob v0.0.4
15
+ github.com/mattn/go-zglob v0.0.6
16
16
  github.com/mitchellh/hashstructure/v2 v2.0.2
17
17
  github.com/otiai10/copy v1.14.0
18
18
  github.com/radovskyb/watcher v1.0.7
@@ -20,10 +20,10 @@ require (
20
20
  github.com/spf13/pflag v1.0.5
21
21
  github.com/stretchr/testify v1.9.0
22
22
  github.com/zeebo/xxh3 v1.0.2
23
- golang.org/x/sync v0.7.0
24
- golang.org/x/term v0.21.0
23
+ golang.org/x/sync v0.8.0
24
+ golang.org/x/term v0.24.0
25
25
  gopkg.in/yaml.v3 v3.0.1
26
- mvdan.cc/sh/v3 v3.8.0
26
+ mvdan.cc/sh/v3 v3.9.0
27
27
  )
28
28
 
29
29
  require (
@@ -31,8 +31,9 @@ require (
31
31
  github.com/klauspost/cpuid/v2 v2.0.9 // indirect
32
32
  github.com/mattn/go-colorable v0.1.13 // indirect
33
33
  github.com/mattn/go-isatty v0.0.20 // indirect
34
+ github.com/muesli/cancelreader v0.2.2 // indirect
34
35
  github.com/pmezard/go-difflib v1.0.0 // indirect
35
36
  github.com/stretchr/objx v0.5.2 // indirect
36
- golang.org/x/sys v0.21.0 // indirect
37
+ golang.org/x/sys v0.25.0 // indirect
37
38
  gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
38
39
  )
@@ -1,7 +1,7 @@
1
1
  github.com/Ladicle/tabwriter v1.0.0 h1:DZQqPvMumBDwVNElso13afjYLNp0Z7pHqHnu0r4t9Dg=
2
2
  github.com/Ladicle/tabwriter v1.0.0/go.mod h1:c4MdCjxQyTbGuQO/gvqJ+IA/89UEwrsD6hUCW98dyp4=
3
- github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0=
4
- github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ=
3
+ github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0=
4
+ github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM=
5
5
  github.com/alecthomas/assert/v2 v2.7.0 h1:QtqSACNS3tF7oasA8CU6A6sXZSBDqnm7RfpLl9bZqbE=
6
6
  github.com/alecthomas/assert/v2 v2.7.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
7
7
  github.com/alecthomas/chroma/v2 v2.14.0 h1:R3+wzpnUArGcQz7fCETQBzO5n9IMNi13iIs46aU4V9E=
@@ -18,12 +18,12 @@ github.com/dominikbraun/graph v0.23.0 h1:TdZB4pPqCLFxYhdyMFb1TBdFxp8XLcJfTTBQucV
18
18
  github.com/dominikbraun/graph v0.23.0/go.mod h1:yOjYyogZLY1LSG9E33JWZJiq5k83Qy2C6POAuiViluc=
19
19
  github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4=
20
20
  github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI=
21
- github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
22
- github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
21
+ github.com/go-quicktest/qt v1.101.0 h1:O1K29Txy5P2OK0dGo59b7b0LR6wKfIhttaAhHUyn7eI=
22
+ github.com/go-quicktest/qt v1.101.0/go.mod h1:14Bz/f7NwaXPtdYEgzsx46kqSxVwTbzVZsDC26tQJow=
23
23
  github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
24
24
  github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
25
- github.com/go-task/template v0.0.0-20240602015157-960e6f576656 h1:knZZ4zVdTBQnevBz0zSES++4Mr7wr+cHopLvHabIgkA=
26
- github.com/go-task/template v0.0.0-20240602015157-960e6f576656/go.mod h1:RgwRaZK+kni/hJJ7/AaOE2lPQFPbAdji/DyhC6pxo4k=
25
+ github.com/go-task/template v0.1.0 h1:ym/r2G937RZA1bsgiWedNnY9e5kxDT+3YcoAnuIetTE=
26
+ github.com/go-task/template v0.1.0/go.mod h1:RgwRaZK+kni/hJJ7/AaOE2lPQFPbAdji/DyhC6pxo4k=
27
27
  github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
28
28
  github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
29
29
  github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
@@ -41,10 +41,12 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
41
41
  github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
42
42
  github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
43
43
  github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
44
- github.com/mattn/go-zglob v0.0.4 h1:LQi2iOm0/fGgu80AioIJ/1j9w9Oh+9DZ39J4VAGzHQM=
45
- github.com/mattn/go-zglob v0.0.4/go.mod h1:MxxjyoXXnMxfIpxTK2GAkw1w8glPsQILx3N5wrKakiY=
44
+ github.com/mattn/go-zglob v0.0.6 h1:mP8RnmCgho4oaUYDIDn6GNxYk+qJGUs8fJLn+twYj2A=
45
+ github.com/mattn/go-zglob v0.0.6/go.mod h1:MxxjyoXXnMxfIpxTK2GAkw1w8glPsQILx3N5wrKakiY=
46
46
  github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4=
47
47
  github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE=
48
+ github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA=
49
+ github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo=
48
50
  github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
49
51
  github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
50
52
  github.com/otiai10/mint v1.5.1 h1:XaPLeE+9vGbuyEHem1JNk3bYc7KKqyI/na0/mLd/Kks=
@@ -67,18 +69,18 @@ github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
67
69
  github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
68
70
  github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0=
69
71
  github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA=
70
- golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
71
- golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
72
+ golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
73
+ golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
72
74
  golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
73
75
  golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
74
- golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
75
- golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
76
- golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
77
- golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
76
+ golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
77
+ golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
78
+ golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
79
+ golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
78
80
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
79
81
  gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
80
82
  gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
81
83
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
82
84
  gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
83
- mvdan.cc/sh/v3 v3.8.0 h1:ZxuJipLZwr/HLbASonmXtcvvC9HXY9d2lXZHnKGjFc8=
84
- mvdan.cc/sh/v3 v3.8.0/go.mod h1:w04623xkgBVo7/IUK89E0g8hBykgEpN0vgOj3RJr6MY=
85
+ mvdan.cc/sh/v3 v3.9.0 h1:it14fyjCdQUk4jf/aYxLO3FG8jFarR9GzMCtnlvvD7c=
86
+ mvdan.cc/sh/v3 v3.9.0/go.mod h1:cdBk8bgoiBI7lSZqK5JhUuq7OB64VQ7fgm85xelw3Nk=
@@ -1,15 +1,15 @@
1
1
  package task
2
2
 
3
3
  import (
4
+ "cmp"
4
5
  "fmt"
5
6
 
6
7
  "github.com/go-task/task/v3/internal/hash"
7
- "github.com/go-task/task/v3/internal/slicesext"
8
8
  "github.com/go-task/task/v3/taskfile/ast"
9
9
  )
10
10
 
11
11
  func (e *Executor) GetHash(t *ast.Task) (string, error) {
12
- r := slicesext.FirstNonZero(t.Run, e.Taskfile.Run)
12
+ r := cmp.Or(t.Run, e.Taskfile.Run)
13
13
  var h hash.HashFunc
14
14
  switch r {
15
15
  case "always":
@@ -160,23 +160,21 @@ func (e *Executor) ToEditorOutput(tasks []*ast.Task, noStatus bool) (*editors.Ta
160
160
  }
161
161
  var g errgroup.Group
162
162
  for i := range tasks {
163
- task := tasks[i]
164
- j := i
165
163
  aliases := []string{}
166
- if len(task.Aliases) > 0 {
167
- aliases = task.Aliases
164
+ if len(tasks[i].Aliases) > 0 {
165
+ aliases = tasks[i].Aliases
168
166
  }
169
167
  g.Go(func() error {
170
- o.Tasks[j] = editors.Task{
171
- Name: task.Name(),
172
- Desc: task.Desc,
173
- Summary: task.Summary,
168
+ o.Tasks[i] = editors.Task{
169
+ Name: tasks[i].Name(),
170
+ Desc: tasks[i].Desc,
171
+ Summary: tasks[i].Summary,
174
172
  Aliases: aliases,
175
173
  UpToDate: false,
176
174
  Location: &editors.Location{
177
- Line: task.Location.Line,
178
- Column: task.Location.Column,
179
- Taskfile: task.Location.Taskfile,
175
+ Line: tasks[i].Location.Line,
176
+ Column: tasks[i].Location.Column,
177
+ Taskfile: tasks[i].Location.Taskfile,
180
178
  },
181
179
  }
182
180
 
@@ -186,10 +184,10 @@ func (e *Executor) ToEditorOutput(tasks []*ast.Task, noStatus bool) (*editors.Ta
186
184
 
187
185
  // Get the fingerprinting method to use
188
186
  method := e.Taskfile.Method
189
- if task.Method != "" {
190
- method = task.Method
187
+ if tasks[i].Method != "" {
188
+ method = tasks[i].Method
191
189
  }
192
- upToDate, err := fingerprint.IsTaskUpToDate(context.Background(), task,
190
+ upToDate, err := fingerprint.IsTaskUpToDate(context.Background(), tasks[i],
193
191
  fingerprint.WithMethod(method),
194
192
  fingerprint.WithTempDir(e.TempDir.Fingerprint),
195
193
  fingerprint.WithDry(e.Dry),
@@ -199,7 +197,7 @@ func (e *Executor) ToEditorOutput(tasks []*ast.Task, noStatus bool) (*editors.Ta
199
197
  return err
200
198
  }
201
199
 
202
- o.Tasks[j].UpToDate = upToDate
200
+ o.Tasks[i].UpToDate = upToDate
203
201
 
204
202
  return nil
205
203
  })
@@ -46,7 +46,7 @@ func (c *Compiler) FastGetVariables(t *ast.Task, call *ast.Call) (*ast.Vars, err
46
46
  func (c *Compiler) getVariables(t *ast.Task, call *ast.Call, evaluateShVars bool) (*ast.Vars, error) {
47
47
  result := GetEnviron()
48
48
  if t != nil {
49
- specialVars, err := c.getSpecialVars(t)
49
+ specialVars, err := c.getSpecialVars(t, call)
50
50
  if err != nil {
51
51
  return nil, err
52
52
  }
@@ -179,9 +179,10 @@ func (c *Compiler) ResetCache() {
179
179
  c.dynamicCache = nil
180
180
  }
181
181
 
182
- func (c *Compiler) getSpecialVars(t *ast.Task) (map[string]string, error) {
182
+ func (c *Compiler) getSpecialVars(t *ast.Task, call *ast.Call) (map[string]string, error) {
183
183
  return map[string]string{
184
184
  "TASK": t.Task,
185
+ "ALIAS": call.Task,
185
186
  "TASK_EXE": filepath.ToSlash(os.Args[0]),
186
187
  "ROOT_TASKFILE": filepathext.SmartJoin(c.Dir, c.Entrypoint),
187
188
  "ROOT_DIR": c.Dir,
@@ -85,7 +85,7 @@ func TraverseStringsFunc[T any](v T, fn func(v string) (string, error)) (T, erro
85
85
 
86
86
  case reflect.Struct:
87
87
  // Loop over each field and call traverseFunc recursively
88
- for i := 0; i < v.NumField(); i += 1 {
88
+ for i := range v.NumField() {
89
89
  if err := traverseFunc(copy.Field(i), v.Field(i)); err != nil {
90
90
  return err
91
91
  }
@@ -95,7 +95,7 @@ func TraverseStringsFunc[T any](v T, fn func(v string) (string, error)) (T, erro
95
95
  // Create an empty copy from the original value's type
96
96
  copy.Set(reflect.MakeSlice(v.Type(), v.Len(), v.Cap()))
97
97
  // Loop over each element and call traverseFunc recursively
98
- for i := 0; i < v.Len(); i += 1 {
98
+ for i := range v.Len() {
99
99
  if err := traverseFunc(copy.Index(i), v.Index(i)); err != nil {
100
100
  return err
101
101
  }
@@ -4,6 +4,7 @@ import (
4
4
  "fmt"
5
5
  "os"
6
6
 
7
+ "github.com/go-task/task/v3/internal/experiments"
7
8
  "github.com/go-task/task/v3/taskfile/ast"
8
9
  )
9
10
 
@@ -11,15 +12,15 @@ func Get(t *ast.Task) []string {
11
12
  if t.Env == nil {
12
13
  return nil
13
14
  }
14
-
15
15
  environ := os.Environ()
16
16
  for k, v := range t.Env.ToCacheMap() {
17
17
  if !isTypeAllowed(v) {
18
18
  continue
19
19
  }
20
-
21
- if _, alreadySet := os.LookupEnv(k); alreadySet {
22
- continue
20
+ if !experiments.EnvPrecedence.Enabled {
21
+ if _, alreadySet := os.LookupEnv(k); alreadySet {
22
+ continue
23
+ }
23
24
  }
24
25
  environ = append(environ, fmt.Sprintf("%s=%v", k, v))
25
26
  }
@@ -90,14 +90,6 @@ func RunCommand(ctx context.Context, opts *RunCommandOptions) error {
90
90
  return r.Run(ctx, p)
91
91
  }
92
92
 
93
- // IsExitError returns true the given error is an exis status error
94
- func IsExitError(err error) bool {
95
- if _, ok := interp.IsExitStatus(err); ok {
96
- return true
97
- }
98
- return false
99
- }
100
-
101
93
  // Expand is a helper to mvdan.cc/shell.Fields that returns the first field
102
94
  // if available.
103
95
  func Expand(s string) (string, error) {
@@ -29,6 +29,7 @@ var (
29
29
  RemoteTaskfiles Experiment
30
30
  AnyVariables Experiment
31
31
  MapVariables Experiment
32
+ EnvPrecedence Experiment
32
33
  )
33
34
 
34
35
  func init() {
@@ -37,6 +38,7 @@ func init() {
37
38
  RemoteTaskfiles = New("REMOTE_TASKFILES")
38
39
  AnyVariables = New("ANY_VARIABLES", "1", "2")
39
40
  MapVariables = New("MAP_VARIABLES", "1", "2")
41
+ EnvPrecedence = New("ENV_PRECEDENCE")
40
42
  }
41
43
 
42
44
  func New(xName string, enabledValues ...string) Experiment {
@@ -104,5 +106,6 @@ func List(l *logger.Logger) error {
104
106
  printExperiment(w, l, GentleForce)
105
107
  printExperiment(w, l, RemoteTaskfiles)
106
108
  printExperiment(w, l, MapVariables)
109
+ printExperiment(w, l, EnvPrecedence)
107
110
  return w.Flush()
108
111
  }
@@ -38,6 +38,7 @@ var (
38
38
  Version bool
39
39
  Help bool
40
40
  Init bool
41
+ Completion string
41
42
  List bool
42
43
  ListAll bool
43
44
  ListJson bool
@@ -80,6 +81,7 @@ func init() {
80
81
  pflag.BoolVar(&Version, "version", false, "Show Task version.")
81
82
  pflag.BoolVarP(&Help, "help", "h", false, "Shows Task usage.")
82
83
  pflag.BoolVarP(&Init, "init", "i", false, "Creates a new Taskfile.yml in the current folder.")
84
+ pflag.StringVar(&Completion, "completion", "", "Generates shell completion script.")
83
85
  pflag.BoolVarP(&List, "list", "l", false, "Lists tasks with description of current Taskfile.")
84
86
  pflag.BoolVarP(&ListAll, "list-all", "a", false, "Lists tasks with or without a description.")
85
87
  pflag.BoolVarP(&ListJson, "json", "j", false, "Formats task list as JSON.")
@@ -89,7 +89,7 @@ func envColor(env string, defaultColor color.Attribute) []color.Attribute {
89
89
  // Otherwise, split by semicolons (ANSI color codes) and use them as is.
90
90
  attributeStrs := strings.Split(override, ",")
91
91
  if len(attributeStrs) == 3 {
92
- attributeStrs = append([]string{"38", "2"}, attributeStrs...)
92
+ attributeStrs = slices.Concat([]string{"38", "2"}, attributeStrs)
93
93
  } else {
94
94
  attributeStrs = strings.Split(override, ";")
95
95
  }
@@ -18,13 +18,3 @@ func UniqueJoin[T cmp.Ordered](ss ...[]T) []T {
18
18
  slices.Sort(r)
19
19
  return slices.Compact(r)
20
20
  }
21
-
22
- func FirstNonZero[T comparable](values ...T) T {
23
- var zero T
24
- for _, v := range values {
25
- if v != zero {
26
- return v
27
- }
28
- }
29
- return zero
30
- }
@@ -15,7 +15,9 @@ func init() {
15
15
  if !ok || info.Main.Version == "" {
16
16
  version = "unknown"
17
17
  } else {
18
- version = info.Main.Version
18
+ if version == "" {
19
+ version = info.Main.Version
20
+ }
19
21
  sum = info.Main.Sum
20
22
  }
21
23
  }