public static function postAutoloadDump(Event $event) { // Retrieve basic information about the environment and present a // message to the user. $composer = $event->getComposer(); $config = $composer->getConfig(); $io = $event->getIO(); $io->write('<info>Compiling component files</info>'); // Set up all the processes. $processes = $config->has('component-processes') ? $config->get('component-processes') : static::$defaultProcesses; // Initialize and execute each process in sequence. foreach ($processes as $process) { $options = array(); if (is_array($process)) { $options = isset($process['options']) ? $process['options'] : array(); $class = $process['class']; } else { $class = $process; } if (!class_exists($class)) { $io->write("<warning>Process class '{$class}' not found, skipping this process</warning>"); continue; } /** @var \ComponentInstaller\Process\Process $process */ $process = new $class($composer, $io, $options); // When an error occurs during initialization, end the process. if (!$process->init()) { $io->write("<warning>An error occurred while initializing the '{$class}' process.</warning>"); break; } $process->process(); } }