run method

  1. @override
Future<void> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<void> run() async {
  _requiredOption(['packageName', 'packageNameIos']);
  _requiredOption(['packageName', 'packageNameAndroid']);
  _requiredOption(['displayName']);
  _requiredOption(['flavorName']);

  var packageName = argResults?['packageName'];
  var packageNameIos = argResults?['packageNameIos'];
  var packageNameAndroid = argResults?['packageNameAndroid'];
  var displayName = argResults?['displayName'];
  var flavorName = argResults?['flavorName'];
  var pathXcProject = argResults?['pathXcProject'];
  var teamId = argResults?['teamId'];

  print('Creating flavor with the following details:');
  print('Package Name: $packageName');
  print('Package Name iOS: $packageNameIos');
  print('Package Name Android: $packageNameAndroid');
  print('Display Name: $displayName');
  print('Flavor Name: $flavorName');
  print('Path to Xcode Project: $pathXcProject');

  final config = FlavorConfig(
      xcPath: pathXcProject ?? 'ios/Runner.xcodeproj/project.pbxproj',
      iosPackageName: (packageNameIos ?? packageName)!,
      androidPackageName: (packageNameAndroid ?? packageName)!,
      displayName: displayName,
      flavorName: flavorName,
      iosTeamId: teamId,
      isEnabledIconsLauncher: (argResults?['iconsLauncher'] ?? 'false') == 'true');

  await createFlavor(config);
}