[sdk/kde-builder] kde_builder_lib: refactor: Remove unneeded accessors in ModuleSet
Andrew Shark <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 83542e22b533054ccbf39c9b0654da9329122568 by Andrew Shark.
Committed on 29/07/2026 at 20:47.
Pushed by ashark into branch 'master'.
refactor: Remove unneeded accessors in ModuleSet
M +1 -1 kde_builder_lib/application.py
M +1 -1 kde_builder_lib/module_resolver.py
M +8 -43 kde_builder_lib/module_set/module_set.py
https://invent.kde.org/sdk/kde-builder/-/commit/83542e22b533054ccbf39c9b0654da9329122568
diff --git a/kde_builder_lib/application.py b/kde_builder_lib/application.py
index 3a6c6a6d..d33fd6aa 100644
--- a/kde_builder_lib/application.py
+++ b/kde_builder_lib/application.py
@@ -774,7 +774,7 @@ class Application:
# Save "use-projects" entries, so we can see if later module decls
# are overriding/overlaying their options.
- module_set_items = new_module_set.module_names_to_find()
+ module_set_items = [name.rsplit("/", 1)[-1] for name in new_module_set.modules_to_find]
# seen_module_set_items = {item: new_module_set for item in module_set_items}
# Reserve enough "create IDs" for all named modules to use
diff --git a/kde_builder_lib/module_resolver.py b/kde_builder_lib/module_resolver.py
index e1dac912..d046bddb 100644
--- a/kde_builder_lib/module_resolver.py
+++ b/kde_builder_lib/module_resolver.py
@@ -193,7 +193,7 @@ class ModuleResolver:
elif selector_name in self.defined_groups:
group: ModuleSet = self.defined_groups[selector_name]
# At this point, all groups are expanded. So just take its projects.
- projects: list[Module] = group.get_projects()
+ projects: list[Module] = group.project_objects_list
results.extend(projects)
# Case 3: selector_name names either kde project that is not yet in self.defined_projects, or is fully unrecognized.
diff --git a/kde_builder_lib/module_set/module_set.py b/kde_builder_lib/module_set/module_set.py
index d14eddce..7a9c7086 100644
--- a/kde_builder_lib/module_set/module_set.py
+++ b/kde_builder_lib/module_set/module_set.py
@@ -48,10 +48,9 @@ class ModuleSet(OptionsBase):
self.start_for_create_id: int = 0
self.options["repository"] = "kde-projects"
- # newOptions:
self.name: str = name or ""
- self.module_search_decls: list[str] = []
- self.module_ignore_decls: list[str] = []
+ self.modules_to_find: list[str] = []
+ self.modules_to_ignore: list[str] = []
self.module_order: dict[str, int] = {}
"""Maps module names to position in list."""
@@ -62,35 +61,6 @@ class ModuleSet(OptionsBase):
def __str__(self): # pl2py: In perl there were no stringify for module-set, but we will make it, for convenience.
return self.name
- def modules_to_find(self) -> list[str]:
- return self.module_search_decls
-
- def set_modules_to_find(self, module_decls: list[str]) -> None:
- decl_order: dict[str, int] = {module_decls[i]: i for i in range(len(module_decls))}
-
- self.module_search_decls = module_decls
- self.module_order = decl_order
-
- def module_names_to_find(self) -> list[str]:
- """
- Get module names to find.
-
- Same as modules_to_find, but strips away any path components to leave just module names.
- E.g. a "use-projects: [kde/kdelibs, juk]" would give [kdelibs, juk] as the result list.
- """
- modules = self.modules_to_find()
- ret = []
- for module in modules:
- module = module.split("/")[-1]
- ret.append(module)
- return ret
-
- def modules_to_ignore(self) -> list[str]:
- return self.module_ignore_decls
-
- def add_modules_to_ignore(self, module_decls: list[str]) -> None:
- self.module_ignore_decls.extend(module_decls)
-
def _initialize_new_module(self, new_module: Module) -> None:
"""
Initialize new module.
@@ -106,7 +76,7 @@ class ModuleSet(OptionsBase):
# to sort at the end within the module-set.
start_order = self.start_for_create_id
- order_in_list: int = self.module_order.get(f"{new_module}", len(self.module_search_decls))
+ order_in_list: int = self.module_order.get(f"{new_module}", len(self.modules_to_find))
new_module.create_id = start_order + order_in_list
# @override
@@ -123,7 +93,8 @@ class ModuleSet(OptionsBase):
logger_moduleset.error("in the y[use-projects] entry.")
raise SetOptionError("use-projects", "Invalid use-projects")
- self.set_modules_to_find(modules)
+ self.modules_to_find = modules
+ self.module_order: dict[str, int] = {modules[i]: i for i in range(len(modules))}
return
if opt_name == "ignore-projects":
@@ -134,7 +105,7 @@ class ModuleSet(OptionsBase):
logger_moduleset.error("in the y[ignore-projects] entry.")
raise SetOptionError("ignore-projects", "Invalid ignore-projects")
- self.add_modules_to_ignore(modules)
+ self.modules_to_ignore.extend(modules)
return
# Actually set options.
@@ -148,12 +119,12 @@ class ModuleSet(OptionsBase):
Any modules ignored by this module set are excluded from the returned list.
The modules returned have not been added to the build context.
"""
- ignore_list: list[str] = self.modules_to_ignore()
+ ignore_list: list[str] = self.modules_to_ignore
module_list = [] # module names converted to `Module` objects.
# Setup default options for each module
- for module_item in self.modules_to_find():
+ for module_item in self.modules_to_find:
try:
module_names: list[str] = self.context.projects_db.get_identifiers_for_selector(module_item, ignore_list)
@@ -181,9 +152,3 @@ class ModuleSet(OptionsBase):
Ensure we are setting the correct type for value of option.
"""
self.context.verify_option_value_type(option_name, option_value)
-
- def get_projects(self):
- """
- Return the list of Module objects.
- """
- return self.project_objects_list