Skip to content

Allow injecting tasks as dependents #188

@arcivanov

Description

@arcivanov

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions