Show reasons why an operation is executed in -vv mode, fixes #1063
parent
3b97e2e260
commit
201cde05be
|
@ -82,6 +82,16 @@ class Rule
|
||||||
return $this->job;
|
return $this->job;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getReason()
|
||||||
|
{
|
||||||
|
return $this->reason;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getReasonData()
|
||||||
|
{
|
||||||
|
return $this->reasonData;
|
||||||
|
}
|
||||||
|
|
||||||
public function getRequiredPackage()
|
public function getRequiredPackage()
|
||||||
{
|
{
|
||||||
if ($this->reason === self::RULE_JOB_INSTALL) {
|
if ($this->reason === self::RULE_JOB_INSTALL) {
|
||||||
|
@ -200,9 +210,12 @@ class Rule
|
||||||
if ($requires) {
|
if ($requires) {
|
||||||
$requireText = array();
|
$requireText = array();
|
||||||
foreach ($requires as $require) {
|
foreach ($requires as $require) {
|
||||||
$requireText[] = $require->getPrettyString();
|
$requireText[$require->getName()][] = $require->getPrettyVersion();
|
||||||
}
|
}
|
||||||
$text .= ' -> satisfiable by '.implode(', ', $requireText).'.';
|
foreach ($requireText as $name => $versions) {
|
||||||
|
$requireText[$name] = $name.'['.implode(', ', $versions).']';
|
||||||
|
}
|
||||||
|
$text .= ' -> satisfiable by '.implode(', ', $requireText);
|
||||||
} else {
|
} else {
|
||||||
$targetName = $this->reasonData->getTarget();
|
$targetName = $this->reasonData->getTarget();
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ use Composer\DependencyResolver\Operation\UpdateOperation;
|
||||||
use Composer\DependencyResolver\Operation\UninstallOperation;
|
use Composer\DependencyResolver\Operation\UninstallOperation;
|
||||||
use Composer\DependencyResolver\Pool;
|
use Composer\DependencyResolver\Pool;
|
||||||
use Composer\DependencyResolver\Request;
|
use Composer\DependencyResolver\Request;
|
||||||
|
use Composer\DependencyResolver\Rule;
|
||||||
use Composer\DependencyResolver\Solver;
|
use Composer\DependencyResolver\Solver;
|
||||||
use Composer\DependencyResolver\SolverProblemsException;
|
use Composer\DependencyResolver\SolverProblemsException;
|
||||||
use Composer\Downloader\DownloadManager;
|
use Composer\Downloader\DownloadManager;
|
||||||
|
@ -496,6 +497,21 @@ class Installer
|
||||||
|
|
||||||
$this->installationManager->execute($localRepo, $operation);
|
$this->installationManager->execute($localRepo, $operation);
|
||||||
|
|
||||||
|
// output reasons why the operation was ran
|
||||||
|
if ($this->verbose && $this->io->isVeryVerbose()) {
|
||||||
|
$reason = $operation->getReason();
|
||||||
|
if ($reason instanceof Rule) {
|
||||||
|
switch ($reason->getReason()) {
|
||||||
|
case Rule::RULE_JOB_INSTALL:
|
||||||
|
$this->io->write(' REASON: Required to be installed: '.$reason->getRequiredPackage());
|
||||||
|
break;
|
||||||
|
case Rule::RULE_PACKAGE_REQUIRES:
|
||||||
|
$this->io->write(' REASON: '.$reason->getPrettyString());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$event = 'Composer\Script\ScriptEvents::POST_PACKAGE_'.strtoupper($operation->getJobType());
|
$event = 'Composer\Script\ScriptEvents::POST_PACKAGE_'.strtoupper($operation->getJobType());
|
||||||
if (defined($event) && $this->runScripts) {
|
if (defined($event) && $this->runScripts) {
|
||||||
$this->eventDispatcher->dispatchPackageEvent(constant($event), $this->devMode, $operation);
|
$this->eventDispatcher->dispatchPackageEvent(constant($event), $this->devMode, $operation);
|
||||||
|
|
Loading…
Reference in New Issue