public function activate(Composer $composer, IO\IOInterface $io)
{
// @codeCoverageIgnoreStart
// guard for self-update problem
if (__CLASS__ !== 'Hirak\\Prestissimo\\Plugin') {
return $this->disable();
}
// @codeCoverageIgnoreEnd
// load all classes
foreach (self::$pluginClasses as $class) {
class_exists(__NAMESPACE__ . '\\' . $class);
}
$this->io = $io;
$this->config = $composer->getConfig();
$this->package = $composer->getPackage();
if (array_key_exists('argv', $GLOBALS)) {
foreach ($GLOBALS['argv'] as $arg) {
switch ($arg) {
case 'create-project':
case 'update':
case 'outdated':
case 'require':
$this->prefetchComposerRepositories();
break 2;
case 'install':
if (file_exists('composer.json') && !file_exists('composer.lock')) {
$this->prefetchComposerRepositories();
}
break 2;
}
}
}
}