diff --git a/src/python/pants/help/help_info_extracter.py b/src/python/pants/help/help_info_extracter.py index 8eef1a0901b..7dc70a1e3ec 100644 --- a/src/python/pants/help/help_info_extracter.py +++ b/src/python/pants/help/help_info_extracter.py @@ -810,20 +810,17 @@ def _extract_api_types() -> Iterator[tuple[type, str, tuple[type, ...]]]: ), ) - def get_api_type_info_loader(api_type: type) -> Callable[[], PluginAPITypeInfo]: - def load() -> PluginAPITypeInfo: - return PluginAPITypeInfo.create( - api_type, - rules, - provider=type_graph[api_type]["providers"], - dependencies=type_graph[api_type]["dependencies"], - dependents=type_graph[api_type].get("dependents", ()), - union_members=tuple( - sorted(member.__qualname__ for member in union_membership.get(api_type)) - ), - ) - - return load + def get_api_type_info(api_type: type) -> PluginAPITypeInfo: + return PluginAPITypeInfo.create( + api_type, + rules, + provider=type_graph[api_type]["providers"], + dependencies=type_graph[api_type]["dependencies"], + dependents=type_graph[api_type].get("dependents", ()), + union_members=tuple( + sorted(member.__qualname__ for member in union_membership.get(api_type)) + ), + ) def merge_type_info(this: PluginAPITypeInfo, that: PluginAPITypeInfo) -> PluginAPITypeInfo: def merge_tuples(l, r): @@ -847,7 +844,7 @@ def merge_tuples(l, r): infos: dict[str, PluginAPITypeInfo] = {} for api_type in sorted(all_types, key=attrgetter("__name__")): api_type_name = f"{api_type.__module__}.{api_type.__qualname__}" - api_type_info = get_api_type_info_loader(api_type)() + api_type_info = get_api_type_info(api_type) if api_type_name in infos: infos[api_type_name] = merge_type_info(infos[api_type_name], api_type_info) else: diff --git a/src/python/pants/help/help_info_extracter_test.py b/src/python/pants/help/help_info_extracter_test.py index cc6d523b098..7c3fab9de24 100644 --- a/src/python/pants/help/help_info_extracter_test.py +++ b/src/python/pants/help/help_info_extracter_test.py @@ -531,7 +531,7 @@ def fake_consumed_scopes_mapper(scope: str) -> Tuple[str, ...]: }, }, "name_to_api_type_info": { - "pants.help.help_info_extracter_test.Foo": { + "pants.help.help_info_extracter_test.test_get_all_help_info..Foo": { "consumed_by_rules": ( "pants.help.help_info_extracter_test.test_get_all_help_info.rule_info_test", ), @@ -541,7 +541,7 @@ def fake_consumed_scopes_mapper(scope: str) -> Tuple[str, ...]: "is_union": False, "module": "pants.help.help_info_extracter_test", "name": "Foo", - "provider": "help_info_extracter_test", + "provider": ("help_info_extracter_test",), "returned_by_rules": ("construct_scope_foo",), "union_members": (), "union_type": None, @@ -561,7 +561,7 @@ def fake_consumed_scopes_mapper(scope: str) -> Tuple[str, ...]: "is_union": False, "module": "pants.engine.target", "name": "Target", - "provider": "help_info_extracter_test", + "provider": ("help_info_extracter_test",), "returned_by_rules": ( "pants.help.help_info_extracter_test.test_get_all_help_info.rule_info_test", ), @@ -577,7 +577,7 @@ def fake_consumed_scopes_mapper(scope: str) -> Tuple[str, ...]: "is_union": False, "module": "pants.option.scope", "name": "Scope", - "provider": "pants.option.scope", + "provider": ("pants.option.scope",), "returned_by_rules": (), "union_members": (), "union_type": None,