Include .track in file names for cached dill files for builds with --track-widget-creation (#23299)
Ensure that cached dill files for builds with --track-widget-creation
always have .track. in the file name to avoid mixing transformed and
untransformed kernel files.
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index 5072b36..b7c78cb 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -13,6 +13,7 @@
import 'base/file_system.dart';
import 'base/io.dart';
import 'build_info.dart';
+import 'bundle.dart';
import 'compile.dart';
import 'dart/package_map.dart';
import 'globals.dart';
@@ -431,10 +432,13 @@
Set<String> fileFilter,
@required ResidentCompiler generator,
String dillOutputPath,
+ @required bool trackWidgetCreation,
bool fullRestart = false,
String projectRootPath,
@required String pathToReload,
}) async {
+ assert(trackWidgetCreation != null);
+ assert(generator != null);
// Mark all entries as possibly deleted.
for (DevFSContent content in _entries.values) {
content._exists = false;
@@ -526,7 +530,7 @@
final CompilerOutput compilerOutput = await generator.recompile(
mainPath,
invalidatedFiles,
- outputPath: dillOutputPath ?? fs.path.join(getBuildDirectory(), 'app.dill'),
+ outputPath: dillOutputPath ?? getDefaultApplicationKernelPath(trackWidgetCreation: trackWidgetCreation),
packagesFilePath : _packagesFilePath,
);
// Don't send full kernel file that would overwrite what VM already