in tool/pub_upgrade.dart [19:52]
Future<void> main() async {
final results = <String, int>{};
Future<void> doWork(Directory directory) async {
for (var entry in directory.listSync()) {
if (entry is File) {
if (entry.path.endsWith('/pubspec.yaml')) {
final parent = entry.parent.path;
var exit = await _dartPub(parent);
if (exit == 69) {
exit = await _dartPub(parent, exe: 'flutter');
}
results[parent] = exit;
break;
}
} else if (entry is Directory) {
if (!entry.uri.pathSegments
.where((element) => element.isNotEmpty)
.last
.startsWith('.')) {
await doWork(entry);
}
}
}
}
await doWork(Directory.current);
print('Results:');
print(results.entries.map((e) => '${e.key} - ${e.value}').join('\n'));
}