Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(589)

Unified Diff: lib/src/command/cache_repair.dart

Issue 1239623005: "pub cache repair" prints a more detailed summary. (Closed) Base URL: git@github.com:dart-lang/pub.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | lib/src/global_packages.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/src/command/cache_repair.dart
diff --git a/lib/src/command/cache_repair.dart b/lib/src/command/cache_repair.dart
index 3e130e96904d6fa468a57b15a94a7f4011335d51..53b0f0211e7705d6b4f00b8baa883219f78c5f8d 100644
--- a/lib/src/command/cache_repair.dart
+++ b/lib/src/command/cache_repair.dart
@@ -22,43 +22,58 @@ class CacheRepairCommand extends PubCommand {
bool get takesArguments => false;
Future run() async {
- var successes = 0;
- var failures = 0;
+ var successes = [];
+ var failures = [];
// Repair every cached source.
for (var source in cache.sources) {
if (source is! CachedSource) continue;
var results = await source.repairCachedPackages();
- successes += results.first;
- failures += results.last;
+ successes.addAll(results.first);
+ failures.addAll(results.last);
}
- if (successes > 0) {
- var packages = pluralize("package", successes);
- log.message("Reinstalled ${log.green(successes)} $packages.");
+ if (successes.length > 0) {
+ var packages = pluralize("package", successes.length);
+ log.message("Reinstalled ${log.green(successes.length)} $packages.");
}
- if (failures > 0) {
- var packages = pluralize("package", failures);
- log.message("Failed to reinstall ${log.red(failures)} $packages.");
+ if (failures.length > 0) {
+ var packages = pluralize("package", failures.length);
+ var buffer = new StringBuffer(
+ "Failed to reinstall ${log.red(failures.length)} $packages:\n");
+
+ for (var id in failures) {
+ buffer.write("- ${log.bold(id.name)} ${id.version}");
+ if (cache.sources[id.source] != cache.sources.defaultSource) {
+ buffer.write(" from ${id.source}");
+ }
+ buffer.writeln();
+ }
+
+ log.message(buffer.toString());
}
var results = await globals.repairActivatedPackages();
- if (results.first > 0) {
- var packages = pluralize("package", results.first);
- log.message("Reactivated ${log.green(results.first)} $packages.");
+ if (results.first.length > 0) {
+ var packages = pluralize("package", results.first.length);
+ log.message("Reactivated ${log.green(results.first.length)} $packages.");
}
- if (results.last > 0) {
- var packages = pluralize("package", results.last);
- log.message("Failed to reactivate ${log.red(results.last)} $packages.");
+ if (results.last.length > 0) {
+ var packages = pluralize("package", results.last.length);
+ log.message(
+ "Failed to reactivate ${log.red(results.last.length)} $packages:\n" +
+ results.last.map((name) => "- ${log.bold(name)}").join("\n"));
}
- if (successes == 0 && failures == 0) {
+ if (successes.length == 0 && failures.length == 0) {
log.message("No packages in cache, so nothing to repair.");
}
- if (failures > 0) await flushThenExit(exit_codes.UNAVAILABLE);
+ if (failures.length > 0 || results.last.length > 0) {
+ await flushThenExit(exit_codes.UNAVAILABLE);
+ }
}
}
« no previous file with comments | « no previous file | lib/src/global_packages.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698