recoverInterruptedRun method

Future<void> recoverInterruptedRun(
  1. CleanupService cleanup
)

Restores the project if a previous build or whitelabel was interrupted (its .udara backups still exist). Without this, the stale backups would be restored by this run's cleanup, silently reverting part of the new client's branding.

Implementation

Future<void> recoverInterruptedRun(CleanupService cleanup) async {
  if (!Directory(p.join(projectDir, '.udara')).existsSync()) return;
  Logger.warning('Found leftover state from an interrupted run. '
      'Restoring the project before continuing...');
  await cleanup.performFullCleanup();
}