fix: ensure only single resolve for manifest comps

This commit is contained in:
2 * r + 2 * t
2026-06-14 21:25:53 +10:00
parent 8627b7b96f
commit 216547c9c1
+5
View File
@@ -68,6 +68,7 @@ class ManifestComponent:
@dataclass
class _ManifestData:
resolved_comps: bool = False
enabled_comps: list[str] = field(default_factory=list)
disabled_comps: list[str] = field(default_factory=list)
@@ -120,6 +121,9 @@ class Manifest:
) -> None:
"""Resolves enabled/disabled components. This MUST be called before calling any other method."""
if self._data.resolved_comps:
return
enable_set = set(enable or [])
disable_set = set(disable or [])
known = set(self.components)
@@ -141,6 +145,7 @@ class Manifest:
self._data.enabled_comps.append(name)
else:
self._data.disabled_comps.append(name)
self._data.resolved_comps = True
def enabled_entries(self) -> list[ManifestEntry]:
"""The entries of every enabled component."""