|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This file is part of Composer.
|
|
|
|
*
|
|
|
|
* (c) Nils Adermann <naderman@naderman.de>
|
|
|
|
* Jordi Boggiano <j.boggiano@seld.be>
|
|
|
|
*
|
|
|
|
* For the full copyright and license information, please view the LICENSE
|
|
|
|
* file that was distributed with this source code.
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Composer\Console;
|
|
|
|
|
|
|
|
use Symfony\Component\Console\Application as BaseApplication;
|
|
|
|
use Symfony\Component\Console\Input\InputInterface;
|
|
|
|
use Symfony\Component\Console\Output\OutputInterface;
|
|
|
|
use Symfony\Component\Finder\Finder;
|
|
|
|
use Composer\Command\InstallCommand;
|
|
|
|
use Composer\Composer;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The console application that handles the commands
|
|
|
|
*
|
|
|
|
* @author Ryan Weaver <ryan@knplabs.com>
|
|
|
|
*/
|
|
|
|
class Application extends BaseApplication
|
|
|
|
{
|
|
|
|
private $composer;
|
|
|
|
|
|
|
|
public function __construct(Composer $composer)
|
|
|
|
{
|
|
|
|
parent::__construct('Composer', Composer::VERSION);
|
|
|
|
|
|
|
|
$this->composer = $composer;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Runs the current application.
|
|
|
|
*
|
|
|
|
* @param InputInterface $input An Input instance
|
|
|
|
* @param OutputInterface $output An Output instance
|
|
|
|
*
|
|
|
|
* @return integer 0 if everything went fine, or an error code
|
|
|
|
*/
|
|
|
|
public function doRun(InputInterface $input, OutputInterface $output)
|
|
|
|
{
|
|
|
|
$this->registerCommands();
|
|
|
|
|
|
|
|
return parent::doRun($input, $output);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @return Composer
|
|
|
|
*/
|
|
|
|
public function getComposer()
|
|
|
|
{
|
|
|
|
return $this->composer;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initializes all the composer commands
|
|
|
|
*/
|
|
|
|
protected function registerCommands()
|
|
|
|
{
|
|
|
|
$this->add(new InstallCommand());
|
|
|
|
}
|
|
|
|
}
|