// Drupal core needs to be upgraded manually.
$needs_manual =
$project['project_type'
] == 'core';
// If the recommended release for a contributed project is not compatible
// with the currently installed version of core, list that project in a
// separate table. If core compatibility is not defined, it means we can't determine
// compatibility requirements (or we're looking at core), so we assume it
// is compatible.
$compatible =
$recommended_release->
isCoreCompatible() ?? TRUE;
if ($needs_manual) { $this->
removeCheckboxFromRow($entry);
$projects['manual'
][$name] =
$entry;
} elseif (!
$compatible) { $this->
removeCheckboxFromRow($entry);
// If the release has a core_compatibility_message, inject it.
if ($core_compatibility_message =
$recommended_release->
getCoreCompatibilityMessage()) { // @todo In https://www.drupal.org/project/drupal/issues/3121769
// refactor this into something theme-friendly so we don't have a
// classless <div> here.
$entry['data'
]['recommended_version'
]['data'
]['#template'
] .= ' <div>{{ core_compatibility_message }}</div>';
$entry['data'
]['recommended_version'
]['data'
]['#context'
]['core_compatibility_message'
] =
$core_compatibility_message;
}