setupFlavors static method

void setupFlavors({
  1. required FlavorConfig config,
  2. AppLogger? logger,
})

Sets up product flavors in build.gradle (Groovy or KTS) and updates AndroidManifest.

Implementation

static void setupFlavors({required FlavorConfig config, AppLogger? logger}) {
  final log = logger ?? AppLogger();
  final flavors = config.flavors;

  // Check Groovy
  final groovyFile = File(
    p.join(ConfigService.root, 'android/app/build.gradle'),
  );
  if (groovyFile.existsSync()) {
    _setupBuildFile(groovyFile, config, flavors, log, isKts: false);
  }

  // Check Kotlin DSL
  final ktsFile = File(
    p.join(ConfigService.root, 'android/app/build.gradle.kts'),
  );
  if (ktsFile.existsSync()) {
    _setupBuildFile(ktsFile, config, flavors, log, isKts: true);
  }

  _updateManifest(log);
  _handlePackageMigration(config, log);
}