Commit fbe6779f authored by Matt Perry's avatar Matt Perry

Merge pull request #1539 from mpcomplete/start

'flutter start' calls 'flutter apk' if necessary.
parents ac9e016a 5d2281b6
...@@ -253,6 +253,7 @@ class AppDomain extends Domain { ...@@ -253,6 +253,7 @@ class AppDomain extends Domain {
command.devices, command.devices,
command.applicationPackages, command.applicationPackages,
command.toolchain, command.toolchain,
command.buildConfigurations,
target: args['target'], target: args['target'],
route: args['route'], route: args['route'],
checked: args['checked'] ?? true checked: args['checked'] ?? true
......
...@@ -41,6 +41,7 @@ class ListenCommand extends StartCommandBase { ...@@ -41,6 +41,7 @@ class ListenCommand extends StartCommandBase {
devices, devices,
applicationPackages, applicationPackages,
toolchain, toolchain,
buildConfigurations,
target: argResults['target'], target: argResults['target'],
install: firstTime, install: firstTime,
stop: true, stop: true,
......
...@@ -10,10 +10,12 @@ import 'package:path/path.dart' as path; ...@@ -10,10 +10,12 @@ import 'package:path/path.dart' as path;
import '../application_package.dart'; import '../application_package.dart';
import '../base/common.dart'; import '../base/common.dart';
import '../base/context.dart'; import '../base/context.dart';
import '../build_configuration.dart';
import '../device.dart'; import '../device.dart';
import '../flx.dart'; import '../flx.dart';
import '../runner/flutter_command.dart'; import '../runner/flutter_command.dart';
import '../toolchain.dart'; import '../toolchain.dart';
import 'apk.dart';
import 'install.dart'; import 'install.dart';
import 'stop.dart'; import 'stop.dart';
...@@ -94,7 +96,9 @@ class StartCommand extends StartCommandBase { ...@@ -94,7 +96,9 @@ class StartCommand extends StartCommandBase {
devices, devices,
applicationPackages, applicationPackages,
toolchain, toolchain,
buildConfigurations,
target: argResults['target'], target: argResults['target'],
enginePath: runner.enginePath,
install: true, install: true,
stop: argResults['full-restart'], stop: argResults['full-restart'],
checked: argResults['checked'], checked: argResults['checked'],
...@@ -113,8 +117,10 @@ class StartCommand extends StartCommandBase { ...@@ -113,8 +117,10 @@ class StartCommand extends StartCommandBase {
Future<int> startApp( Future<int> startApp(
DeviceStore devices, DeviceStore devices,
ApplicationPackageStore applicationPackages, ApplicationPackageStore applicationPackages,
Toolchain toolchain, { Toolchain toolchain,
List<BuildConfiguration> configs, {
String target, String target,
String enginePath,
bool stop: true, bool stop: true,
bool install: true, bool install: true,
bool checked: true, bool checked: true,
...@@ -134,6 +140,14 @@ Future<int> startApp( ...@@ -134,6 +140,14 @@ Future<int> startApp(
return 1; return 1;
} }
if (install) {
printTrace('Running build command.');
applicationPackages = await buildAll(
devices, applicationPackages, toolchain, configs,
enginePath: enginePath,
target: target);
}
if (stop) { if (stop) {
printTrace('Running stop command.'); printTrace('Running stop command.');
stopAll(devices, applicationPackages); stopAll(devices, applicationPackages);
......
...@@ -614,7 +614,7 @@ class _IOSSimulatorLogReader extends DeviceLogReader { ...@@ -614,7 +614,7 @@ class _IOSSimulatorLogReader extends DeviceLogReader {
} }
); );
return result; return await result;
} }
int get hashCode => device.logFilePath.hashCode; int get hashCode => device.logFilePath.hashCode;
......
...@@ -18,6 +18,7 @@ dependencies: ...@@ -18,6 +18,7 @@ dependencies:
stack_trace: ^1.4.0 stack_trace: ^1.4.0
test: 0.12.6+1 # see note below test: 0.12.6+1 # see note below
yaml: ^2.1.3 yaml: ^2.1.3
xml: ^2.4.1
flx: flx:
path: ../flx path: ../flx
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
import 'package:args/command_runner.dart'; import 'package:args/command_runner.dart';
import 'package:flutter_tools/src/commands/listen.dart'; import 'package:flutter_tools/src/commands/listen.dart';
import 'package:flutter_tools/src/runner/flutter_command_runner.dart';
import 'package:mockito/mockito.dart'; import 'package:mockito/mockito.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
...@@ -22,8 +23,7 @@ defineTests() { ...@@ -22,8 +23,7 @@ defineTests() {
when(mockDevices.iOS.isConnected()).thenReturn(false); when(mockDevices.iOS.isConnected()).thenReturn(false);
when(mockDevices.iOSSimulator.isConnected()).thenReturn(false); when(mockDevices.iOSSimulator.isConnected()).thenReturn(false);
CommandRunner runner = new CommandRunner('test_flutter', '') CommandRunner runner = new FlutterCommandRunner()..addCommand(command);
..addCommand(command);
runner.run(['listen']).then((int code) => expect(code, equals(0))); runner.run(['listen']).then((int code) => expect(code, equals(0)));
}); });
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment