public function getContext();
/** * Prints not-loadable modules in a table. * * @param IO $io The I/O * @param Module[] $modules The not-loadable modules * @param bool $indent Whether to indent the output */ private function printNotLoadableModules(IO $io, array $modules, $indent = false) { $rootDir = $this->moduleManager->getContext()->getRootDirectory(); $table = new Table(PuliTableStyle::borderless()); $table->setHeaderRow(array('Module Name', 'Error')); ksort($modules); foreach ($modules as $module) { $moduleName = $module->getName(); $loadErrors = $module->getLoadErrors(); $errorMessage = ''; foreach ($loadErrors as $loadError) { $errorMessage .= StringUtil::getShortClassName(get_class($loadError)) . ': ' . $loadError->getMessage() . "\n"; } $errorMessage = rtrim($errorMessage); if (!$errorMessage) { $errorMessage = 'Unknown error.'; } // Remove root directory $errorMessage = str_replace($rootDir . '/', '', $errorMessage); $table->addRow(array(sprintf('<bad>%s</bad>', $moduleName), sprintf('<bad>%s</bad>', $errorMessage))); } $table->render($io, $indent ? 4 : 0); }