CS fixes
parent
152694b574
commit
b7d770659b
|
@ -695,6 +695,7 @@ EOF;
|
|||
|
||||
$version = str_replace('-', '.', $bound->getVersion());
|
||||
$chunks = array_map('intval', explode('.', $version));
|
||||
|
||||
return $chunks[0] * 10000 + $chunks[1] * 100 + $chunks[2];
|
||||
};
|
||||
|
||||
|
@ -710,6 +711,7 @@ EOF;
|
|||
$version = str_replace('-', '.', $bound->getVersion());
|
||||
$chunks = explode('.', $version);
|
||||
$chunks = array_slice($chunks, 0, 3);
|
||||
|
||||
return implode('.', $chunks);
|
||||
};
|
||||
|
||||
|
|
|
@ -176,8 +176,7 @@ class ClassMapGenerator
|
|||
$className = substr($class, $namespaceLength + 1);
|
||||
$subPath = str_replace('\\', DIRECTORY_SEPARATOR, $namespace)
|
||||
. str_replace('_', DIRECTORY_SEPARATOR, $className);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$subPath = str_replace('_', DIRECTORY_SEPARATOR, $class);
|
||||
}
|
||||
} elseif ('psr-4' === $namespaceType) {
|
||||
|
|
|
@ -209,6 +209,7 @@ class Cache
|
|||
{
|
||||
if ($this->enabled) {
|
||||
$this->filesystem->emptyDirectory($this->root);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Command;
|
||||
|
||||
use Composer\Package\Link;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
|
|
|
@ -16,7 +16,6 @@ use Composer\Config;
|
|||
use Composer\Factory;
|
||||
use Composer\Installer;
|
||||
use Composer\Installer\ProjectInstaller;
|
||||
use Composer\Installer\InstallationManager;
|
||||
use Composer\Installer\SuggestedPackagesReporter;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Package\BasePackage;
|
||||
|
@ -39,9 +38,7 @@ use Composer\Json\JsonFile;
|
|||
use Composer\Config\JsonConfigSource;
|
||||
use Composer\Util\Filesystem;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\Loop;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
|
||||
/**
|
||||
* Install a package as new project into new directory.
|
||||
|
|
|
@ -677,7 +677,6 @@ EOT
|
|||
return !$warnings && !$errors ? true : $output;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if allow_url_fopen is ON
|
||||
*
|
||||
|
|
|
@ -18,7 +18,6 @@ use Composer\Package\BasePackage;
|
|||
use Composer\Semver\Constraint\MatchAllConstraint;
|
||||
use Composer\Repository\CompositeRepository;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
/**
|
||||
|
|
|
@ -845,7 +845,6 @@ EOT
|
|||
} catch (\Exception $e) {
|
||||
$this->getIO()->writeError('Could not install dependencies. Run `composer install` to see more information.');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private function hasDependencies($options)
|
||||
|
|
|
@ -275,6 +275,7 @@ EOT
|
|||
foreach ($packages as $package) {
|
||||
if ($composer->getRepositoryManager()->getLocalRepository()->findPackages($package)) {
|
||||
$io->writeError('<error>Removal failed, '.$package.' is still present, it may be required by another package. See `composer why '.$package.'`.</error>');
|
||||
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -269,7 +269,6 @@ EOT
|
|||
$rootPackage->setDevRequires($links['require-dev']);
|
||||
}
|
||||
|
||||
|
||||
$updateDevMode = !$input->getOption('update-no-dev');
|
||||
$optimize = $input->getOption('optimize-autoloader') || $composer->getConfig()->get('optimize-autoloader');
|
||||
$authoritative = $input->getOption('classmap-authoritative') || $composer->getConfig()->get('classmap-authoritative');
|
||||
|
|
|
@ -488,8 +488,8 @@ TAGSPUBKEY
|
|||
* Code taken from getcomposer.org/installer. Any changes should be made
|
||||
* there and replicated here
|
||||
*
|
||||
* @return bool If the operation succeeded
|
||||
* @throws \Exception
|
||||
* @return bool If the operation succeeded
|
||||
*/
|
||||
protected function validatePhar($pharFile, &$error)
|
||||
{
|
||||
|
|
|
@ -160,6 +160,7 @@ EOT
|
|||
$package = $this->getComposer()->getPackage();
|
||||
if ($input->getOption('name-only')) {
|
||||
$io->write($package->getName());
|
||||
|
||||
return 0;
|
||||
}
|
||||
$repos = $installedRepo = new InstalledRepository(array(new RootPackageRepository($package)));
|
||||
|
@ -207,7 +208,9 @@ EOT
|
|||
|
||||
if ($input->getOption('no-dev')) {
|
||||
$packages = $this->filterRequiredPackages($installedRepo, $rootPkg);
|
||||
$repos = $installedRepo = new InstalledRepository(array(new InstalledArrayRepository(array_map(function ($pkg) { return clone $pkg; }, $packages))));
|
||||
$repos = $installedRepo = new InstalledRepository(array(new InstalledArrayRepository(array_map(function ($pkg) {
|
||||
return clone $pkg;
|
||||
}, $packages))));
|
||||
}
|
||||
|
||||
if (!$installedRepo->getPackages() && ($rootPkg->getRequires() || $rootPkg->getDevRequires())) {
|
||||
|
@ -798,7 +801,7 @@ EOT
|
|||
'keywords' => $package->getKeywords() ?: array(),
|
||||
'type' => $package->getType(),
|
||||
'homepage' => $package->getHomepage(),
|
||||
'names' => $package->getNames()
|
||||
'names' => $package->getNames(),
|
||||
);
|
||||
|
||||
$json = $this->appendVersions($json, $versions);
|
||||
|
@ -814,7 +817,7 @@ EOT
|
|||
$json['source'] = array(
|
||||
'type' => $package->getSourceType(),
|
||||
'url' => $package->getSourceUrl(),
|
||||
'reference' => $package->getSourceReference()
|
||||
'reference' => $package->getSourceReference(),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -822,7 +825,7 @@ EOT
|
|||
$json['dist'] = array(
|
||||
'type' => $package->getDistType(),
|
||||
'url' => $package->getDistUrl(),
|
||||
'reference' => $package->getDistReference()
|
||||
'reference' => $package->getDistReference(),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -880,7 +883,7 @@ EOT
|
|||
return array(
|
||||
'name' => $license[0],
|
||||
'osi' => $licenseId,
|
||||
'url' => $license[2]
|
||||
'url' => $license[2],
|
||||
);
|
||||
}, $licenses);
|
||||
}
|
||||
|
|
|
@ -175,6 +175,7 @@ EOT
|
|||
|
||||
if ($updateMirrors && !empty($packages)) {
|
||||
$io->writeError('<error>You cannot simultaneously update only a selection of packages and regenerate the lock file metadata.</error>');
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -299,6 +300,7 @@ EOT
|
|||
$oldPrettyString = $link->getConstraint()->getPrettyString();
|
||||
$newConstraint = MultiConstraint::create(array($link->getConstraint(), $parser->parseConstraints($constraint)));
|
||||
$newConstraint->setPrettyString($oldPrettyString.', '.$constraint);
|
||||
|
||||
return new Link(
|
||||
$link->getSource(),
|
||||
$link->getTarget(),
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer;
|
||||
|
||||
use Composer\Json\JsonFile;
|
||||
use Composer\Spdx\SpdxLicenses;
|
||||
use Composer\CaBundle\CaBundle;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
@ -208,7 +207,7 @@ class Compiler
|
|||
array(
|
||||
'@package_version@' => $this->version,
|
||||
'@package_branch_alias_version@' => $this->branchAliasVersion,
|
||||
'@release_date@' => $this->versionDate->format('Y-m-d H:i:s')
|
||||
'@release_date@' => $this->versionDate->format('Y-m-d H:i:s'),
|
||||
)
|
||||
);
|
||||
$content = preg_replace('{SOURCE_VERSION = \'[^\']+\';}', 'SOURCE_VERSION = \'\';', $content);
|
||||
|
|
|
@ -248,6 +248,7 @@ class Config
|
|||
if (false === $val) {
|
||||
$val = $this->config[$key];
|
||||
}
|
||||
|
||||
return $val !== 'false' && (bool) $val;
|
||||
|
||||
// booleans without env var support
|
||||
|
|
|
@ -252,7 +252,7 @@ class JsonConfigSource implements ConfigSourceInterface
|
|||
$this->arrayUnshiftRef($args, $config);
|
||||
call_user_func_array($fallback, $args);
|
||||
// avoid ending up with arrays for keys that should be objects
|
||||
foreach (array('require', 'require-dev', 'conflict', 'provide', 'replace', 'suggest', 'config', 'autoload', 'autoload-dev', 'scripts', 'scripts-descriptions', 'support', ) as $prop) {
|
||||
foreach (array('require', 'require-dev', 'conflict', 'provide', 'replace', 'suggest', 'config', 'autoload', 'autoload-dev', 'scripts', 'scripts-descriptions', 'support') as $prop) {
|
||||
if (isset($config[$prop]) && $config[$prop] === array()) {
|
||||
$config[$prop] = new \stdClass;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Console;
|
||||
|
||||
use Composer\IO\IOInterface;
|
||||
|
|
|
@ -206,6 +206,7 @@ class Decisions implements \Iterator, \Countable
|
|||
$str .= $packageId.':'.$level.',';
|
||||
}
|
||||
$str .= ']';
|
||||
|
||||
return $str;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,14 +12,7 @@
|
|||
|
||||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\DependencyResolver\Operation\MarkAliasUninstalledOperation;
|
||||
use Composer\DependencyResolver\Operation\UninstallOperation;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Repository\PlatformRepository;
|
||||
use Composer\Repository\RepositoryInterface;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
|
||||
/**
|
||||
* @author Nils Adermann <naderman@naderman.de>
|
||||
|
|
|
@ -12,13 +12,8 @@
|
|||
|
||||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\DependencyResolver\Operation\OperationInterface;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\RootAliasPackage;
|
||||
use Composer\Package\RootPackageInterface;
|
||||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Repository\RepositoryInterface;
|
||||
use Composer\Test\Repository\ArrayRepositoryTest;
|
||||
|
||||
/**
|
||||
* @author Nils Adermann <naderman@naderman.de>
|
||||
|
@ -50,7 +45,6 @@ class LockTransaction extends Transaction
|
|||
|
||||
$this->setResultPackages($pool, $decisions);
|
||||
parent::__construct($this->presentMap, $this->resultPackages['all']);
|
||||
|
||||
}
|
||||
|
||||
// TODO make this a bit prettier instead of the two text indexes?
|
||||
|
|
|
@ -68,6 +68,7 @@ class MultiConflictRule extends Rule
|
|||
if ($rule instanceof MultiConflictRule) {
|
||||
return $this->literals === $rule->getLiterals();
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\DependencyResolver\Operation;
|
||||
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\PackageInterface;
|
||||
|
||||
/**
|
||||
* Solver install operation.
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\DependencyResolver\Operation;
|
||||
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\PackageInterface;
|
||||
|
||||
/**
|
||||
* Solver install operation.
|
||||
|
|
|
@ -12,8 +12,6 @@
|
|||
|
||||
namespace Composer\DependencyResolver\Operation;
|
||||
|
||||
use Composer\Package\PackageInterface;
|
||||
|
||||
/**
|
||||
* Abstract operation class.
|
||||
*
|
||||
|
|
|
@ -20,5 +20,6 @@ use Composer\Package\PackageInterface;
|
|||
interface PolicyInterface
|
||||
{
|
||||
public function versionCompare(PackageInterface $a, PackageInterface $b, $operator);
|
||||
|
||||
public function selectPreferredPackages(Pool $pool, array $literals, $requiredPackage = null);
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\Semver\CompilingMatcher;
|
||||
use Composer\Semver\Constraint\ConstraintInterface;
|
||||
|
|
|
@ -281,6 +281,7 @@ class PoolBuilder
|
|||
}
|
||||
|
||||
$this->packagesToLoad[$name] = $constraint;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -420,6 +421,7 @@ class PoolBuilder
|
|||
private function isRootRequire(Request $request, $name)
|
||||
{
|
||||
$rootRequires = $request->getRequires();
|
||||
|
||||
return isset($rootRequires[$name]);
|
||||
}
|
||||
|
||||
|
@ -503,4 +505,3 @@ class PoolBuilder
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -304,11 +304,13 @@ class Problem
|
|||
$maxProviders = 20;
|
||||
$providersStr = implode(array_map(function ($p) {
|
||||
$description = $p['description'] ? ' '.substr($p['description'], 0, 100) : '';
|
||||
|
||||
return " - ${p['name']}".$description."\n";
|
||||
}, count($providers) > $maxProviders + 1 ? array_slice($providers, 0, $maxProviders) : $providers));
|
||||
if (count($providers) > $maxProviders + 1) {
|
||||
$providersStr .= ' ... and '.(count($providers) - $maxProviders).' more.'."\n";
|
||||
}
|
||||
|
||||
return array("- Root composer.json requires $packageName".self::constraintToText($constraint).", it ", "could not be found in any version, but the following packages provide it:\n".$providersStr." Consider requiring one of these to satisfy the $packageName requirement.");
|
||||
}
|
||||
|
||||
|
@ -403,7 +405,6 @@ class Problem
|
|||
}
|
||||
|
||||
return array("- Root composer.json requires $packageName".self::constraintToText($constraint) . ', it is ', 'satisfiable by '.self::getPackageList($nextRepoPackages, $isVerbose).' from '.$nextRepo->getRepoName().' but '.self::getPackageList($higherRepoPackages, $isVerbose).' from '.reset($higherRepoPackages)->getRepository()->getRepoName().' has higher repository priority. The packages with higher priority do not match your '.$reason.' and are therefore not installable. See https://getcomposer.org/repoprio for details and assistance.');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -14,7 +14,6 @@ namespace Composer\DependencyResolver;
|
|||
|
||||
use Composer\Package\Package;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\RootAliasPackage;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\Semver\Constraint\ConstraintInterface;
|
||||
use Composer\Semver\Constraint\MatchAllConstraint;
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\Package\CompletePackage;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\AliasPackage;
|
||||
|
@ -279,14 +278,13 @@ abstract class Rule
|
|||
|
||||
return 'You can only install one version of a package, so only one of these can be installed: ' . $this->formatPackagesUnique($pool, $literals, $isVerbose) . '.';
|
||||
case self::RULE_LEARNED:
|
||||
/** @TODO currently still generates way too much output to be helpful, and in some cases can even lead to endless recursion
|
||||
if (isset($learnedPool[$this->reasonData])) {
|
||||
echo $this->reasonData."\n";
|
||||
$learnedString = ', learned rules:' . Problem::formatDeduplicatedRules($learnedPool[$this->reasonData], ' ', $repositorySet, $request, $pool, $isVerbose, $installedMap, $learnedPool);
|
||||
} else {
|
||||
$learnedString = ' (reasoning unavailable)';
|
||||
}
|
||||
*/
|
||||
/** @TODO currently still generates way too much output to be helpful, and in some cases can even lead to endless recursion */
|
||||
// if (isset($learnedPool[$this->reasonData])) {
|
||||
// echo $this->reasonData."\n";
|
||||
// $learnedString = ', learned rules:' . Problem::formatDeduplicatedRules($learnedPool[$this->reasonData], ' ', $repositorySet, $request, $pool, $isVerbose, $installedMap, $learnedPool);
|
||||
// } else {
|
||||
// $learnedString = ' (reasoning unavailable)';
|
||||
// }
|
||||
$learnedString = ' (conflict analysis result)';
|
||||
|
||||
if (count($literals) === 1) {
|
||||
|
|
|
@ -12,11 +12,9 @@
|
|||
|
||||
namespace Composer\DependencyResolver;
|
||||
|
||||
use Composer\Package\LinkConstraint\VersionConstraint;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Repository\PlatformRepository;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
|
||||
/**
|
||||
* @author Nils Adermann <naderman@naderman.de>
|
||||
|
|
|
@ -61,7 +61,6 @@ class RuleWatchGraph
|
|||
$this->watchChains[$literal]->unshift($node);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -15,7 +15,6 @@ namespace Composer\DependencyResolver;
|
|||
use Composer\IO\IOInterface;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Repository\PlatformRepository;
|
||||
use Composer\Semver\Constraint\MultiConstraint;
|
||||
|
||||
/**
|
||||
* @author Nils Adermann <naderman@naderman.de>
|
||||
|
|
|
@ -68,6 +68,7 @@ class Transaction
|
|||
// if names are the same, compare version, e.g. to sort aliases reliably, actual order does not matter
|
||||
return strcmp($b->getVersion(), $a->getVersion());
|
||||
}
|
||||
|
||||
return strcmp($b->getName(), $a->getName());
|
||||
};
|
||||
|
||||
|
@ -230,6 +231,7 @@ class Transaction
|
|||
if (!isset($this->resultPackagesByName[$link->getTarget()])) {
|
||||
return array();
|
||||
}
|
||||
|
||||
return $this->resultPackagesByName[$link->getTarget()];
|
||||
}
|
||||
|
||||
|
|
|
@ -14,8 +14,6 @@ namespace Composer\Downloader;
|
|||
|
||||
use Composer\Package\PackageInterface;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Exception\IrrecoverableDownloadException;
|
||||
use React\Promise\PromiseInterface;
|
||||
use Composer\DependencyResolver\Operation\InstallOperation;
|
||||
|
||||
|
@ -28,7 +26,6 @@ use Composer\DependencyResolver\Operation\InstallOperation;
|
|||
*/
|
||||
abstract class ArchiveDownloader extends FileDownloader
|
||||
{
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* @throws \RuntimeException
|
||||
|
@ -158,8 +155,8 @@ abstract class ArchiveDownloader extends FileDownloader
|
|||
* @param string $file Extracted file
|
||||
* @param string $path Directory
|
||||
*
|
||||
* @return PromiseInterface|null
|
||||
* @throws \UnexpectedValueException If can not extract downloaded file to path
|
||||
* @return PromiseInterface|null
|
||||
*/
|
||||
abstract protected function extract(PackageInterface $package, $file, $path);
|
||||
}
|
||||
|
|
|
@ -175,9 +175,9 @@ class DownloadManager
|
|||
* @param string $targetDir target dir
|
||||
* @param PackageInterface|null $prevPackage previous package instance in case of updates
|
||||
*
|
||||
* @return PromiseInterface
|
||||
* @throws \InvalidArgumentException if package have no urls to download from
|
||||
* @throws \RuntimeException
|
||||
* @return PromiseInterface
|
||||
*/
|
||||
public function download(PackageInterface $package, $targetDir, PackageInterface $prevPackage = null)
|
||||
{
|
||||
|
@ -264,9 +264,9 @@ class DownloadManager
|
|||
* @param PackageInterface $package package instance
|
||||
* @param string $targetDir target dir
|
||||
*
|
||||
* @return PromiseInterface|null
|
||||
* @throws \InvalidArgumentException if package have no urls to download from
|
||||
* @throws \RuntimeException
|
||||
* @return PromiseInterface|null
|
||||
*/
|
||||
public function install(PackageInterface $package, $targetDir)
|
||||
{
|
||||
|
@ -284,8 +284,8 @@ class DownloadManager
|
|||
* @param PackageInterface $target target package version
|
||||
* @param string $targetDir target dir
|
||||
*
|
||||
* @return PromiseInterface|null
|
||||
* @throws \InvalidArgumentException if initial package is not installed
|
||||
* @return PromiseInterface|null
|
||||
*/
|
||||
public function update(PackageInterface $initial, PackageInterface $target, $targetDir)
|
||||
{
|
||||
|
@ -324,6 +324,7 @@ class DownloadManager
|
|||
$promise = $initialDownloader->remove($initial, $targetDir);
|
||||
if ($promise) {
|
||||
$self = $this;
|
||||
|
||||
return $promise->then(function ($res) use ($self, $target, $targetDir) {
|
||||
return $self->install($target, $targetDir);
|
||||
});
|
||||
|
|
|
@ -29,7 +29,6 @@ use Composer\Util\Filesystem;
|
|||
use Composer\Util\HttpDownloader;
|
||||
use Composer\Util\Url as UrlUtil;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Downloader\TransportException;
|
||||
use React\Promise\PromiseInterface;
|
||||
|
||||
/**
|
||||
|
@ -121,7 +120,7 @@ class FileDownloader implements DownloaderInterface, ChangeReportInterface
|
|||
// from different packages, which would potentially allow a given package
|
||||
// in a third party repo to pre-populate the cache for the same package in
|
||||
// packagist for example.
|
||||
'cacheKey' => $cacheKeyGenerator($package, $processedUrl)
|
||||
'cacheKey' => $cacheKeyGenerator($package, $processedUrl),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@ class FossilDownloader extends VcsDownloader
|
|||
*/
|
||||
protected function doDownload(PackageInterface $package, $path, $url, PackageInterface $prevPackage = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,15 +12,9 @@
|
|||
|
||||
namespace Composer\Downloader;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Cache;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Util\Platform;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Util\Filesystem;
|
||||
|
||||
/**
|
||||
* GZip archive downloader.
|
||||
|
|
|
@ -26,7 +26,6 @@ class HgDownloader extends VcsDownloader
|
|||
*/
|
||||
protected function doDownload(PackageInterface $package, $path, $url, PackageInterface $prevPackage = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Downloader;
|
||||
|
||||
class MaxFileSizeExceededException extends TransportException
|
||||
|
|
|
@ -18,16 +18,9 @@ use Composer\Package\PackageInterface;
|
|||
use Composer\Package\Version\VersionGuesser;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\Util\Platform;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Config;
|
||||
use Composer\Cache;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\Filesystem;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\Filesystem\Exception\IOException;
|
||||
use Symfony\Component\Filesystem\Filesystem as SymfonyFilesystem;
|
||||
use Composer\DependencyResolver\Operation\UpdateOperation;
|
||||
use Composer\DependencyResolver\Operation\InstallOperation;
|
||||
use Composer\DependencyResolver\Operation\UninstallOperation;
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ class PerforceDownloader extends VcsDownloader
|
|||
*/
|
||||
protected function doDownload(PackageInterface $package, $path, $url, PackageInterface $prevPackage = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,15 +12,9 @@
|
|||
|
||||
namespace Composer\Downloader;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Cache;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Util\IniHelper;
|
||||
use Composer\Util\Platform;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\Util\Filesystem;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Package\PackageInterface;
|
||||
use RarArchive;
|
||||
|
||||
|
|
|
@ -30,7 +30,6 @@ class SvnDownloader extends VcsDownloader
|
|||
*/
|
||||
protected function doDownload(PackageInterface $package, $path, $url, PackageInterface $prevPackage = null)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -12,14 +12,8 @@
|
|||
|
||||
namespace Composer\Downloader;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Cache;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Util\Filesystem;
|
||||
|
||||
/**
|
||||
* Xz archive downloader.
|
||||
|
|
|
@ -12,16 +12,10 @@
|
|||
|
||||
namespace Composer\Downloader;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Cache;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Util\IniHelper;
|
||||
use Composer\Util\Platform;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\Filesystem;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\IO\IOInterface;
|
||||
use Symfony\Component\Process\ExecutableFinder;
|
||||
use ZipArchive;
|
||||
|
||||
|
|
|
@ -158,7 +158,6 @@ class EventDispatcher
|
|||
|
||||
$return = 0;
|
||||
foreach ($listeners as $callable) {
|
||||
|
||||
$this->ensureBinDirIsInPath();
|
||||
|
||||
if (!is_string($callable)) {
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer;
|
||||
|
||||
use Composer\Semver\VersionParser;
|
||||
|
|
|
@ -20,19 +20,14 @@ use Composer\DependencyResolver\LockTransaction;
|
|||
use Composer\DependencyResolver\Operation\UpdateOperation;
|
||||
use Composer\DependencyResolver\Operation\InstallOperation;
|
||||
use Composer\DependencyResolver\Operation\UninstallOperation;
|
||||
use Composer\DependencyResolver\Operation\MarkAliasUninstalledOperation;
|
||||
use Composer\DependencyResolver\Operation\OperationInterface;
|
||||
use Composer\DependencyResolver\PolicyInterface;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\DependencyResolver\Rule;
|
||||
use Composer\DependencyResolver\Solver;
|
||||
use Composer\DependencyResolver\SolverProblemsException;
|
||||
use Composer\Downloader\DownloadManager;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Installer\InstallationManager;
|
||||
use Composer\Installer\InstallerEvents;
|
||||
use Composer\Installer\NoopInstaller;
|
||||
use Composer\Installer\SuggestedPackagesReporter;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Package\AliasPackage;
|
||||
|
@ -41,7 +36,6 @@ use Composer\Package\BasePackage;
|
|||
use Composer\Package\CompletePackage;
|
||||
use Composer\Package\CompletePackageInterface;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Package\LinkConstraint\VersionConstraint;
|
||||
use Composer\Package\Loader\ArrayLoader;
|
||||
use Composer\Package\Dumper\ArrayDumper;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
|
@ -50,9 +44,7 @@ use Composer\Repository\ArrayRepository;
|
|||
use Composer\Repository\RepositorySet;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
use Composer\Package\Locker;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\RootPackageInterface;
|
||||
use Composer\Repository\CompositeRepository;
|
||||
use Composer\Repository\InstalledArrayRepository;
|
||||
use Composer\Repository\InstalledRepositoryInterface;
|
||||
use Composer\Repository\InstalledRepository;
|
||||
|
@ -376,6 +368,7 @@ class Installer
|
|||
if ($this->updateAllowList) {
|
||||
if (!$lockedRepository) {
|
||||
$this->io->writeError('<error>Cannot update only a partial set of packages without a lock file present.</error>', true, IOInterface::QUIET);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -660,6 +653,7 @@ class Installer
|
|||
// installing the locked packages on this platform resulted in lock modifying operations, there wasn't a conflict, but the lock file as-is seems to not work on this system
|
||||
if (0 !== count($lockTransaction->getOperations())) {
|
||||
$this->io->writeError('<error>Your lock file cannot be installed on this system without changes. Please run composer update.</error>', true, IOInterface::QUIET);
|
||||
|
||||
return 1;
|
||||
}
|
||||
} catch (SolverProblemsException $e) {
|
||||
|
|
|
@ -25,7 +25,6 @@ use Composer\DependencyResolver\Operation\UninstallOperation;
|
|||
use Composer\DependencyResolver\Operation\MarkAliasInstalledOperation;
|
||||
use Composer\DependencyResolver\Operation\MarkAliasUninstalledOperation;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Util\StreamContextFactory;
|
||||
use Composer\Util\Loop;
|
||||
use React\Promise\PromiseInterface;
|
||||
|
||||
|
|
|
@ -13,13 +13,9 @@
|
|||
namespace Composer\Installer;
|
||||
|
||||
use Composer\Composer;
|
||||
use Composer\DependencyResolver\PolicyInterface;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\DependencyResolver\Transaction;
|
||||
use Composer\EventDispatcher\Event;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Repository\RepositorySet;
|
||||
|
||||
class InstallerEvent extends Event
|
||||
{
|
||||
|
|
|
@ -82,9 +82,8 @@ interface InstallerInterface
|
|||
* @param InstalledRepositoryInterface $repo repository in which to check
|
||||
* @param PackageInterface $initial already installed package version
|
||||
* @param PackageInterface $target updated version
|
||||
* @return PromiseInterface|null
|
||||
*
|
||||
* @throws InvalidArgumentException if $initial package is not installed
|
||||
* @return PromiseInterface|null
|
||||
*/
|
||||
public function update(InstalledRepositoryInterface $repo, PackageInterface $initial, PackageInterface $target);
|
||||
|
||||
|
|
|
@ -139,6 +139,7 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
|
||||
$binaryInstaller = $this->binaryInstaller;
|
||||
$installPath = $this->getInstallPath($package);
|
||||
|
||||
return $promise->then(function () use ($binaryInstaller, $installPath, $package, $repo) {
|
||||
$binaryInstaller->installBinaries($package, $installPath);
|
||||
if (!$repo->hasPackage($package)) {
|
||||
|
@ -166,6 +167,7 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
|
||||
$binaryInstaller = $this->binaryInstaller;
|
||||
$installPath = $this->getInstallPath($target);
|
||||
|
||||
return $promise->then(function () use ($binaryInstaller, $installPath, $target, $initial, $repo) {
|
||||
$binaryInstaller->installBinaries($target, $installPath);
|
||||
$repo->removePackage($initial);
|
||||
|
@ -192,6 +194,7 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
$binaryInstaller = $this->binaryInstaller;
|
||||
$downloadPath = $this->getPackageBasePath($package);
|
||||
$filesystem = $this->filesystem;
|
||||
|
||||
return $promise->then(function () use ($binaryInstaller, $filesystem, $downloadPath, $package, $repo) {
|
||||
$binaryInstaller->removeBinaries($package);
|
||||
$repo->removePackage($package);
|
||||
|
@ -252,6 +255,7 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
protected function installCode(PackageInterface $package)
|
||||
{
|
||||
$downloadPath = $this->getInstallPath($package);
|
||||
|
||||
return $this->downloadManager->install($package, $downloadPath);
|
||||
}
|
||||
|
||||
|
@ -271,6 +275,7 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
}
|
||||
|
||||
$self = $this;
|
||||
|
||||
return $promise->then(function () use ($self, $target) {
|
||||
$reflMethod = new \ReflectionMethod($self, 'installCode');
|
||||
$reflMethod->setAccessible(true);
|
||||
|
@ -283,12 +288,14 @@ class LibraryInstaller implements InstallerInterface, BinaryPresenceInterface
|
|||
|
||||
$this->filesystem->rename($initialDownloadPath, $targetDownloadPath);
|
||||
}
|
||||
|
||||
return $this->downloadManager->update($initial, $target, $targetDownloadPath);
|
||||
}
|
||||
|
||||
protected function removeCode(PackageInterface $package)
|
||||
{
|
||||
$downloadPath = $this->getPackageBasePath($package);
|
||||
|
||||
return $this->downloadManager->remove($package, $downloadPath);
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@ namespace Composer\Installer;
|
|||
|
||||
use Composer\Repository\InstalledRepositoryInterface;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\DependencyResolver\Operation\UpdateOperation;
|
||||
use Composer\DependencyResolver\Operation\InstallOperation;
|
||||
|
|
|
@ -15,10 +15,7 @@ namespace Composer\Installer;
|
|||
use Composer\Composer;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\DependencyResolver\Operation\OperationInterface;
|
||||
use Composer\DependencyResolver\PolicyInterface;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\Repository\RepositoryInterface;
|
||||
use Composer\Repository\RepositorySet;
|
||||
use Composer\EventDispatcher\Event;
|
||||
|
||||
/**
|
||||
|
|
|
@ -71,6 +71,7 @@ class PluginInstaller extends LibraryInstaller
|
|||
|
||||
$pluginManager = $this->composer->getPluginManager();
|
||||
$self = $this;
|
||||
|
||||
return $promise->then(function () use ($self, $pluginManager, $package, $repo) {
|
||||
try {
|
||||
$pluginManager->registerPackage($package, true);
|
||||
|
@ -92,6 +93,7 @@ class PluginInstaller extends LibraryInstaller
|
|||
|
||||
$pluginManager = $this->composer->getPluginManager();
|
||||
$self = $this;
|
||||
|
||||
return $promise->then(function () use ($self, $pluginManager, $initial, $target, $repo) {
|
||||
try {
|
||||
$pluginManager->deactivatePackage($initial, true);
|
||||
|
|
|
@ -15,7 +15,6 @@ namespace Composer\Package;
|
|||
use Composer\Json\JsonFile;
|
||||
use Composer\Installer\InstallationManager;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\Repository\RepositoryManager;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Package\Dumper\ArrayDumper;
|
||||
use Composer\Package\Loader\ArrayLoader;
|
||||
|
@ -334,6 +333,7 @@ class Locker
|
|||
if (in_array($alias['version'], array('dev-master', 'dev-trunk', 'dev-default'), true)) {
|
||||
$alias['version'] = VersionParser::DEFAULT_BRANCH_ALIAS;
|
||||
}
|
||||
|
||||
return $alias;
|
||||
}, $aliases);
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@ use Composer\Util\HttpDownloader;
|
|||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\Svn as SvnUtil;
|
||||
|
||||
|
||||
/**
|
||||
* Try to guess the current version number based on different VCS configuration.
|
||||
*
|
||||
|
|
|
@ -12,10 +12,8 @@
|
|||
|
||||
namespace Composer\Package\Version;
|
||||
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Package\PackageInterface;
|
||||
use Composer\Plugin\PluginInterface;
|
||||
use Composer\Composer;
|
||||
use Composer\Package\Loader\ArrayLoader;
|
||||
use Composer\Package\Dumper\ArrayDumper;
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
|
|
|
@ -74,6 +74,7 @@ class Runtime
|
|||
}
|
||||
|
||||
$refl = new \ReflectionClass($class);
|
||||
|
||||
return $refl->newInstanceArgs($arguments);
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,6 @@ use Composer\Package\PackageInterface;
|
|||
*/
|
||||
class PostFileDownloadEvent extends Event
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
|
@ -76,7 +75,8 @@ class PostFileDownloadEvent extends Event
|
|||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getChecksum() {
|
||||
public function getChecksum()
|
||||
{
|
||||
return $this->checksum;
|
||||
}
|
||||
|
||||
|
@ -85,18 +85,18 @@ class PostFileDownloadEvent extends Event
|
|||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getUrl() {
|
||||
public function getUrl()
|
||||
{
|
||||
return $this->url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the package.
|
||||
*
|
||||
* @return \Composer\Package\PackageInterface
|
||||
* The package.
|
||||
* @return \Composer\Package\PackageInterface The package.
|
||||
*/
|
||||
public function getPackage() {
|
||||
public function getPackage()
|
||||
{
|
||||
return $this->package;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Plugin;
|
||||
|
||||
use Composer\EventDispatcher\Event;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Composer\Repository\RepositoryInterface;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\Package\PackageInterface;
|
||||
|
|
|
@ -1251,12 +1251,14 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|||
// package not found is acceptable for a v2 protocol repository
|
||||
if ($response->getStatusCode() === 404) {
|
||||
$repo->packagesNotFoundCache[$filename] = true;
|
||||
|
||||
return array('packages' => array());
|
||||
}
|
||||
|
||||
$json = $response->getBody();
|
||||
if ($json === '' && $response->getStatusCode() === 304) {
|
||||
$repo->freshMetadataUrls[$filename] = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1280,6 +1282,7 @@ class ComposerRepository extends ArrayRepository implements ConfigurableReposito
|
|||
$reject = function ($e) use (&$retries, $httpDownloader, $filename, $options, &$reject, $accept, $io, $url, &$degradedMode, $repo) {
|
||||
if ($e instanceof TransportException && $e->getStatusCode() === 404) {
|
||||
$repo->packagesNotFoundCache[$filename] = true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,9 @@ class CompositeRepository implements RepositoryInterface
|
|||
|
||||
public function getRepoName()
|
||||
{
|
||||
return 'composite repo ('.implode(', ', array_map(function ($repo) { return $repo->getRepoName(); }, $this->repositories)).')';
|
||||
return 'composite repo ('.implode(', ', array_map(function ($repo) {
|
||||
return $repo->getRepoName();
|
||||
}, $this->repositories)).')';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,11 +16,9 @@ use Composer\Package\Version\VersionParser;
|
|||
use Composer\Semver\Constraint\ConstraintInterface;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
use Composer\Semver\Constraint\MatchAllConstraint;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\RootPackageInterface;
|
||||
use Composer\Package\Link;
|
||||
|
||||
|
||||
/**
|
||||
* Installed repository is a composite of all installed repo types.
|
||||
*
|
||||
|
@ -231,7 +229,9 @@ class InstalledRepository extends CompositeRepository
|
|||
|
||||
public function getRepoName()
|
||||
{
|
||||
return 'installed repo ('.implode(', ', array_map(function ($repo) { return $repo->getRepoName(); }, $this->getRepositories())).')';
|
||||
return 'installed repo ('.implode(', ', array_map(function ($repo) {
|
||||
return $repo->getRepoName();
|
||||
}, $this->getRepositories())).')';
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -26,4 +26,3 @@ class LockArrayRepository extends ArrayRepository
|
|||
return 'lock repo';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,17 +12,6 @@
|
|||
|
||||
namespace Composer\Repository;
|
||||
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Semver\VersionParser as SemverVersionParser;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\Package\CompletePackage;
|
||||
use Composer\EventDispatcher\EventDispatcher;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Semver\Constraint\Constraint;
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\Config;
|
||||
use Composer\Factory;
|
||||
|
||||
/**
|
||||
* Builds list of package from PEAR channel.
|
||||
*
|
||||
|
|
|
@ -549,7 +549,7 @@ class PlatformRepository extends ArrayRepository
|
|||
|
||||
if ($name === 'uuid') {
|
||||
$ext->setReplaces(array(
|
||||
new Link('ext-uuid', 'lib-uuid', new Constraint('=', $version), Link::TYPE_REPLACE, $ext->getPrettyVersion())
|
||||
new Link('ext-uuid', 'lib-uuid', new Constraint('=', $version), Link::TYPE_REPLACE, $ext->getPrettyVersion()),
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -20,12 +20,6 @@ use Composer\IO\IOInterface;
|
|||
use Composer\IO\NullIO;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\Repository\CompositeRepository;
|
||||
use Composer\Repository\PlatformRepository;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\Repository\InstalledRepositoryInterface;
|
||||
use Composer\Repository\InstalledRepository;
|
||||
use Composer\Semver\Constraint\ConstraintInterface;
|
||||
use Composer\Package\Version\StabilityFilter;
|
||||
|
||||
|
@ -262,7 +256,6 @@ class RepositorySet
|
|||
$aliasPackage->setRootPackageAlias(true);
|
||||
$packages[] = $aliasPackage;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -193,7 +193,6 @@ class GitHubDriver extends VcsDriver
|
|||
}
|
||||
|
||||
foreach (array($this->getApiUrl() . '/repos/'.$this->owner.'/'.$this->repository.'/contents/.github/FUNDING.yml', $this->getApiUrl() . '/repos/'.$this->owner.'/.github/contents/FUNDING.yml') as $file) {
|
||||
|
||||
try {
|
||||
$response = $this->httpDownloader->get($file, array(
|
||||
'retry-auth-failure' => false,
|
||||
|
|
|
@ -563,6 +563,7 @@ class GitLabDriver extends VcsDriver
|
|||
if ($portNumber) {
|
||||
return $guessedDomain.':'.$portNumber;
|
||||
}
|
||||
|
||||
return $guessedDomain;
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ namespace Composer\Repository\Vcs;
|
|||
use Composer\Cache;
|
||||
use Composer\Downloader\TransportException;
|
||||
use Composer\Config;
|
||||
use Composer\Factory;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Json\JsonFile;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
|
|
|
@ -14,7 +14,6 @@ namespace Composer\SelfUpdate;
|
|||
|
||||
use Composer\Util\HttpDownloader;
|
||||
use Composer\Config;
|
||||
use Composer\Json\JsonFile;
|
||||
|
||||
/**
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
|
|
|
@ -141,7 +141,6 @@ class ConfigValidator
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// check for meaningless provide/replace satisfying requirements
|
||||
foreach (array('provide', 'replace') as $linkType) {
|
||||
if (isset($manifest[$linkType])) {
|
||||
|
|
|
@ -16,7 +16,6 @@ use Composer\IO\IOInterface;
|
|||
use Composer\Config;
|
||||
use Composer\Factory;
|
||||
use Composer\Downloader\TransportException;
|
||||
use Composer\Json\JsonFile;
|
||||
|
||||
/**
|
||||
* @author Roshan Gautam <roshan.gautam@hotmail.com>
|
||||
|
|
|
@ -16,7 +16,6 @@ use Composer\Config;
|
|||
use Composer\Downloader\MaxFileSizeExceededException;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Downloader\TransportException;
|
||||
use Composer\CaBundle\CaBundle;
|
||||
use Composer\Util\StreamContextFactory;
|
||||
use Composer\Util\AuthHelper;
|
||||
use Composer\Util\Url;
|
||||
|
@ -48,7 +47,7 @@ class CurlDownloader
|
|||
CURLM_BAD_HANDLE => array('CURLM_BAD_HANDLE', 'The passed-in handle is not a valid CURLM handle.'),
|
||||
CURLM_BAD_EASY_HANDLE => array('CURLM_BAD_EASY_HANDLE', "An easy handle was not good/valid. It could mean that it isn't an easy handle at all, or possibly that the handle already is in used by this or another multi handle."),
|
||||
CURLM_OUT_OF_MEMORY => array('CURLM_OUT_OF_MEMORY', 'You are doomed.'),
|
||||
CURLM_INTERNAL_ERROR => array('CURLM_INTERNAL_ERROR', 'This can only be returned if libcurl bugs. Please report it to us!')
|
||||
CURLM_INTERNAL_ERROR => array('CURLM_INTERNAL_ERROR', 'This can only be returned if libcurl bugs. Please report it to us!'),
|
||||
);
|
||||
|
||||
private static $options = array(
|
||||
|
@ -513,7 +512,8 @@ class CurlDownloader
|
|||
private function checkCurlResult($code)
|
||||
{
|
||||
if ($code != CURLM_OK && $code != CURLM_CALL_MULTI_PERFORM) {
|
||||
throw new \RuntimeException(isset($this->multiErrors[$code])
|
||||
throw new \RuntimeException(
|
||||
isset($this->multiErrors[$code])
|
||||
? "cURL error: {$code} ({$this->multiErrors[$code][0]}): cURL message: {$this->multiErrors[$code][1]}"
|
||||
: 'Unexpected cURL error: ' . $code
|
||||
);
|
||||
|
|
|
@ -51,7 +51,7 @@ class ProxyManager
|
|||
}
|
||||
|
||||
/**
|
||||
* @return ProxyManager *
|
||||
* @return ProxyManager
|
||||
*/
|
||||
public static function getInstance()
|
||||
{
|
||||
|
@ -130,6 +130,7 @@ class ProxyManager
|
|||
list($httpProxy, $httpsProxy, $noProxy) = ProxyHelper::getProxyData();
|
||||
} catch (\RuntimeException $e) {
|
||||
$this->error = $e->getMessage();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -177,6 +178,7 @@ class ProxyManager
|
|||
if ($this->noProxyHandler) {
|
||||
if (call_user_func($this->noProxyHandler, $requestUrl)) {
|
||||
$this->lastProxy = 'excluded by no_proxy';
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ namespace Composer\Util;
|
|||
use Composer\Config;
|
||||
use Composer\IO\IOInterface;
|
||||
use Composer\Downloader\TransportException;
|
||||
use Composer\CaBundle\CaBundle;
|
||||
use Composer\Util\Http\Response;
|
||||
use Composer\Composer;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
|
@ -265,6 +264,7 @@ class HttpDownloader
|
|||
$e->setStatusCode(499);
|
||||
$reject($e);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -395,17 +395,17 @@ class HttpDownloader
|
|||
Silencer::suppress();
|
||||
$testConnectivity = file_get_contents('https://8.8.8.8', false, stream_context_create(array(
|
||||
'ssl' => array('verify_peer' => false),
|
||||
'http' => array('follow_location' => false, 'ignore_errors' => true)
|
||||
'http' => array('follow_location' => false, 'ignore_errors' => true),
|
||||
)));
|
||||
Silencer::restore();
|
||||
if (false !== $testConnectivity) {
|
||||
return array(
|
||||
'<error>The following exception probably indicates you have misconfigured DNS resolver(s)</error>'
|
||||
'<error>The following exception probably indicates you have misconfigured DNS resolver(s)</error>',
|
||||
);
|
||||
}
|
||||
|
||||
return array(
|
||||
'<error>The following exception probably indicates you are offline or have misconfigured DNS resolver(s)</error>'
|
||||
'<error>The following exception probably indicates you are offline or have misconfigured DNS resolver(s)</error>',
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
namespace Composer\Util;
|
||||
|
||||
use Composer\Util\HttpDownloader;
|
||||
use React\Promise\Promise;
|
||||
use Symfony\Component\Console\Helper\ProgressBar;
|
||||
|
||||
|
@ -63,7 +62,8 @@ class Loop
|
|||
$uncaught = null;
|
||||
|
||||
\React\Promise\all($promises)->then(
|
||||
function () { },
|
||||
function () {
|
||||
},
|
||||
function ($e) use (&$uncaught) {
|
||||
$uncaught = $e;
|
||||
}
|
||||
|
|
|
@ -392,8 +392,7 @@ class NoProxyPattern
|
|||
$ip6 = substr($hostName, 1, $index - 1);
|
||||
$hostName = substr($hostName, $index + 1);
|
||||
|
||||
if (strpbrk($hostName, '[]') !== false
|
||||
|| substr_count($hostName, ':') > 1) {
|
||||
if (strpbrk($hostName, '[]') !== false || substr_count($hostName, ':') > 1) {
|
||||
return $error;
|
||||
}
|
||||
}
|
||||
|
@ -427,7 +426,8 @@ class NoProxyPattern
|
|||
$options = array(
|
||||
'options' => array(
|
||||
'min_range' => $min,
|
||||
'max_range' => $max)
|
||||
'max_range' => $max,
|
||||
),
|
||||
);
|
||||
|
||||
return false !== filter_var($int, FILTER_VALIDATE_INT, $options);
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Util;
|
||||
|
||||
|
@ -16,7 +25,8 @@ class PackageSorter
|
|||
* @param array $packages
|
||||
* @return array
|
||||
*/
|
||||
public static function sortPackages(array $packages) {
|
||||
public static function sortPackages(array $packages)
|
||||
{
|
||||
$usageList = array();
|
||||
|
||||
foreach ($packages as $package) { /** @var PackageInterface $package */
|
||||
|
@ -87,6 +97,7 @@ class PackageSorter
|
|||
foreach (array_keys($weightList) as $index) {
|
||||
$sortedPackages[] = $packages[$index];
|
||||
}
|
||||
|
||||
return $sortedPackages;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -550,7 +550,6 @@ class RemoteFilesystem
|
|||
// passing `null` to file_get_contents will convert `null` to `0` and return 0 bytes
|
||||
$result = file_get_contents($fileUrl, false, $context);
|
||||
}
|
||||
|
||||
} catch (\Throwable $e) {
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
|
|
@ -1,5 +1,15 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Util;
|
||||
|
||||
use Composer\Downloader\DownloaderInterface;
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
namespace Composer\Test;
|
||||
|
||||
use Composer\Test\TestCase;
|
||||
use Composer\Util\Filesystem;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\Process\Process;
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Test;
|
||||
|
||||
use Composer\Console\Application;
|
||||
use Composer\Test\TestCase;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class ApplicationTest extends TestCase
|
||||
|
|
|
@ -500,7 +500,7 @@ class AutoloadGeneratorTest extends TestCase
|
|||
{
|
||||
$package = new RootPackage('root/a', '1.0', '1.0');
|
||||
$package->setRequires(array(
|
||||
new Link('a', 'a/a', new MatchAllConstraint())
|
||||
new Link('a', 'a/a', new MatchAllConstraint()),
|
||||
));
|
||||
|
||||
$packages = array();
|
||||
|
@ -511,18 +511,18 @@ class AutoloadGeneratorTest extends TestCase
|
|||
$packages[] = $e = new Package('e/e', '1.0', '1.0');
|
||||
$a->setAutoload(array('classmap' => array('src/A.php')));
|
||||
$a->setRequires(array(
|
||||
new Link('a/a', 'b/b', new MatchAllConstraint())
|
||||
new Link('a/a', 'b/b', new MatchAllConstraint()),
|
||||
));
|
||||
$b->setAutoload(array('classmap' => array('src/B.php')));
|
||||
$b->setRequires(array(
|
||||
new Link('b/b', 'e/e', new MatchAllConstraint())
|
||||
new Link('b/b', 'e/e', new MatchAllConstraint()),
|
||||
));
|
||||
$c->setAutoload(array('classmap' => array('src/C.php')));
|
||||
$c->setReplaces(array(
|
||||
new Link('c/c', 'b/b', new MatchAllConstraint())
|
||||
new Link('c/c', 'b/b', new MatchAllConstraint()),
|
||||
));
|
||||
$c->setRequires(array(
|
||||
new Link('c/c', 'd/d', new MatchAllConstraint())
|
||||
new Link('c/c', 'd/d', new MatchAllConstraint()),
|
||||
));
|
||||
$d->setAutoload(array('classmap' => array('src/D.php')));
|
||||
$e->setAutoload(array('classmap' => array('src/E.php')));
|
||||
|
@ -1740,63 +1740,63 @@ EOF;
|
|||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('^7.2')),
|
||||
new Link('a', 'ext-xml', $versionParser->parseConstraints('*')),
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*'))
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*')),
|
||||
),
|
||||
'typical'
|
||||
'typical',
|
||||
),
|
||||
'No PHP lower bound' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('< 8')),
|
||||
),
|
||||
null
|
||||
null,
|
||||
),
|
||||
'No PHP upper bound' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('>= 7.2')),
|
||||
),
|
||||
'no_php_upper_bound'
|
||||
'no_php_upper_bound',
|
||||
),
|
||||
'Specific PHP release version' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('^7.2.8')),
|
||||
),
|
||||
'specific_php_release'
|
||||
'specific_php_release',
|
||||
),
|
||||
'No PHP required' => array(
|
||||
array(
|
||||
new Link('a', 'ext-xml', $versionParser->parseConstraints('*')),
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*'))
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*')),
|
||||
),
|
||||
'no_php_required'
|
||||
'no_php_required',
|
||||
),
|
||||
'Ignoring all platform requirements skips check completely' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('^7.2')),
|
||||
new Link('a', 'ext-xml', $versionParser->parseConstraints('*')),
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*'))
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*')),
|
||||
),
|
||||
null,
|
||||
array(),
|
||||
array(),
|
||||
true
|
||||
true,
|
||||
),
|
||||
'Ignored platform requirements are not checked for' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('^7.2.8')),
|
||||
new Link('a', 'ext-xml', $versionParser->parseConstraints('*')),
|
||||
new Link('a', 'ext-json', $versionParser->parseConstraints('*')),
|
||||
new Link('a', 'ext-pdo', $versionParser->parseConstraints('*'))
|
||||
new Link('a', 'ext-pdo', $versionParser->parseConstraints('*')),
|
||||
),
|
||||
'no_php_required',
|
||||
array(),
|
||||
array(),
|
||||
array('php', 'ext-pdo')
|
||||
array('php', 'ext-pdo'),
|
||||
),
|
||||
'No extensions required' => array(
|
||||
array(
|
||||
new Link('a', 'php', $versionParser->parseConstraints('^7.2')),
|
||||
),
|
||||
'no_extensions_required'
|
||||
'no_extensions_required',
|
||||
),
|
||||
'Replaced/provided extensions are not checked for + checking case insensitivity' => array(
|
||||
array(
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
|
||||
namespace Composer\Test;
|
||||
|
||||
use Composer\Test\TestCase;
|
||||
use Composer\Cache;
|
||||
use Composer\Util\Filesystem;
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Test;
|
||||
|
||||
use Composer\Composer;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class ComposerTest extends TestCase
|
||||
{
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Test;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class ConfigTest extends TestCase
|
||||
{
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
namespace Composer\Test;
|
||||
|
||||
use Composer\Config;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class DefaultConfigTest extends TestCase
|
||||
{
|
||||
|
|
|
@ -14,9 +14,7 @@ namespace Composer\Test\DependencyResolver;
|
|||
|
||||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\Repository\RepositoryInterface;
|
||||
use Composer\DependencyResolver\DefaultPolicy;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Repository\RepositorySet;
|
||||
|
|
|
@ -16,21 +16,14 @@ use Composer\IO\NullIO;
|
|||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Repository\FilterRepository;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\DependencyResolver\DefaultPolicy;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\DependencyResolver\PoolBuilder;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\DependencyResolver\Solver;
|
||||
use Composer\DependencyResolver\SolverProblemsException;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Package\AliasPackage;
|
||||
use Composer\Json\JsonFile;
|
||||
use Composer\Package\Loader\ArrayLoader;
|
||||
use Composer\Package\Version\VersionParser;
|
||||
use Composer\Repository\InstalledArrayRepository;
|
||||
use Composer\Repository\RepositorySet;
|
||||
use Composer\Test\TestCase;
|
||||
use Composer\Semver\Constraint\MultiConstraint;
|
||||
|
||||
class PoolBuilderTest extends TestCase
|
||||
{
|
||||
|
|
|
@ -13,8 +13,6 @@
|
|||
namespace Composer\Test\DependencyResolver;
|
||||
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class PoolTest extends TestCase
|
||||
|
@ -31,7 +29,6 @@ class PoolTest extends TestCase
|
|||
|
||||
public function testWhatProvidesPackageWithConstraint()
|
||||
{
|
||||
|
||||
$firstPackage = $this->getPackage('foo', '1');
|
||||
$secondPackage = $this->getPackage('foo', '2');
|
||||
|
||||
|
|
|
@ -17,7 +17,6 @@ use Composer\DependencyResolver\Rule;
|
|||
use Composer\DependencyResolver\RuleSet;
|
||||
use Composer\DependencyResolver\RuleSetIterator;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class RuleSetIteratorTest extends TestCase
|
||||
|
|
|
@ -16,8 +16,6 @@ use Composer\DependencyResolver\GenericRule;
|
|||
use Composer\DependencyResolver\Rule;
|
||||
use Composer\DependencyResolver\RuleSet;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
class RuleSetTest extends TestCase
|
||||
|
|
|
@ -16,9 +16,7 @@ use Composer\DependencyResolver\GenericRule;
|
|||
use Composer\DependencyResolver\Rule;
|
||||
use Composer\DependencyResolver\RuleSet;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\Package\BasePackage;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Semver\Constraint\MatchAllConstraint;
|
||||
use Composer\Test\TestCase;
|
||||
|
||||
|
|
|
@ -16,12 +16,10 @@ use Composer\IO\NullIO;
|
|||
use Composer\Repository\ArrayRepository;
|
||||
use Composer\Repository\LockArrayRepository;
|
||||
use Composer\DependencyResolver\DefaultPolicy;
|
||||
use Composer\DependencyResolver\Pool;
|
||||
use Composer\DependencyResolver\Request;
|
||||
use Composer\DependencyResolver\Solver;
|
||||
use Composer\DependencyResolver\SolverProblemsException;
|
||||
use Composer\Package\Link;
|
||||
use Composer\Repository\InstalledArrayRepository;
|
||||
use Composer\Repository\RepositorySet;
|
||||
use Composer\Test\TestCase;
|
||||
use Composer\Semver\Constraint\MultiConstraint;
|
||||
|
|
|
@ -18,8 +18,6 @@ use Composer\Test\TestCase;
|
|||
use Composer\Util\Filesystem;
|
||||
use Composer\Util\Platform;
|
||||
use Prophecy\Argument;
|
||||
use Composer\Util\ProcessExecutor;
|
||||
use Composer\Util\Git as GitUtil;
|
||||
|
||||
class GitDownloaderTest extends TestCase
|
||||
{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue