From c279c7ca96e923e54b4a0fac765e9c4682916ac1 Mon Sep 17 00:00:00 2001 From: SeRRg Date: Sun, 2 Sep 2018 11:37:19 +0500 Subject: [PATCH] Add --no-dev option to check-platform-reqs command --- .../Command/CheckPlatformReqsCommand.php | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/Composer/Command/CheckPlatformReqsCommand.php b/src/Composer/Command/CheckPlatformReqsCommand.php index 5a68661cc..89bceecab 100644 --- a/src/Composer/Command/CheckPlatformReqsCommand.php +++ b/src/Composer/Command/CheckPlatformReqsCommand.php @@ -17,6 +17,7 @@ use Composer\Package\PackageInterface; use Composer\Semver\Constraint\Constraint; use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Composer\Repository\PlatformRepository; @@ -26,6 +27,9 @@ class CheckPlatformReqsCommand extends BaseCommand { $this->setName('check-platform-reqs') ->setDescription('Check that platform requirements are satisfied.') + ->setDefinition(array( + new InputOption('no-dev', null, InputOption::VALUE_NONE, 'Disables checking of require-dev packages requirements.'), + )) ->setHelp( <<getComposer(); - $repos = $composer->getRepositoryManager()->getLocalRepository(); - - $allPackages = array_merge(array($composer->getPackage()), $repos->getPackages()); - $requires = $composer->getPackage()->getDevRequires(); + $requires = $composer->getPackage()->getRequires(); + if (!$input->getOption('no-dev')) { + $requires += $composer->getPackage()->getDevRequires(); + } foreach ($requires as $require => $link) { $requires[$require] = array($link); } - /** - * @var PackageInterface $package - */ - foreach ($allPackages as $package) { + $locker = $composer->getLocker() + ->getLockedRepository(!$input->getOption('no-dev')); + foreach ($locker->getPackages() as $package) { foreach ($package->getRequires() as $require => $link) { $requires[$require][] = $link; } } + ksort($requires); $platformRepo = new PlatformRepository(array(), array()); @@ -74,7 +78,7 @@ EOT $exitCode = 0; /** - * @var Link $require + * @var Link[] $links */ foreach ($requires as $require => $links) { if (preg_match(PlatformRepository::PLATFORM_PACKAGE_REGEX, $require)) {