Skip to content

Commit 79eccd1

Browse files
committed
Resolve library dependencies
1 parent 9f6a096 commit 79eccd1

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

tools/config/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -567,11 +567,10 @@ def add_config_files(self, flist):
567567
raise ConfigException("; ".join(
568568
self.format_validation_error(x, config_file)
569569
for x in errors))
570-
if (
571-
"requires" in self.app_config_data
572-
and cfg["name"] not in self.app_config_data["requires"]
573-
):
574-
continue
570+
if "requires" in self.app_config_data:
571+
if cfg["name"] not in self.app_config_data["requires"]:
572+
continue
573+
self.app_config_data["requires"].extend(cfg.get("requires", []))
575574

576575
self.processed_configs[full_path] = True
577576

@@ -1279,6 +1278,7 @@ def load_resources(self, resources):
12791278
"""
12801279
# Update configuration files until added features creates no changes
12811280
prev_features = set()
1281+
prev_requires = set()
12821282
while True:
12831283
# Add/update the configuration with any .json files found while
12841284
# scanning
@@ -1288,12 +1288,14 @@ def load_resources(self, resources):
12881288

12891289
# Add features while we find new ones
12901290
features = set(self.get_features())
1291-
if features == prev_features:
1291+
requires = set(self.app_config_data.get("requires", []))
1292+
if features == prev_features and requires == prev_requires:
12921293
break
12931294

12941295
resources.add_features(features)
12951296

12961297
prev_features = features
1298+
prev_requires = requires
12971299
self.validate_config()
12981300

12991301
if (hasattr(self.target, "release_versions") and

0 commit comments

Comments
 (0)