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

Unified Diff: pkg/code_transformers/lib/messages/build_logger.dart

Issue 543963002: Link to stable-errors site from pub-build messages on the command line. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | pkg/observe/lib/transformer.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/code_transformers/lib/messages/build_logger.dart
diff --git a/pkg/code_transformers/lib/messages/build_logger.dart b/pkg/code_transformers/lib/messages/build_logger.dart
index e1d7e78a58a2b8c53f206b497a180ef23b0fbad0..d8cb86feb6e002c8ad579403845074aa25b528e7 100644
--- a/pkg/code_transformers/lib/messages/build_logger.dart
+++ b/pkg/code_transformers/lib/messages/build_logger.dart
@@ -40,13 +40,19 @@ class BuildLogger implements TransformLogger {
/// underlying logger in `_transform.logger`.
final bool convertErrorsToWarnings;
- BuildLogger(this._transform, {this.convertErrorsToWarnings: false});
+ /// Uri prefix to link for additional details. If set, messages logged through
+ /// this logger will contain an additional sentence, telling users to find
+ /// more details at `$detailsUri#packagename_id`.
+ final String detailsUri;
+
+ BuildLogger(this._transform, {this.convertErrorsToWarnings: false,
+ this.detailsUri});
/// Records a message at the fine level. If [msg] is a [Message] it is
/// recorded directly, otherwise it is first converted to a [String].
void fine(msg, {AssetId asset, SourceSpan span}) {
msg = msg is Message ? msg : new Message.unknown('$msg');
- _transform.logger.fine(msg.snippet, asset: asset, span: span);
+ _transform.logger.fine(_snippet(msg), asset: asset, span: span);
_logs.add(new BuildLogEntry(msg, span, LogLevel.FINE.name));
}
@@ -54,7 +60,7 @@ class BuildLogger implements TransformLogger {
/// recorded directly, otherwise it is first converted to a [String].
void info(msg, {AssetId asset, SourceSpan span}) {
msg = msg is Message ? msg : new Message.unknown('$msg');
- _transform.logger.info(msg.snippet, asset: asset, span: span);
+ _transform.logger.info(_snippet(msg), asset: asset, span: span);
_logs.add(new BuildLogEntry(msg, span, LogLevel.INFO.name));
}
@@ -62,7 +68,7 @@ class BuildLogger implements TransformLogger {
/// directly, otherwise it is first converted to a [String].
void warning(msg, {AssetId asset, SourceSpan span}) {
msg = msg is Message ? msg : new Message.unknown('$msg');
- _transform.logger.warning(msg.snippet, asset: asset, span: span);
+ _transform.logger.warning(_snippet(msg), asset: asset, span: span);
_logs.add(new BuildLogEntry(msg, span, LogLevel.WARNING.name));
}
@@ -71,13 +77,21 @@ class BuildLogger implements TransformLogger {
void error(msg, {AssetId asset, SourceSpan span}) {
msg = msg is Message ? msg : new Message.unknown('$msg');
if (convertErrorsToWarnings) {
- _transform.logger.warning(msg.snippet, asset: asset, span: span);
+ _transform.logger.warning(_snippet(msg), asset: asset, span: span);
} else {
- _transform.logger.error(msg.snippet, asset: asset, span: span);
+ _transform.logger.error(_snippet(msg), asset: asset, span: span);
}
_logs.add(new BuildLogEntry(msg, span, LogLevel.ERROR.name));
}
+ String _snippet(Message msg) {
+ var s = msg.snippet;
+ if (detailsUri == null) return s;
+ var dot = s.endsWith('.') || s.endsWith('!') || s.endsWith('?') ? '' : '.';
+ var hashTag = '${msg.id.package}_${msg.id.id}';
+ return '$s$dot See $detailsUri#$hashTag for details.';
+ }
+
/// Outputs the log data to a JSON serialized file.
Future writeOutput() {
return _getNextLogAssetPath().then((path) {
« no previous file with comments | « no previous file | pkg/observe/lib/transformer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698