[infra] Fix package_deps.dart to handle empty directories
Previously, this failed if git left an empty directory in the pkg/
directory.
Change-Id: I05e25438aaa29e73c7c4e8e1a2d85dbc1c747fff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/401400
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Sigurd Meldgaard <sigurdm@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
diff --git a/tools/package_deps/bin/package_deps.dart b/tools/package_deps/bin/package_deps.dart
index ba3099c..e9df384 100644
--- a/tools/package_deps/bin/package_deps.dart
+++ b/tools/package_deps/bin/package_deps.dart
@@ -35,8 +35,8 @@
final packages = <Package>[];
for (var entity in Directory('pkg').listSync()) {
if (entity is Directory) {
- var package = Package(entity.path);
- if (package.hasPubspec) {
+ if (_hasPubspec(entity)) {
+ var package = Package(entity.path);
packages.add(package);
}
}
@@ -82,6 +82,9 @@
}
}
+bool _hasPubspec(Directory dir) =>
+ FileSystemEntity.isFileSync(path.join(dir.path, 'pubspec.yaml'));
+
class Package implements Comparable<Package> {
final String dir;
final _regularDependencies = <String>{};
@@ -138,9 +141,6 @@
@override
String toString() => 'Package $dirName';
- bool get hasPubspec =>
- FileSystemEntity.isFileSync(path.join(dir, 'pubspec.yaml'));
-
@override
int compareTo(Package other) => dir.compareTo(other.dir);