Extend bst-gen to generate more complex dependency graphs

Context

bst-gen is the tool we use to generate large example projects for testing and performance optimisations. It currently can only create long dependency graphs or wide dependency graphs. We could make this more useful and more closely match the scale of the type of projects that a large organisation might face.

Task Description

  • We'd like to extend this to make bst-gen capable of generating complex dependency trees.

Acceptance Criteria

  • Quantitative - we can run profiling against a confidential project and also against bst-gen and assess if the same issues / bottlenecks are being seen
  • Qualitative - stakeholders verify that the example projects we generate are a close match to imitate the performance issues seen on internal large scale projects