run method

Future<void> run({
  1. required BuildPlatform platform,
  2. required String flavor,
  3. BuildMode mode = BuildMode.debug,
})

Runs the application using the provided configuration and options.

Implementation

Future<void> run({
  required BuildPlatform platform,
  required String flavor,
  BuildMode mode = BuildMode.debug,
}) async {
  final config = await ConfigService.load();

  InitValidator.validate(config);

  _validateTarget(config, flavor);

  final arguments = <String>['run'];

  if (config.flavoringEnabled && platform != BuildPlatform.web) {
    arguments.addAll([
      '--flavor',
      flavor,
    ]);
  }

  _addEnvironmentArguments(
    arguments: arguments,
    config: config,
    target: flavor,
  );

  switch (mode) {
    case BuildMode.debug:
      break;

    case BuildMode.profile:
      arguments.add('--profile');
      break;

    case BuildMode.release:
      arguments.add('--release');
      break;
  }

  LoggerService.section('Running $flavor');

  await FlutterService(config).runFlutter(arguments);
}