cleanupFlavors static method

void cleanupFlavors(
  1. List<String> deletedFlavors
)

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'));
}