public function actionUpdateList($file = STDIN) { $handler = is_resource($file) ? $file : fopen($file, 'r'); $errorPackages = []; while ($line = fgets($handler)) { list($full) = preg_split('/\\s+/', trim($line)); list($type, $name) = AssetPackage::splitFullName($full); if (!$this->actionUpdate($type, $name)) { $errorPackages[] = $full; } } if (!is_resource($file)) { fclose($handler); } if (!empty($errorPackages)) { echo Console::renderColoredString("%RThe following packages were not updated due to unrecoverable errors:%n\n"); echo implode("\n", $errorPackages); } echo "\n"; }