MCPcopy
hub / github.com/pex-tool/pex / generate_reports

Method generate_reports

pex/resolver.py:318–365  ·  view source on GitHub ↗
(self, max_parallel_jobs=None)

Source from the content-addressed store, hash-verified

316 )
317
318 def generate_reports(self, max_parallel_jobs=None):
319 # type: (Optional[int]) -> Reports
320
321 if not self.requests or not any(request.has_requirements for request in self.requests):
322 # Nothing to report.
323 return Reports()
324
325 dest = safe_mkdtemp(
326 prefix="resolver_report.", dir=safe_mkdir(CacheDir.DOWNLOADS.path(".tmp"))
327 )
328
329 log_manager = PipLogManager.create(
330 self.pip_log,
331 download_targets=tuple(request.download_target for request in self.requests),
332 )
333 if self.pip_log and not self.pip_log.user_specified:
334 TRACER.log(
335 "Preserving `pip install --dry-run` log at {log_path}".format(
336 log_path=self.pip_log.path
337 ),
338 V=ENV.PEX_VERBOSE,
339 )
340
341 spawn_report = functools.partial(
342 self._spawn_report, resolved_target_dir=dest, log_manager=log_manager
343 )
344 with TRACER.timed(
345 "Resolving for:\n {}".format(
346 "\n ".join(request.render_description() for request in self.requests)
347 )
348 ):
349 try:
350 return Reports(
351 reports=tuple(
352 Report.parse(download_request.download_target, report)
353 for download_request, report in zip(
354 self.requests,
355 execute_parallel(
356 inputs=self.requests,
357 spawn_func=spawn_report,
358 error_handler=Raise[DownloadRequest, str](Unsatisfiable),
359 max_jobs=max_parallel_jobs,
360 ),
361 )
362 )
363 )
364 finally:
365 log_manager.finalize_log()
366
367 def _spawn_report(
368 self,

Callers 1

reportsFunction · 0.80

Calls 12

safe_mkdtempFunction · 0.90
safe_mkdirFunction · 0.90
execute_parallelFunction · 0.90
ReportsClass · 0.85
logMethod · 0.80
timedMethod · 0.80
finalize_logMethod · 0.80
pathMethod · 0.45
createMethod · 0.45
joinMethod · 0.45
render_descriptionMethod · 0.45
parseMethod · 0.45

Tested by

no test coverage detected