private function LibraryDeprecationAnalyzer::analyzeThemeLibraryExtends in Upgrade Status 8.2
Same name and namespace in other branches
- 8.3 src/LibraryDeprecationAnalyzer.php \Drupal\upgrade_status\LibraryDeprecationAnalyzer::analyzeThemeLibraryExtends()
Analyze library extends in a theme.
Parameters
\Drupal\Core\Extension\Extension $extension:
Return value
\Drupal\upgrade_status\DeprecationMessage[]
Throws
\Exception
1 call to LibraryDeprecationAnalyzer::analyzeThemeLibraryExtends()
- LibraryDeprecationAnalyzer::analyze in src/
LibraryDeprecationAnalyzer.php - Analyzes usages of deprecated libraries in an extension.
File
- src/
LibraryDeprecationAnalyzer.php, line 207
Class
- LibraryDeprecationAnalyzer
- A library deprecation analyzer.
Namespace
Drupal\upgrade_statusCode
private function analyzeThemeLibraryExtends(Extension $extension) : array {
if ($extension
->getType() !== 'theme') {
throw new \Exception('Library extends are only available in themes.');
}
if (!isset($extension->info['libraries-extend'])) {
return [];
}
return array_reduce(array_keys($extension->info['libraries-extend']), function ($deprecated_libraries, $library) use ($extension) {
$is_deprecated = $this
->isLibraryDeprecated($library);
if (is_null($is_deprecated)) {
$message = sprintf("The '%s' library is not defined because the defining extension is not installed. Cannot decide if it is deprecated or not.", $library);
$deprecated_libraries[] = new DeprecationMessage($message, $extension
->getFilename(), 0);
}
elseif (!empty($is_deprecated)) {
if ($is_deprecated instanceof DeprecationMessage) {
$is_deprecated
->setFile($extension
->getFilename());
$deprecated_libraries[] = $is_deprecated;
}
else {
$message = "Theme is extending a deprecated library. {$is_deprecated}";
$deprecated_libraries[] = new DeprecationMessage($message, $extension
->getFilename(), 0);
}
}
return $deprecated_libraries;
}, []);
}