* Jordi Boggiano * * 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 Composer\Composer; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Finder\Finder; use Composer\Command\InstallCommand; /** * The console application that handles the commands * * @author Ryan Weaver */ 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()); } }