run method
The execution body of the command.
Implementation
@override
Future<void> run(List<String> args, {required Logger logger}) async {
final finder = ProjectFinder();
final projectRoot = finder.findProjectRoot();
final spinner = Spinner('Cleaning deep linking configuration...');
spinner.start();
try {
// 1. Clean Flutter generated files
final generator = FlutterGenerator(projectRoot, logger);
generator.clean();
// 2. Restore backup files
final backupManager = BackupManager(projectRoot);
backupManager.restoreAll();
// 3. Delete setup directory if it exists
final setupDir = PathUtils.join(projectRoot, 'deeplink_setup');
if (FileUtils.exists(setupDir)) {
FileUtils.deleteDirectory(setupDir);
}
// 4. Delete config file
final configManager = ConfigManager(projectRoot);
configManager.delete();
spinner.stop(success: true, finalMessage: 'Deep link configurations cleaned and files restored successfully.');
} catch (e) {
spinner.stop(success: false, finalMessage: 'Clean command failed.');
logger.error('Failed to clean up deep link configuration: ${e.toString()}');
}
}