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

Side by Side Diff: sdk/lib/_internal/pub_generated/lib/src/command/cache_repair.dart

Issue 745153002: Make pub's binstubs resilient to changes in snapshot format. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Code review changes Created 6 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library pub.command.cache_repair; 5 library pub.command.cache_repair;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 8
9 import '../command.dart'; 9 import '../command.dart';
10 import '../exit_codes.dart' as exit_codes; 10 import '../exit_codes.dart' as exit_codes;
(...skipping 11 matching lines...) Expand all
22 Future onRun() { 22 Future onRun() {
23 final completer0 = new Completer(); 23 final completer0 = new Completer();
24 scheduleMicrotask(() { 24 scheduleMicrotask(() {
25 try { 25 try {
26 var successes = 0; 26 var successes = 0;
27 var failures = 0; 27 var failures = 0;
28 var it0 = cache.sources.iterator; 28 var it0 = cache.sources.iterator;
29 break0() { 29 break0() {
30 join0() { 30 join0() {
31 join1() { 31 join1() {
32 join2() { 32 globals.repairActivatedPackages().then((x0) {
33 join3() { 33 try {
34 completer0.complete(); 34 var results = x0;
35 join2() {
36 join3() {
37 join4() {
38 join5() {
39 completer0.complete();
40 }
41 if (failures > 0) {
42 flushThenExit(exit_codes.UNAVAILABLE).then((x1) {
43 try {
44 x1;
45 join5();
46 } catch (e0, s0) {
47 completer0.completeError(e0, s0);
48 }
49 }, onError: completer0.completeError);
50 } else {
51 join5();
52 }
53 }
54 if (successes == 0 && failures == 0) {
55 log.message(
56 "No packages in cache, so nothing to repair.");
57 join4();
58 } else {
59 join4();
60 }
61 }
62 if (results.last > 0) {
63 var packages = pluralize("package", results.last);
64 log.message(
65 "Failed to reactivate ${log.red(results.last)} ${packa ges}.");
66 join3();
67 } else {
68 join3();
69 }
70 }
71 if (results.first > 0) {
72 var packages = pluralize("package", results.first);
73 log.message(
74 "Reactivated ${log.green(results.first)} ${packages}.");
75 join2();
76 } else {
77 join2();
78 }
79 } catch (e1, s1) {
80 completer0.completeError(e1, s1);
35 } 81 }
36 if (failures > 0) { 82 }, onError: completer0.completeError);
37 flushThenExit(exit_codes.UNAVAILABLE).then((x0) {
38 try {
39 x0;
40 join3();
41 } catch (e0, s0) {
42 completer0.completeError(e0, s0);
43 }
44 }, onError: completer0.completeError);
45 } else {
46 join3();
47 }
48 }
49 if (successes == 0 && failures == 0) {
50 log.message("No packages in cache, so nothing to repair.");
51 join2();
52 } else {
53 join2();
54 }
55 } 83 }
56 if (failures > 0) { 84 if (failures > 0) {
57 var packages = pluralize("package", failures); 85 var packages = pluralize("package", failures);
58 log.message( 86 log.message(
59 "Failed to reinstall ${log.red(failures)} ${packages}."); 87 "Failed to reinstall ${log.red(failures)} ${packages}.");
60 join1(); 88 join1();
61 } else { 89 } else {
62 join1(); 90 join1();
63 } 91 }
64 } 92 }
65 if (successes > 0) { 93 if (successes > 0) {
66 var packages = pluralize("package", successes); 94 var packages = pluralize("package", successes);
67 log.message("Reinstalled ${log.green(successes)} ${packages}."); 95 log.message("Reinstalled ${log.green(successes)} ${packages}.");
68 join0(); 96 join0();
69 } else { 97 } else {
70 join0(); 98 join0();
71 } 99 }
72 } 100 }
73 var trampoline0; 101 var trampoline0;
74 continue0() { 102 continue0() {
75 trampoline0 = null; 103 trampoline0 = null;
76 if (it0.moveNext()) { 104 if (it0.moveNext()) {
77 var source = it0.current; 105 var source = it0.current;
78 join4() { 106 join6() {
79 source.repairCachedPackages().then((x1) { 107 source.repairCachedPackages().then((x2) {
80 trampoline0 = () { 108 trampoline0 = () {
81 trampoline0 = null; 109 trampoline0 = null;
82 try { 110 try {
83 var results = x1; 111 var results = x2;
84 successes += results.first; 112 successes += results.first;
85 failures += results.last; 113 failures += results.last;
86 trampoline0 = continue0; 114 trampoline0 = continue0;
87 } catch (e1, s1) { 115 } catch (e2, s2) {
88 completer0.completeError(e1, s1); 116 completer0.completeError(e2, s2);
89 } 117 }
90 }; 118 };
91 do trampoline0(); while (trampoline0 != null); 119 do trampoline0(); while (trampoline0 != null);
92 }, onError: completer0.completeError); 120 }, onError: completer0.completeError);
93 } 121 }
94 if (source is! CachedSource) { 122 if (source is! CachedSource) {
95 continue0(); 123 continue0();
96 } else { 124 } else {
97 join4(); 125 join6();
98 } 126 }
99 } else { 127 } else {
100 break0(); 128 break0();
101 } 129 }
102 } 130 }
103 trampoline0 = continue0; 131 trampoline0 = continue0;
104 do trampoline0(); while (trampoline0 != null); 132 do trampoline0(); while (trampoline0 != null);
105 } catch (e, s) { 133 } catch (e, s) {
106 completer0.completeError(e, s); 134 completer0.completeError(e, s);
107 } 135 }
108 }); 136 });
109 return completer0.future; 137 return completer0.future;
110 } 138 }
111 } 139 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/pub_generated/bin/async_compile.dart ('k') | sdk/lib/_internal/pub_generated/lib/src/entrypoint.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698