Commit fd50ccdd authored by John McCutchan's avatar John McCutchan Committed by GitHub

Enable hot mode by default. --no-hot disables it (#5794)

parent e85f1629
......@@ -65,8 +65,8 @@ class RunCommand extends RunCommandBase {
// Option to enable hot reloading.
argParser.addFlag('hot',
negatable: false,
defaultsTo: false,
negatable: true,
defaultsTo: true,
help: 'Run with support for hot reloading.');
// Option to write the pid to a file.
......@@ -90,7 +90,7 @@ class RunCommand extends RunCommandBase {
String get usagePath {
Device device = deviceForCommand;
String command = argResults['hot'] ? 'hotrun' : name;
String command = shouldUseHotMode() ? 'hotrun' : name;
if (device == null)
return command;
......@@ -111,6 +111,10 @@ class RunCommand extends RunCommandBase {
}
}
bool shouldUseHotMode() {
return argResults['hot'] && (getBuildMode() == BuildMode.debug);
}
@override
Future<int> runInProject() async {
int debugPort;
......@@ -143,16 +147,14 @@ class RunCommand extends RunCommandBase {
Cache.releaseLockEarly();
// Do some early error checks for hot mode.
bool hotMode = argResults['hot'];
// Enable hot mode by default if ``--no-hot` was not passed and we are in
// debug mode.
final bool hotMode = shouldUseHotMode();
if (hotMode) {
if (getBuildMode() != BuildMode.debug) {
printError('Hot mode only works with debug builds.');
return 1;
}
if (!deviceForCommand.supportsHotMode) {
printError('Hot mode is not supported by this device.');
printError('Hot mode is not supported by this device. '
'Run with --no-hot.');
return 1;
}
}
......@@ -164,7 +166,7 @@ class RunCommand extends RunCommandBase {
}
ResidentRunner runner;
if (argResults['hot']) {
if (hotMode) {
runner = new HotRunner(
deviceForCommand,
target: targetFile,
......
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