8 use Composer\Console\Application;
    10 use Symfony\Component\Console\Input\ArrayInput;
    11 use Symfony\Component\Console\Output\BufferedOutput;
    26     private $directoryList;
    36         $this->composerApp = $composerApp;
    37         $this->directoryList = $directoryList;
    52         $this->composerApp->setAutoExit(
false);
    54         foreach ($packages as $package) {
    55             $buffer = 
new BufferedOutput();
    56             $this->composerApp->resetComposer();
    57             $this->composerApp->run(
    59                     [
'command' => 
'depends', 
'--working-dir' => $this->directoryList->getRoot(), 
'package' => $package]
    63             $dependingPackages = $this->parseComposerOutput($buffer->fetch());
    64             if ($excludeSelf === 
true) {
    65                 $dependingPackages = array_values(array_diff($dependingPackages, $packages));
    67             $dependencies[$package] = $dependingPackages;
    78     private function parseComposerOutput(
$output)
    80         $rawLines = explode(PHP_EOL, 
$output);
    82         foreach ($rawLines as $rawLine) {
    83             $parts = explode(
' ', $rawLine);
    84             if (count(explode(
'/', $parts[0])) == 2) {
    85                 if (strpos($parts[0], 
'magento/project-') === 
false) {
    86                     $packages[] = $parts[0];
 
checkDependencies(array $packages, $excludeSelf=false)
 
__construct(Application $composerApp, DirectoryList $directoryList)