-
-
Notifications
You must be signed in to change notification settings - Fork 711
Labels
area: loopsChanges related to looping over tasks/commands.Changes related to looping over tasks/commands.
Description
task --list-all
is computing something even though it seems like it shouldn't to show the list of tasks.
It's an problem because autocompletion relies on --list-all
so right now it's not usable for me.
It takes ~2 seconds (user time, 12 system) to run --list-all
.
Not directly related, but it seems to be some interaction with globbing for sources and using for
in commands that makes it take a long time to run in general.
Given this task file
version: '3'
tasks:
default:
sources:
- dev/*.json
cmds:
- for: sources
cmd: echo {{ dir .ITEM }}
It takes again 2 seconds ish, but
version: '3'
tasks:
default:
sources:
- "dev/*.json"
cmds:
- "echo hey"
is instant.
It's difficult to recreate, because it's only for some folders it takes a long time. I think it's related to #225.
- Task version: v3.28.0 (h1:PGYGwevlGQdYrqhO6lLCYylC7YuGoQLlVwHkO42gf0I=)
- Operating system: macOS ventura 13.5
- Experiments enabled: No
hans-d
Metadata
Metadata
Assignees
Labels
area: loopsChanges related to looping over tasks/commands.Changes related to looping over tasks/commands.
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
krystian-panek-vmltech commentedon Sep 7, 2023
also
--dry
spends time evaluating dynamic variables; I am not sure if it is always desired; it's more irritating to me than helpingmishamsk commentedon Jul 30, 2024
Same issue here. Started noticing recently. Happens both for
task --list
andtask --list-all
.Task version: 3.38.0 ()
Checked usage of
for
, doesn't seem like a culprit. I have two checkouts of the same repo with a Taskfile. autocomplete works reasonably fast in one folder, but not the other. The only difference that I've see is the size of the folders (e.g. one has node_modules populated and the other don't). I do have tasks that definessources
keys, I also have tasks with preconditions that runfind
.I haven't yet triaged the issue to narrow it down to a specific task. I can, assuming anyone from maintainers have capacity to look into this.
Also, I may be missing something, but it looks like list output contains only task names and descriptions. These are all static, so theoretically there is no need to execute anything at all. Just parse yaml. But I may not thinking about some feature of Taskfile of course.
In general - awesome tool, great work and kudos to the team!