executeBuild method
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;
}