run method
Runs this command.
The return value is wrapped in a Future
if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
void run() {
final argFlavor = argResults.getOptionFlavor(defaultTo: Constants.dev);
final argGitsYaml = argResults.getOptionGitsYaml();
YamlHelper.validateGitsYaml(argGitsYaml);
final config = FirebaseHelper.getFirebaseConfig(argGitsYaml);
if (config.isEmpty) {
StatusHelper.warning(
'Cannot setup flavor firebase, You don\'t have config "firebase" in gits.yaml');
} else {
final devDir = config['google_service_dev_dir'];
final stagDir = config['google_service_stag_dir'];
final prodDir = config['google_service_prod_dir'];
final outputAndroid = config['output_android_dir'];
final outputIos = config['output_ios_dir'];
switch (argFlavor) {
case Constants.prod:
moveAndroidGoogleService(prodDir, outputAndroid, argFlavor);
moveIosGoogleService(prodDir, outputIos, argFlavor);
break;
case Constants.stag:
moveAndroidGoogleService(stagDir, outputAndroid, argFlavor);
moveIosGoogleService(stagDir, outputIos, argFlavor);
break;
default:
moveAndroidGoogleService(devDir, outputAndroid, argFlavor);
moveIosGoogleService(devDir, outputIos, argFlavor);
}
}
}