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

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

Issue 23625002: Support loading transformer plugins from pub. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Re-upload Created 7 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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; 5 library pub.command;
6 6
7 import 'dart:io'; 7 import 'dart:io';
8 import 'dart:async'; 8 import 'dart:async';
9 9
10 import 'package:args/args.dart'; 10 import 'package:args/args.dart';
11 import 'package:path/path.dart' as path; 11 import 'package:path/path.dart' as path;
12 import 'package:stack_trace/stack_trace.dart';
12 13
13 import 'command/cache.dart'; 14 import 'command/cache.dart';
14 import 'command/deploy.dart'; 15 import 'command/deploy.dart';
15 import 'command/help.dart'; 16 import 'command/help.dart';
16 import 'command/install.dart'; 17 import 'command/install.dart';
17 import 'command/lish.dart'; 18 import 'command/lish.dart';
18 import 'command/list_package_dirs.dart'; 19 import 'command/list_package_dirs.dart';
19 import 'command/serve.dart'; 20 import 'command/serve.dart';
20 import 'command/update.dart'; 21 import 'command/update.dart';
21 import 'command/uploader.dart'; 22 import 'command/uploader.dart';
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 84
84 cache = new SystemCache.withSources(cacheDir, isOffline: isOffline); 85 cache = new SystemCache.withSources(cacheDir, isOffline: isOffline);
85 86
86 handleError(error) { 87 handleError(error) {
87 var trace = getAttachedStackTrace(error); 88 var trace = getAttachedStackTrace(error);
88 89
89 // This is basically the top-level exception handler so that we don't 90 // This is basically the top-level exception handler so that we don't
90 // spew a stack trace on our users. 91 // spew a stack trace on our users.
91 var message; 92 var message;
92 93
93 try { 94 log.error(getErrorMessage(error));
94 // Most exception types have a "message" property. We prefer this since
95 // it skips the "Exception:", "HttpException:", etc. prefix that calling
96 // toString() adds. But, alas, "message" isn't actually defined in the
97 // base Exception type so there's no easy way to know if it's available
98 // short of a giant pile of type tests for each known exception type.
99 //
100 // So just try it. If it throws, default to toString().
101 message = error.message;
102 } on NoSuchMethodError catch (_) {
103 message = error.toString();
104 }
105
106 log.error(message);
107 95
108 if (trace != null) { 96 if (trace != null) {
109 if (options['trace'] || !isUserFacingException(error)) { 97 if (options['trace'] || !isUserFacingException(error)) {
110 log.error(trace); 98 log.error(new Trace.from(trace).terse);
111 } else { 99 } else {
112 log.fine(trace); 100 log.fine(new Trace.from(trace).terse);
113 } 101 }
114 } 102 }
115 103
116 if (options['trace']) { 104 if (options['trace']) {
117 log.dumpTranscript(); 105 log.dumpTranscript();
118 } else if (!isUserFacingException(error)) { 106 } else if (!isUserFacingException(error)) {
119 log.error(""" 107 log.error("""
120 This is an unexpected error. Please run 108 This is an unexpected error. Please run
121 109
122 pub --trace ${new Options().arguments.map((arg) => "'$arg'").join(' ')} 110 pub --trace ${new Options().arguments.map((arg) => "'$arg'").join(' ')}
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 }; 195 };
208 196
209 for (var command in commands.values.toList()) { 197 for (var command in commands.values.toList()) {
210 for (var alias in command.aliases) { 198 for (var alias in command.aliases) {
211 commands[alias] = command; 199 commands[alias] = command;
212 } 200 }
213 } 201 }
214 202
215 return commands; 203 return commands;
216 } 204 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698