Add new summary format for licenses (#8973)
* Add new summary format to render the number of dependencies for each used license * Array dereferencing wasn't available on php 5.3 * Add summary format to documentationpull/8982/head
parent
d906ff12c9
commit
8da2811dc3
|
@ -785,7 +785,7 @@ Lists the name, version and license of every package installed. Use
|
||||||
|
|
||||||
### Options
|
### Options
|
||||||
|
|
||||||
* **--format:** Format of the output: text or json (default: "text")
|
* **--format:** Format of the output: text, json or summary (default: "text")
|
||||||
* **--no-dev:** Remove dev dependencies from the output
|
* **--no-dev:** Remove dev dependencies from the output
|
||||||
|
|
||||||
## run-script
|
## run-script
|
||||||
|
|
|
@ -21,6 +21,7 @@ use Symfony\Component\Console\Helper\Table;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Input\InputOption;
|
use Symfony\Component\Console\Input\InputOption;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
use Symfony\Component\Console\Style\SymfonyStyle;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Benoît Merlet <benoit.merlet@gmail.com>
|
* @author Benoît Merlet <benoit.merlet@gmail.com>
|
||||||
|
@ -111,6 +112,28 @@ EOT
|
||||||
)));
|
)));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'summary':
|
||||||
|
$dependencies = array();
|
||||||
|
foreach ($packages as $package) {
|
||||||
|
$license = $package->getLicense();
|
||||||
|
$licenseName = $license[0];
|
||||||
|
if (!isset($dependencies[$licenseName])) {
|
||||||
|
$dependencies[$licenseName] = 0;
|
||||||
|
}
|
||||||
|
$dependencies[$licenseName]++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$rows = array();
|
||||||
|
foreach ($dependencies as $usedLicense => $numberOfDependencies) {
|
||||||
|
$rows[] = array($usedLicense, $numberOfDependencies);
|
||||||
|
}
|
||||||
|
|
||||||
|
$symfonyIo = new SymfonyStyle($input, $output);
|
||||||
|
$symfonyIo->table(
|
||||||
|
array('License', 'Number of dependencies'),
|
||||||
|
$rows
|
||||||
|
);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new \RuntimeException(sprintf('Unsupported format "%s". See help for supported formats.', $format));
|
throw new \RuntimeException(sprintf('Unsupported format "%s". See help for supported formats.', $format));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue