Index: utils/pub/system_cache.dart |
diff --git a/utils/pub/system_cache.dart b/utils/pub/system_cache.dart |
index 4c0e1760212e1c40e40eeff1b17c0a54bf883388..8a51912a6eb40de1247d4f5d47a647ee98579144 100644 |
--- a/utils/pub/system_cache.dart |
+++ b/utils/pub/system_cache.dart |
@@ -70,13 +70,16 @@ class SystemCache { |
// Try to get it from the system cache first. |
if (id.source.shouldCache) { |
return id.systemCacheDirectory.then((packageDir) { |
- if (!dirExists(packageDir)) return id.describe(); |
+ if (!fileExists(path.join(packageDir, "pubspec.yaml"))) { |
+ return id.source.describe(id); |
+ } |
+ |
return new Pubspec.load(id.name, packageDir, sources); |
}); |
} |
// Not cached, so get it from the source. |
- return id.describe(); |
+ return id.source.describe(id); |
} |
/// Ensures that the package identified by [id] is installed to the cache, |