Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

We’re showing branches in this repository, but you can also compare across forks.

base fork: composer/composer
base: e77435cd0c
...
head fork: composer/composer
compare: ea6917c87a
  • 4 commits
  • 2 files changed
  • 0 commit comments
  • 2 contributors
60 src/Composer/Command/ClearCacheCommand.php
View
@@ -0,0 +1,60 @@
+<?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 Composer\Cache;
+use Composer\Factory;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Output\OutputInterface;
+
+/**
+ * @author David Neilsen <petah.p@gmail.com>
+ */
+class ClearCacheCommand extends Command
+{
+ protected function configure()
+ {
+ $this
+ ->setName('clear-cache')
+ ->setAliases(array('clearcache'))
+ ->setDescription('Clears composer\'s internal package cache.')
+ ->setHelp(<<<EOT
+The <info>clear-cache</info> deletes all cached packages from composer's
+cache directory.
+EOT
+ )
+ ;
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ $config = Factory::createConfig();
+ $io = $this->getIO();
+
+ $cachePath = realpath($config->get('cache-repo-dir'));
+ if (!$cachePath) {
+ $io->write('<info>Cache directory does not exist.</info>');
+ return;
+ }
+
+ $cache = new Cache($io, $cachePath);
+ if (!$cache->isEnabled()) {
+ $io->write('<info>Cache is not enabled.</info>');
+ return;
+ }
+
+ $io->write('<info>Clearing cache in: '.$cachePath.'</info>');
+ $cache->gc(0, 0);
+ $io->write('<info>Cache cleared.</info>');
+ }
+}
1  src/Composer/Console/Application.php
View
@@ -227,6 +227,7 @@ protected function getDefaultCommands()
$commands[] = new Command\RunScriptCommand();
$commands[] = new Command\LicensesCommand();
$commands[] = new Command\GlobalCommand();
+ $commands[] = new Command\ClearCacheCommand();
if ('phar:' === substr(__FILE__, 0, 5)) {
$commands[] = new Command\SelfUpdateCommand();

No commit comments for this range

Something went wrong with that request. Please try again.