@@ -132,16 +132,18 @@ def find_generators(self) -> list[type[Generator]]:
132132 group_name = 'generator'
133133 plugin_types: list[type[Generator]] = []
134134
135+ entries = entry_points(group=f'cppython.{group_name}')
136+
135137 # Filter entries by type
136- for entry_point in list(entry_points(group=f'cppython.{group_name}') ):
138+ for entry_point in list(entries ):
137139 loaded_type = entry_point.load()
138140 if not issubclass(loaded_type, Generator):
139141 self._logger.warning(
140142 f"Found incompatible plugin. The '{loaded_type.name()}' plugin must be an instance of"
141143 f" '{group_name}'"
142144 )
143145 else:
144- self._logger.warning (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
146+ self._logger.info (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
145147 plugin_types.append(loaded_type)
146148
147149 if not plugin_types:
@@ -161,16 +163,18 @@ def find_providers(self) -> list[type[Provider]]:
161163 group_name = 'provider'
162164 plugin_types: list[type[Provider]] = []
163165
166+ entries = entry_points(group=f'cppython.{group_name}')
167+
164168 # Filter entries by type
165- for entry_point in list(entry_points(group=f'cppython.{group_name}') ):
169+ for entry_point in list(entries ):
166170 loaded_type = entry_point.load()
167171 if not issubclass(loaded_type, Provider):
168172 self._logger.warning(
169173 f"Found incompatible plugin. The '{loaded_type.name()}' plugin must be an instance of"
170174 f" '{group_name}'"
171175 )
172176 else:
173- self._logger.warning (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
177+ self._logger.info (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
174178 plugin_types.append(loaded_type)
175179
176180 if not plugin_types:
@@ -190,16 +194,18 @@ def find_source_managers(self) -> list[type[SCM]]:
190194 group_name = 'scm'
191195 plugin_types: list[type[SCM]] = []
192196
197+ entries = entry_points(group=f'cppython.{group_name}')
198+
193199 # Filter entries by type
194- for entry_point in list(entry_points(group=f'cppython.{group_name}') ):
200+ for entry_point in list(entries ):
195201 loaded_type = entry_point.load()
196202 if not issubclass(loaded_type, SCM):
197203 self._logger.warning(
198204 f"Found incompatible plugin. The '{loaded_type.name()}' plugin must be an instance of"
199205 f" '{group_name}'"
200206 )
201207 else:
202- self._logger.warning (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
208+ self._logger.info (f'{group_name} plugin found: {loaded_type.name()} from {getmodule(loaded_type)}')
203209 plugin_types.append(loaded_type)
204210
205211 if not plugin_types:
@@ -227,20 +233,16 @@ def filter_plugins[T: DataPlugin](
227233 if pinned_name is not None:
228234 for loaded_type in plugin_types:
229235 if loaded_type.name() == pinned_name:
230- self._logger.warning(
231- f'Using {group_name} plugin: {loaded_type.name()} from {getmodule(loaded_type)}'
232- )
236+ self._logger.info(f'Using {group_name} plugin: {loaded_type.name()} from {getmodule(loaded_type)}')
233237 return [loaded_type]
234238
235- self._logger.warning (f"'{group_name}_name' was empty. Trying to deduce {group_name}s")
239+ self._logger.info (f"'{group_name}_name' was empty. Trying to deduce {group_name}s")
236240
237241 supported_types: list[type[T]] = []
238242
239243 # Deduce types
240244 for loaded_type in plugin_types:
241- self._logger.warning(
242- f'A {group_name} plugin is supported: {loaded_type.name()} from {getmodule(loaded_type)}'
243- )
245+ self._logger.info(f'A {group_name} plugin is supported: {loaded_type.name()} from {getmodule(loaded_type)}')
244246 supported_types.append(loaded_type)
245247
246248 # Fail
@@ -260,7 +262,7 @@ def select_scm(self, scm_plugins: list[type[SCM]], project_data: ProjectData) ->
260262 The selected SCM plugin type
261263 """
262264 for scm_type in scm_plugins:
263- if scm_type.features(project_data.pyproject_file.parent ).repository:
265+ if scm_type.features(project_data.project_root ).repository:
264266 return scm_type
265267
266268 self._logger.info('No SCM plugin was found that supports the given path')
@@ -342,7 +344,7 @@ def create_generator(
342344 generator_data = resolve_generator(core_data.project_data, cppython_plugin_data)
343345
344346 if not generator_configuration:
345- self._logger.error (
347+ self._logger.info (
346348 "The pyproject.toml table 'tool.cppython.generator' does not exist. Sending generator empty data",
347349 )
348350
@@ -377,7 +379,7 @@ def create_provider(
377379 provider_data = resolve_provider(core_data.project_data, cppython_plugin_data)
378380
379381 if not provider_configuration:
380- self._logger.error (
382+ self._logger.info (
381383 "The pyproject.toml table 'tool.cppython.provider' does not exist. Sending provider empty data",
382384 )
383385
@@ -393,17 +395,16 @@ def create_provider(
393395class Builder:
394396 """Helper class for building CPPython projects"""
395397
398+ levels = [logging.WARNING, logging.INFO, logging.DEBUG]
399+
396400 def __init__(self, project_configuration: ProjectConfiguration, logger: Logger) -> None:
397401 """Initializes the builder"""
398402 self._project_configuration = project_configuration
399403 self._logger = logger
400404
401- # Default logging levels
402- levels = [logging.WARNING, logging.INFO, logging.DEBUG]
403-
404405 # Add default output stream
405406 self._logger.addHandler(logging.StreamHandler())
406- self._logger.setLevel(levels[project_configuration.verbosity])
407+ self._logger.setLevel(Builder. levels[project_configuration.verbosity])
407408
408409 self._logger.info('Logging setup complete')
409410
0 commit comments