build method
Implementation
Future<BuildResult> build({
required Map<String, dynamic> arguments,
Map<String, String>? environment,
}) async {
final time = Stopwatch()..start();
BuildConfig config = BuildConfig(arguments: arguments);
List<String> buildArguments = [];
for (String key in config.arguments.keys) {
dynamic value = config.arguments[key];
if (value == null || value is bool) {
buildArguments.add('--$key');
} else if (value is Map) {
for (String subKey in value.keys) {
buildArguments.addAll(['--$key', '$subKey=${value[subKey]}']);
}
} else {
buildArguments.addAll(['--$key', value]);
}
}
buildArguments.addAll([
'--dart-define',
'FLUTTER_BUILD_NAME=$appBuildName',
'--dart-define',
'FLUTTER_BUILD_NUMBER=$appBuildNumber',
]);
ProcessResult processResult = await flutter.withEnv(environment).build(
[buildSubcommand, ...buildArguments],
);
if (processResult.exitCode != 0) {
throw BuildError('${processResult.stderr}');
}
return resultResolver.resolve(config)..duration = time.elapsed;
}