[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);