switchEnv method
Implementation
Future<bool> switchEnv(FirebaseEnvConfig config) async {
logger.divider();
try {
validator.validateProjectStructure();
validator.validateFirebaseConfigs(config);
validator.validateEnvironmentMismatch(config);
await backupService.createBackup();
final results = await Future.wait([
androidHandler.switchEnv(config),
iosHandler.switchEnv(config),
webHandler.switchEnv(config),
macosHandler.switchEnv(config),
windowsHandler.switchEnv(config),
]);
// Advanced features
await templateHandler.generateFiles(config);
await dotEnvHandler.updateDotEnv(config);
if (config.runFlutterfire) {
await _runFlutterfire(config);
}
if (config.flavor != null) {
logger.info('Flavor associated with this environment: ${config.flavor}');
}
return results.every((success) => success);
} catch (e) {
logger.error('$e');
return false;
}
}