output->writeln('Updating October...'); $manager = UpdateManager::instance()->resetNotes(); $updateList = $manager->requestUpdateList(); $updates = (int)array_get($updateList, 'update', 0); if ($updates == 0) { $this->output->writeln('No new updates found'); return; } else $this->output->writeln(sprintf('Found %s new %s!', $updates, Str::plural('update', $updates))); $coreHash = array_get($updateList, 'core.hash'); $coreBuild = array_get($updateList, 'core.build'); if ($coreHash) { $this->output->writeln('Downloading application files'); $manager->downloadCore($coreHash); } $plugins = array_get($updateList, 'plugins'); foreach ($plugins as $code => $plugin) { $pluginName = array_get($plugin, 'name'); $pluginHash = array_get($plugin, 'hash'); $this->output->writeln(sprintf('Downloading plugin: %s', $pluginName)); $manager->downloadPlugin($code, $pluginHash); } if ($coreHash) { $this->output->writeln('Unpacking application files'); $manager->extractCore($coreHash, $coreBuild); } foreach ($plugins as $code => $plugin) { $pluginName = array_get($plugin, 'name'); $pluginHash = array_get($plugin, 'hash'); $this->output->writeln(sprintf('Unpacking plugin: %s', $pluginName)); $manager->extractPlugin($code, $pluginHash); } /* * Run migrations */ $this->call('october:up'); } /** * Get the console command arguments. */ protected function getArguments() { return []; } /** * Get the console command options. */ protected function getOptions() { return []; } }