fix(tools): Enabled removing requirements.* files

This commit is contained in:
Marek Fiala
2025-05-16 17:34:32 +02:00
parent 85009a769d
commit 0849421d97
2 changed files with 50 additions and 6 deletions

View File

@@ -1177,6 +1177,25 @@ class IDFRecord:
features.add('core')
self._features = list(features)
def check_feature_requirements_files(self) -> None:
"""
Check if feature requirements files exist.
If not, remove the feature from the features list.
"""
features_to_remove: Tuple[str, ...] = ()
for feature in self._features:
if not os.path.isfile(feature_to_requirements_path(feature)):
info(
'\n'.join(
[
f"Feature file '{feature_to_requirements_path(feature)}' does not exist.",
f'Removing feature {feature}',
]
)
)
features_to_remove += (feature,)
self.update_features(remove=features_to_remove)
@property
def targets(self) -> List[str]:
return self._targets
@@ -1517,6 +1536,7 @@ def process_and_check_features(idf_env_obj, features_str): # type: (IDFEnv, str
raise SystemExit(1)
idf_env_obj.get_active_idf_record().update_features(tuple(new_features), tuple(remove_features))
idf_env_obj.get_active_idf_record().check_feature_requirements_files()
return idf_env_obj.get_active_idf_record().features