private function detect_and_display_cycles($application)
{
$cycleDetector = new CycleDetector($application->root());
$cycles = $cycleDetector->get_cycles();
if (empty($cycles)) {
return false;
}
$num_cycles = count($cycles);
$pluralized_cycle_label = $num_cycles > 1 ? 'cycles' : 'cycle';
echo "{$num_cycles} {$pluralized_cycle_label} found:\n";
foreach ($cycles as $cycle) {
$task_names = array_map(function ($task) {
return $task->get_name();
}, $cycle);
echo '>> ' . implode(', ', $task_names) . "\n";
}
echo "\nTo ensure proper execution of tasks, please untangle these cyclic dependencies\n";
return true;
}