executeBuild method

Future<List<BuildResult>> executeBuild(
  1. BuildContext context
)

Executes compilation according to the parameters specified in context.

When context's BuildContext.platform is BuildPlatform.all, builds for Android and iOS sequentially and returns results for both.

Implementation

Future<List<BuildResult>> executeBuild(BuildContext context) async {
  final targets = <_BuildTarget>[];

  if (context.platform == BuildPlatform.all) {
    targets.add(_BuildTarget(
      platform: BuildPlatform.android,
      format: context.format == BuildFormat.ipa
          ? BuildFormat.appbundle
          : context.format,
    ));
    targets.add(const _BuildTarget(
      platform: BuildPlatform.ios,
      format: BuildFormat.ipa,
    ));
  } else {
    targets.add(_BuildTarget(
      platform: context.platform,
      format: context.format,
    ));
  }

  final results = <BuildResult>[];

  for (final target in targets) {
    final result = await _executeTarget(context, target);
    results.add(result);
  }

  return results;
}