Merge remote-tracking branch 'origin/master'
commit
0ec86be5e9
|
@ -21,10 +21,29 @@ use Composer\Package\LinkConstraint\LinkConstraintInterface;
|
|||
*/
|
||||
class Link
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $source;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $target;
|
||||
|
||||
/**
|
||||
* @var LinkConstraintInterface|null
|
||||
*/
|
||||
protected $constraint;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $description;
|
||||
|
||||
/**
|
||||
* @var string|null
|
||||
*/
|
||||
protected $prettyConstraint;
|
||||
|
||||
/**
|
||||
|
@ -32,9 +51,9 @@ class Link
|
|||
*
|
||||
* @param string $source
|
||||
* @param string $target
|
||||
* @param LinkConstraintInterface $constraint Constraint applying to the target of this link
|
||||
* @param LinkConstraintInterface|null $constraint Constraint applying to the target of this link
|
||||
* @param string $description Used to create a descriptive string representation
|
||||
* @param string $prettyConstraint
|
||||
* @param string|null $prettyConstraint
|
||||
*/
|
||||
public function __construct($source, $target, LinkConstraintInterface $constraint = null, $description = 'relates to', $prettyConstraint = null)
|
||||
{
|
||||
|
@ -45,21 +64,34 @@ class Link
|
|||
$this->prettyConstraint = $prettyConstraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getSource()
|
||||
{
|
||||
return $this->source;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTarget()
|
||||
{
|
||||
return $this->target;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return LinkConstraintInterface|null
|
||||
*/
|
||||
public function getConstraint()
|
||||
{
|
||||
return $this->constraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws \UnexpectedValueException If no pretty constraint was provided
|
||||
* @return string
|
||||
*/
|
||||
public function getPrettyConstraint()
|
||||
{
|
||||
if (null === $this->prettyConstraint) {
|
||||
|
@ -69,11 +101,18 @@ class Link
|
|||
return $this->prettyConstraint;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return $this->source.' '.$this->description.' '.$this->target.' ('.$this->constraint.')';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param PackageInterface $sourcePackage
|
||||
* @return string
|
||||
*/
|
||||
public function getPrettyString(PackageInterface $sourcePackage)
|
||||
{
|
||||
return $sourcePackage->getPrettyString().' '.$this->description.' '.$this->target.' '.$this->constraint->getPrettyString().'';
|
||||
|
|
|
@ -113,14 +113,14 @@ class PluginManager
|
|||
*/
|
||||
public function loadRepository(RepositoryInterface $repo)
|
||||
{
|
||||
foreach ($repo->getPackages() as $package) {
|
||||
foreach ($repo->getPackages() as $package) { /** @var PackageInterface $package */
|
||||
if ($package instanceof AliasPackage) {
|
||||
continue;
|
||||
}
|
||||
if ('composer-plugin' === $package->getType()) {
|
||||
$requiresComposer = null;
|
||||
foreach ($package->getRequires() as $link) {
|
||||
if ($link->getTarget() == 'composer-plugin-api') {
|
||||
foreach ($package->getRequires() as $link) { /** @var Link $link */
|
||||
if ('composer-plugin-api' === $link->getTarget()) {
|
||||
$requiresComposer = $link->getConstraint();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue