Skip first time full dill transfer (#21133)
* Don't sync first full kernel file.
* Update the comment
diff --git a/packages/flutter_tools/lib/src/devfs.dart b/packages/flutter_tools/lib/src/devfs.dart
index fd47054..0594742 100644
--- a/packages/flutter_tools/lib/src/devfs.dart
+++ b/packages/flutter_tools/lib/src/devfs.dart
@@ -509,16 +509,20 @@
outputPath: dillOutputPath ?? fs.path.join(getBuildDirectory(), 'app.dill'),
packagesFilePath : _packagesFilePath,
);
- final String compiledBinary = compilerOutput?.outputFilename;
- if (compiledBinary != null && compiledBinary.isNotEmpty) {
- final Uri entryUri = fs.path.toUri(projectRootPath != null
- ? fs.path.relative(pathToReload, from: projectRootPath)
- : pathToReload,
- );
- if (!dirtyEntries.containsKey(entryUri)) {
- final DevFSFileContent content = DevFSFileContent(fs.file(compiledBinary));
- dirtyEntries[entryUri] = content;
- numBytes += content.size;
+ // Don't send full kernel file that would overwrite what VM already
+ // started loading from.
+ if (!bundleFirstUpload) {
+ final String compiledBinary = compilerOutput?.outputFilename;
+ if (compiledBinary != null && compiledBinary.isNotEmpty) {
+ final Uri entryUri = fs.path.toUri(projectRootPath != null
+ ? fs.path.relative(pathToReload, from: projectRootPath)
+ : pathToReload,
+ );
+ if (!dirtyEntries.containsKey(entryUri)) {
+ final DevFSFileContent content = DevFSFileContent(fs.file(compiledBinary));
+ dirtyEntries[entryUri] = content;
+ numBytes += content.size;
+ }
}
}
if (dirtyEntries.isNotEmpty) {