| Current Path : /home/rtorresani/www/vendor/magento/framework/Composer/ |
| Current File : //home/rtorresani/www/vendor/magento/framework/Composer/MagentoComposerApplicationFactory.php |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\Composer;
use Magento\Composer\InfoCommand;
use Magento\Composer\MagentoComposerApplication;
use Magento\Composer\RequireUpdateDryRunCommand;
use Magento\Framework\App\Filesystem\DirectoryList;
class MagentoComposerApplicationFactory
{
/**
* @var string
*/
private $pathToComposerHome;
/**
* @var string
*/
private $pathToComposerJson;
/**
* Constructor
*
* @param ComposerJsonFinder $composerJsonFinder
* @param DirectoryList $directoryList
*/
public function __construct(ComposerJsonFinder $composerJsonFinder, DirectoryList $directoryList)
{
$this->pathToComposerJson = $composerJsonFinder->findComposerJson();
$this->pathToComposerHome = $directoryList->getPath(DirectoryList::COMPOSER_HOME);
}
/**
* Creates MagentoComposerApplication instance
*
* @return MagentoComposerApplication
*/
public function create()
{
return new MagentoComposerApplication($this->pathToComposerHome, $this->pathToComposerJson);
}
/**
* Creates InfoCommand instance
*
* @return InfoCommand
*/
public function createInfoCommand()
{
return new InfoCommand($this->create());
}
/**
* Creates RequireUpdateDryRunCommand instance
*
* @return RequireUpdateDryRunCommand
*/
public function createRequireUpdateDryRunCommand()
{
return new RequireUpdateDryRunCommand($this->create(), $this->createInfoCommand());
}
}