blob: decf182367d48a34eacad21434898193aad885cf [file] [log] [blame]
// Copyright 2013 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'flutter_utils.dart';
import 'process_utils.dart';
Future<int> runFlutterCommand(
String projectDirectory,
String command,
List<String> commandArguments, {
String? wrapperCommand,
}) {
final String flutterCommand = getFlutterCommand();
return runProcess(wrapperCommand ?? flutterCommand, <String>[
if (wrapperCommand != null) flutterCommand,
command,
...commandArguments,
], workingDirectory: projectDirectory);
}
Future<int> runFlutterBuild(
String projectDirectory,
String target, {
bool debug = true,
List<String> flags = const <String>[],
}) {
return runFlutterCommand(projectDirectory, 'build', <String>[
target,
if (debug) '--debug',
...flags,
]);
}
Future<int> runXcodeBuild(
String nativeProjectDirectory, {
String? sdk,
String? destination,
List<String> extraArguments = const <String>[],
}) {
return runProcess('xcodebuild', <String>[
'-workspace',
'Runner.xcworkspace',
'-scheme',
'Runner',
if (sdk != null) ...<String>['-sdk', sdk],
if (destination != null) ...<String>['-destination', destination],
...extraArguments,
], workingDirectory: nativeProjectDirectory);
}
Future<int> runGradleBuild(String nativeProjectDirectory, [String? command]) {
return runProcess('./gradlew', <String>[
if (command != null) command,
], workingDirectory: nativeProjectDirectory);
}