Currently when you add a @task you're limited in flexibility in where you can add it.
Unless the new task follows core plugin graph and extends a particular existing task or is invoked as a top-level task, there is no way to do this:
- Given a graph of B->A and top-level B I want C to be dependent on A and become a dependency of B.
This would allow 3rd party plugins to augment the build graph (such as header check plugin) without the user having to add top-level tasks. I.e. pyb publish with an injection of a header check plugin will result in a header check plugin executing a task without having to specify pyb check_headers publish.
All circularity/resolution check enforcements should, naturally, stay in force.
A new construct such as @dependent("task_a", "task_b", optional("task_c", "task_d")) will be introduced.
Currently when you add a
@taskyou're limited in flexibility in where you can add it.Unless the new task follows core plugin graph and extends a particular existing task or is invoked as a top-level task, there is no way to do this:
This would allow 3rd party plugins to augment the build graph (such as header check plugin) without the user having to add top-level tasks. I.e.
pyb publishwith an injection of a header check plugin will result in a header check plugin executing a task without having to specifypyb check_headers publish.All circularity/resolution check enforcements should, naturally, stay in force.
A new construct such as
@dependent("task_a", "task_b", optional("task_c", "task_d"))will be introduced.