1
0
Fork 0
mirror of https://github.com/composer/composer synced 2025-05-10 09:02:59 +00:00

Remove RepositorySet from Solver and remove getPool from RepositorySet

This commit is contained in:
Jordi Boggiano 2020-01-30 15:23:22 +01:00
parent f982a10447
commit c41df325d8
No known key found for this signature in database
GPG key ID: 7BBD42C429EC80BC
10 changed files with 36 additions and 61 deletions

View file

@ -21,24 +21,23 @@ use Composer\Repository\RepositorySet;
class SolverProblemsException extends \RuntimeException
{
protected $problems;
protected $installedMap;
protected $learnedPool;
public function __construct(array $problems, RepositorySet $repositorySet, Request $request, array $learnedPool)
public function __construct(array $problems, array $learnedPool)
{
$this->problems = $problems;
$this->installedMap = $request->getPresentMap(true);
$this->learnedPool = $learnedPool;
parent::__construct($this->createMessage($repositorySet, $request), 2);
parent::__construct('Failed resolving dependencies with '.count($problems).' problems, call getPrettyString to get formatted details', 2);
}
protected function createMessage(RepositorySet $repositorySet, Request $request)
public function getPrettyString(RepositorySet $repositorySet, Request $request, Pool $pool)
{
$installedMap = $request->getPresentMap(true);
$text = "\n";
$hasExtensionProblems = false;
foreach ($this->problems as $i => $problem) {
$text .= " Problem ".($i + 1).$problem->getPrettyString($repositorySet, $request, $this->installedMap, $this->learnedPool)."\n";
$text .= " Problem ".($i + 1).$problem->getPrettyString($repositorySet, $request, $pool, $installedMap, $this->learnedPool)."\n";
if (!$hasExtensionProblems && $this->hasExtensionProblems($problem->getReasons())) {
$hasExtensionProblems = true;