Switch flutter_tools from script to app-jit snapshot. (#27749)
diff --git a/bin/flutter b/bin/flutter
index b626802..178994f 100755
--- a/bin/flutter
+++ b/bin/flutter
@@ -121,7 +121,7 @@
retry_upgrade
- "$DART" --snapshot="$SNAPSHOT_PATH" --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH"
+ "$DART" --snapshot="$SNAPSHOT_PATH" --snapshot-kind=app-jit --packages="$FLUTTER_TOOLS_DIR/.packages" "$SCRIPT_PATH" training
echo "$revision" > "$STAMP_PATH"
fi
# The exit here is duplicitous since the function is run in a subshell,
diff --git a/bin/flutter.bat b/bin/flutter.bat
index cff515a..7aa7020 100644
--- a/bin/flutter.bat
+++ b/bin/flutter.bat
@@ -152,7 +152,7 @@
POPD
- "%dart%" --snapshot="%snapshot_path%" --packages="%flutter_tools_dir%\.packages" "%script_path%"
+ "%dart%" --snapshot="%snapshot_path%" --snapshot-kind=app-jit --packages="%flutter_tools_dir%\.packages" "%script_path%"
IF "%ERRORLEVEL%" NEQ "0" (
ECHO Error: Unable to create dart snapshot for flutter tool.
SET exit_code=%ERRORLEVEL%
diff --git a/dev/bots/test.dart b/dev/bots/test.dart
index 8a2fde4..59f19e8 100644
--- a/dev/bots/test.dart
+++ b/dev/bots/test.dart
@@ -181,7 +181,6 @@
await _buildRunnerTest(
path.join(flutterRoot, 'packages', 'flutter_tools'),
flutterRoot,
- enableFlutterToolAsserts: true,
tableData: bigqueryApi?.tabledata,
);
@@ -713,4 +712,4 @@
}
// note: this also covers plugin_test_win as long as Windows has an Android SDK available.
await _runDevicelabTest('plugin_test', env: env);
-}
\ No newline at end of file
+}
diff --git a/packages/flutter_tools/lib/executable.dart b/packages/flutter_tools/lib/executable.dart
index 1415fa5..f5a5340 100644
--- a/packages/flutter_tools/lib/executable.dart
+++ b/packages/flutter_tools/lib/executable.dart
@@ -38,6 +38,7 @@
import 'src/commands/stop.dart';
import 'src/commands/test.dart';
import 'src/commands/trace.dart';
+import 'src/commands/train.dart';
import 'src/commands/update_packages.dart';
import 'src/commands/upgrade.dart';
import 'src/commands/version.dart';
@@ -84,6 +85,7 @@
StopCommand(),
TestCommand(verboseHelp: verboseHelp),
TraceCommand(),
+ TrainingCommand(),
UpdatePackagesCommand(hidden: !verboseHelp),
UpgradeCommand(),
VersionCommand(),
diff --git a/packages/flutter_tools/lib/src/commands/train.dart b/packages/flutter_tools/lib/src/commands/train.dart
new file mode 100644
index 0000000..9bd0be5
--- /dev/null
+++ b/packages/flutter_tools/lib/src/commands/train.dart
@@ -0,0 +1,27 @@
+// Copyright 2019 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import '../runner/flutter_command.dart';
+
+/// This command is run when generating the app-jit snapshot for the tool, so it cannot access the Cache
+/// or any artifacts that haven't been downloaded yet.
+class TrainingCommand extends FlutterCommand {
+ @override
+ String get description => 'training run for app-jit snapshot';
+
+ @override
+ String get name => 'training';
+
+ @override
+ bool get hidden => true;
+
+ @override
+ bool get shouldUpdateCache => false;
+
+ @override
+ Future<FlutterCommandResult> runCommand() async {
+ // This command does not do anything yet :).
+ return null;
+ }
+}