Browse Source

Merge remote-tracking branch 'digitalkaoz/issue_627'

Jordi Boggiano 12 years ago
parent
commit
9af18880f7
2 changed files with 51 additions and 0 deletions
  1. 50 0
      src/Composer/Command/DumpAutoloadCommand.php
  2. 1 0
      src/Composer/Console/Application.php

+ 50 - 0
src/Composer/Command/DumpAutoloadCommand.php

@@ -0,0 +1,50 @@
+<?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\Command;
+
+use Symfony\Component\Console\Input\InputInterface;
+use Composer\Repository\CompositeRepository;
+use Symfony\Component\Console\Output\OutputInterface;
+use Composer\Autoload\AutoloadGenerator;
+
+/**
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class DumpAutoloadCommand extends Command
+{
+    protected function configure()
+    {
+        $this
+            ->setName('dump-autoload')
+            ->setDescription('dumps the autoloader')
+            ->setHelp(<<<EOT
+<info>php composer.phar dump-autoload</info>
+EOT
+            )
+        ;
+    }
+
+    protected function execute(InputInterface $input, OutputInterface $output)
+    {
+        $output->writeln('<info>Generating autoload files</info>');
+
+        $composer = $this->getComposer();
+        $installationManager = $composer->getInstallationManager();
+        $localRepos = new CompositeRepository($composer->getRepositoryManager()->getLocalRepositories());
+        $package = $composer->getPackage();
+        $config = $composer->getConfig();
+
+        $generator = new AutoloadGenerator();
+        $generator->dump($config, $localRepos, $package, $installationManager, 'composer');
+    }
+}

+ 1 - 0
src/Composer/Console/Application.php

@@ -130,6 +130,7 @@ class Application extends BaseApplication
         $commands[] = new Command\ValidateCommand();
         $commands[] = new Command\ShowCommand();
         $commands[] = new Command\RequireCommand();
+        $commands[] = new Command\DumpAutoloadCommand();
 
         if ('phar:' === substr(__FILE__, 0, 5)) {
             $commands[] = new Command\SelfUpdateCommand();