Commit 661740d2 authored by Devon Carew's avatar Devon Carew Committed by GitHub

updates from previous review (#4577)

parent fc2dbdee
...@@ -303,7 +303,7 @@ class RunAndStayResident { ...@@ -303,7 +303,7 @@ class RunAndStayResident {
await devFS.init(); await devFS.init();
} catch (error) { } catch (error) {
devFS = null; devFS = null;
printError('Error initing DevFS: $error'); printError('Error initializing development client: $error');
return null; return null;
} }
} }
...@@ -313,7 +313,7 @@ class RunAndStayResident { ...@@ -313,7 +313,7 @@ class RunAndStayResident {
_sendFiles(directory, '', _dartFiles(directory.listSync())); _sendFiles(directory, '', _dartFiles(directory.listSync()));
directory = new Directory('lib'); directory = new Directory('lib');
_sendFiles(directory, 'lib', _dartFiles(directory.listSync(recursive: true, followLinks: false))); _sendFiles(directory, 'lib', _dartFiles(directory.listSync(recursive: true)));
// Send the packages. // Send the packages.
if (FileSystemEntity.isFileSync(kPackagesFileName)) { if (FileSystemEntity.isFileSync(kPackagesFileName)) {
...@@ -329,7 +329,7 @@ class RunAndStayResident { ...@@ -329,7 +329,7 @@ class RunAndStayResident {
_sendFiles( _sendFiles(
directory, directory,
'packages/$packageName', 'packages/$packageName',
_dartFiles(directory.listSync(recursive: true, followLinks: false)) _dartFiles(directory.listSync(recursive: true))
); );
} }
} }
...@@ -338,7 +338,7 @@ class RunAndStayResident { ...@@ -338,7 +338,7 @@ class RunAndStayResident {
try { try {
await devFS.flush(); await devFS.flush();
} catch (error) { } catch (error) {
printError('Error sending DevFS files: $error'); printError('Error sending sources to the client device: $error');
} }
} }
...@@ -355,8 +355,7 @@ class RunAndStayResident { ...@@ -355,8 +355,7 @@ class RunAndStayResident {
List<File> _dartFiles(List<FileSystemEntity> entities) { List<File> _dartFiles(List<FileSystemEntity> entities) {
return new List<File>.from(entities return new List<File>.from(entities
.where((FileSystemEntity entity) => entity is File) .where((FileSystemEntity entity) => entity is File && entity.path.endsWith('.dart')));
.where((File file) => file.path.endsWith('.dart')));
} }
void _printHelp() { void _printHelp() {
...@@ -425,21 +424,21 @@ class DevFS { ...@@ -425,21 +424,21 @@ class DevFS {
final Observatory observatory; final Observatory observatory;
String fsName; String fsName;
Map<String, DevFSFileEntry> entries = <String, DevFSFileEntry>{}; Map<String, _DevFSFileEntry> entries = <String, _DevFSFileEntry>{};
Future<dynamic> init() => observatory.createDevFS(fsName); Future<dynamic> init() => observatory.createDevFS(fsName);
void stageFile(String devPath, File file) { void stageFile(String devPath, File file) {
entries.putIfAbsent(devPath, () => new DevFSFileEntry(devPath, file)); entries.putIfAbsent(devPath, () => new _DevFSFileEntry(devPath, file));
} }
/// Flush any modified files to the devfs. /// Flush any modified files to the devfs.
Future<Null> flush() async { Future<Null> flush() async {
List<DevFSFileEntry> toSend = entries.values List<_DevFSFileEntry> toSend = entries.values
.where((DevFSFileEntry entry) => entry.isModified) .where((_DevFSFileEntry entry) => entry.isModified)
.toList(); .toList();
for (DevFSFileEntry entry in toSend) { for (_DevFSFileEntry entry in toSend) {
printTrace('sending devfs://$fsName/${entry.devPath}'); printTrace('sending devfs://$fsName/${entry.devPath}');
entry.updateLastModified(); entry.updateLastModified();
} }
...@@ -451,21 +450,25 @@ class DevFS { ...@@ -451,21 +450,25 @@ class DevFS {
return; return;
} }
await observatory.writeDevFSFiles(fsName, files: toSend.map((DevFSFileEntry entry) { try {
return new _DevFSFile('/${entry.devPath}', entry.file); List<_DevFSFile> files = toSend.map((_DevFSFileEntry entry) {
}).toList()).whenComplete(() { return new _DevFSFile('/${entry.devPath}', entry.file);
}).toList();
await observatory.writeDevFSFiles(fsName, files: files);
} finally {
status.stop(showElapsedTime: true); status.stop(showElapsedTime: true);
}); }
} }
Future<List<String>> listDevFSFiles() => observatory.listDevFSFiles(fsName); Future<List<String>> listDevFSFiles() => observatory.listDevFSFiles(fsName);
} }
class DevFSFileEntry { class _DevFSFileEntry {
DevFSFileEntry(this.devPath, this.file); _DevFSFileEntry(this.devPath, this.file);
final String devPath;
final File file;
String devPath;
File file;
DateTime lastModified; DateTime lastModified;
bool get isModified => lastModified == null || file.lastModifiedSync().isAfter(lastModified); bool get isModified => lastModified == null || file.lastModifiedSync().isAfter(lastModified);
......
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