|
|
@ -14,6 +14,7 @@ namespace Composer\Command;
|
|
|
|
|
|
|
|
|
|
|
|
use Composer\Package\PackageInterface;
|
|
|
|
use Composer\Package\PackageInterface;
|
|
|
|
use Composer\Package\Version\VersionParser;
|
|
|
|
use Composer\Package\Version\VersionParser;
|
|
|
|
|
|
|
|
use Symfony\Component\Console\Helper\TableHelper;
|
|
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
|
|
use Symfony\Component\Console\Input\InputArgument;
|
|
|
|
use Symfony\Component\Console\Input\InputArgument;
|
|
|
|
use Symfony\Component\Console\Input\InputOption;
|
|
|
|
use Symfony\Component\Console\Input\InputOption;
|
|
|
@ -56,29 +57,22 @@ EOT
|
|
|
|
|
|
|
|
|
|
|
|
switch ($format = $input->getOption('format')) {
|
|
|
|
switch ($format = $input->getOption('format')) {
|
|
|
|
case 'text':
|
|
|
|
case 'text':
|
|
|
|
$nameLength = strlen($root->getPrettyName());
|
|
|
|
$output->writeln('Name: <comment>'.$root->getPrettyName().'</comment>');
|
|
|
|
$versionLength = strlen($versionParser->formatVersion($root));
|
|
|
|
$output->writeln('Version: <comment>'.$versionParser->formatVersion($root).'</comment>');
|
|
|
|
|
|
|
|
$output->writeln('Licenses: <comment>'.(implode(', ', $root->getLicense()) ?: 'none').'</comment>');
|
|
|
|
foreach ($packages as $package) {
|
|
|
|
|
|
|
|
$nameLength = max($nameLength, strlen($package->getPrettyName()));
|
|
|
|
|
|
|
|
$versionLength = max($versionLength, strlen($versionParser->formatVersion($package)));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$formatRowCallback = function (PackageInterface $package) use ($versionParser, $nameLength, $versionLength) {
|
|
|
|
|
|
|
|
return sprintf(
|
|
|
|
|
|
|
|
' %s %s %s',
|
|
|
|
|
|
|
|
str_pad($package->getPrettyName(), $nameLength, ' '),
|
|
|
|
|
|
|
|
str_pad($versionParser->formatVersion($package), $versionLength, ' '),
|
|
|
|
|
|
|
|
implode(', ', $package->getLicense()) ?: 'none'
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$output->writeln('Root Package:');
|
|
|
|
|
|
|
|
$output->writeln($formatRowCallback($root));
|
|
|
|
|
|
|
|
$output->writeln('Dependencies:');
|
|
|
|
$output->writeln('Dependencies:');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$table = $this->getHelperSet()->get('table');
|
|
|
|
|
|
|
|
$table->setLayout(TableHelper::LAYOUT_BORDERLESS);
|
|
|
|
|
|
|
|
$table->setHorizontalBorderChar('');
|
|
|
|
foreach ($packages as $package) {
|
|
|
|
foreach ($packages as $package) {
|
|
|
|
$output->writeln($formatRowCallback($package));
|
|
|
|
$table->addRow(array(
|
|
|
|
|
|
|
|
$package->getPrettyName(),
|
|
|
|
|
|
|
|
$versionParser->formatVersion($package),
|
|
|
|
|
|
|
|
implode(', ', $package->getLicense()) ?: 'none',
|
|
|
|
|
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$table->render($output);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
|
|
case 'json':
|
|
|
|
case 'json':
|
|
|
|