apache / buildstream

BuildStream, the software integration tool
https://buildstream.build/
Apache License 2.0
85 stars 30 forks source link

Ensure that the parent project is fully loaded first #1969

Closed juergbi closed 2 days ago

juergbi commented 1 week ago

The previous logic to guard against infinite recursion of Project.ensure_fully_loaded() could lead to the subproject being fully loaded before the parent project, which breaks an assumption of the loader and can result in an unhandled exception.

The updated logic still guards against infinite recursion while making sure that the parent project is fully loaded before subprojects.

A regression test is included.

Fixes #1891.