cleanupFlavors static method
Removes files and directories associated with deleted flavors.
Implementation
static void cleanupFlavors(List<String> deletedFlavors) {
for (final flavor in deletedFlavors) {
// 1. Delete main file if exists
final mainFile = File(
p.join(ConfigService.root, 'lib/main/main_$flavor.dart'),
);
if (mainFile.existsSync()) {
mainFile.deleteSync();
}
// 2. Delete xcconfig if exists
final xcconfigFile = File(
p.join(ConfigService.root, 'ios/Flutter/$flavor.xcconfig'),
);
if (xcconfigFile.existsSync()) {
xcconfigFile.deleteSync();
}
// 3. Delete Firebase options if exists
final firebaseFile = File(
p.join(ConfigService.root, 'lib/firebase_options_$flavor.dart'),
);
if (firebaseFile.existsSync()) {
firebaseFile.deleteSync();
}
}
// 3. Cleanup empty directories
_deleteIfEmpty(p.join(ConfigService.root, 'lib/main'));
_deleteIfEmpty(p.join(ConfigService.root, 'ios/Flutter'));
}