dependency_graph: add source dir deps
SKQP requires many extra repositories in the 3rdparty bin. We cannot access these external references within the build system. Our repo specification code is already a bottleneck, so we cannot add the repositories under the current design.
Fetching sources will be a 2 step process:
-
for the build target, determine the set of source projects. These are the revisions that are tracked as part of build configuration.
-
after the projects are configured to the tracked revisions, iterate the projects to determine which commits are required from untracked projects. More than one commit can be returned for a project (if vulkancts and skqp require separate spirv headers).
- note that a change to a tracked project revision (eg vulkancts) may trigger a change to the required untracked project (eg vulkancts/external/glslang, via a new fetch_sources.py)
-
build automation in each project will clone {tracked_project}/external/{untracked_project} from repos/{untracked_project} and set the binned 3rd party sources to the appropriate revision.