INNER CODE UNIT · Python
resolve_dependent_libs
keiyoushi/extensions-source · .github/scripts/generate-build-matrices.py:55
def resolve_dependent_libs(libs: set[str]) -> set[str]:
"""
returns all libs which depend on any of the passed libs (/lib),
recursively resolving transitive dependencies
"""
if not libs:
return set()
all_dependent_libs = set()
to_process = set(libs)
while to_process:
current_libs = to_process
to_process = set()
lib_dependency = re.compile(
rf"project\([\"']:(?:lib):({'|'.join(map(re.escape, current_libs))})[\"']\)"
)