@@ -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