commit
29a1a2a424
|
@ -104,6 +104,7 @@ class DefaultPolicy implements PolicyInterface
|
|||
public function compareByPriorityPreferInstalled(Pool $pool, array $installedMap, PackageInterface $a, PackageInterface $b, $ignoreReplace = false)
|
||||
{
|
||||
if ($a->getRepository() === $b->getRepository()) {
|
||||
// prefer aliases to the original package
|
||||
if ($a->getName() === $b->getName()) {
|
||||
$aAliased = $a instanceof AliasPackage;
|
||||
$bAliased = $b instanceof AliasPackage;
|
||||
|
|
|
@ -73,18 +73,18 @@ abstract class BasePackage implements PackageInterface
|
|||
public function getNames()
|
||||
{
|
||||
$names = array(
|
||||
$this->getName(),
|
||||
$this->getName() => true,
|
||||
);
|
||||
|
||||
foreach ($this->getProvides() as $link) {
|
||||
$names[] = $link->getTarget();
|
||||
$names[$link->getTarget()] = true;
|
||||
}
|
||||
|
||||
foreach ($this->getReplaces() as $link) {
|
||||
$names[] = $link->getTarget();
|
||||
$names[$link->getTarget()] = true;
|
||||
}
|
||||
|
||||
return $names;
|
||||
return array_keys($names);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -118,14 +118,14 @@ abstract class BasePackage implements PackageInterface
|
|||
}
|
||||
|
||||
foreach ($this->getProvides() as $link) {
|
||||
if ($link->getTarget() === $name) {
|
||||
return $constraint->matches($link->getConstraint());
|
||||
if ($link->getTarget() === $name && $constraint->matches($link->getConstraint())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->getReplaces() as $link) {
|
||||
if ($link->getTarget() === $name) {
|
||||
return $constraint->matches($link->getConstraint());
|
||||
if ($link->getTarget() === $name && $constraint->matches($link->getConstraint())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue