refactor(dart/transform): Simplify logging class
Use `TransformLogger` for the transformer rather than `BuildLogger`, which has additional funtionality (and complexity) that is unused.
This commit is contained in:
parent
4639f449cf
commit
1caccc410a
@ -4,7 +4,6 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:analyzer/analyzer.dart';
|
import 'package:analyzer/analyzer.dart';
|
||||||
import 'package:barback/barback.dart';
|
import 'package:barback/barback.dart';
|
||||||
import 'package:code_transformers/messages/build_logger.dart';
|
|
||||||
import 'package:source_span/source_span.dart';
|
import 'package:source_span/source_span.dart';
|
||||||
|
|
||||||
typedef _SimpleCallback();
|
typedef _SimpleCallback();
|
||||||
@ -14,9 +13,9 @@ final _key = #loggingZonedLoggerKey;
|
|||||||
|
|
||||||
/// Executes {@link fn} inside a new {@link Zone} with its own logger.
|
/// Executes {@link fn} inside a new {@link Zone} with its own logger.
|
||||||
Future<dynamic> initZoned(Transform t, _SimpleCallback fn) =>
|
Future<dynamic> initZoned(Transform t, _SimpleCallback fn) =>
|
||||||
setZoned(new BuildLogger(t), fn);
|
setZoned(t.logger, fn);
|
||||||
|
|
||||||
Future<dynamic> setZoned(BuildLogger logger, _SimpleCallback fn) async {
|
Future<dynamic> setZoned(TransformLogger logger, _SimpleCallback fn) async {
|
||||||
return runZoned(() async {
|
return runZoned(() async {
|
||||||
try {
|
try {
|
||||||
return await fn();
|
return await fn();
|
||||||
@ -46,8 +45,8 @@ Future<dynamic> setZoned(BuildLogger logger, _SimpleCallback fn) async {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// The logger for the current {@link Zone}.
|
/// The logger for the current {@link Zone}.
|
||||||
BuildLogger get logger {
|
TransformLogger get logger {
|
||||||
var current = Zone.current[_key] as BuildLogger;
|
var current = Zone.current[_key] as TransformLogger;
|
||||||
return current == null ? new PrintLogger() : current;
|
return current == null ? new PrintLogger() : current;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,25 +68,25 @@ Future logElapsedAsync(Future asyncOperation(),
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
class PrintLogger implements BuildLogger {
|
class PrintLogger implements TransformLogger {
|
||||||
@override
|
|
||||||
final String detailsUri = '';
|
|
||||||
@override
|
|
||||||
final bool convertErrorsToWarnings = false;
|
|
||||||
|
|
||||||
void _printWithPrefix(prefix, msg) => print('$prefix: $msg');
|
void _printWithPrefix(prefix, msg) => print('$prefix: $msg');
|
||||||
|
|
||||||
|
@override
|
||||||
void info(msg, {AssetId asset, SourceSpan span}) =>
|
void info(msg, {AssetId asset, SourceSpan span}) =>
|
||||||
_printWithPrefix('INFO', msg);
|
_printWithPrefix('INFO', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void fine(msg, {AssetId asset, SourceSpan span}) =>
|
void fine(msg, {AssetId asset, SourceSpan span}) =>
|
||||||
_printWithPrefix('FINE', msg);
|
_printWithPrefix('FINE', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void warning(msg, {AssetId asset, SourceSpan span}) =>
|
void warning(msg, {AssetId asset, SourceSpan span}) =>
|
||||||
_printWithPrefix('WARN', msg);
|
_printWithPrefix('WARN', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void error(msg, {AssetId asset, SourceSpan span}) {
|
void error(msg, {AssetId asset, SourceSpan span}) {
|
||||||
throw new PrintLoggerError(msg, asset, span);
|
throw new PrintLoggerError(msg, asset, span);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future writeOutput() => null;
|
|
||||||
Future addLogFilesFromAsset(AssetId id, [int nextNumber = 1]) => null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class PrintLoggerError extends Error {
|
class PrintLoggerError extends Error {
|
||||||
|
@ -1,33 +1,27 @@
|
|||||||
library angular2.test.transform.common.read_file;
|
library angular2.test.transform.common.read_file;
|
||||||
|
|
||||||
import 'package:barback/barback.dart';
|
import 'package:barback/barback.dart';
|
||||||
import 'package:code_transformers/messages/build_logger.dart';
|
|
||||||
import 'package:source_span/source_span.dart';
|
import 'package:source_span/source_span.dart';
|
||||||
|
|
||||||
class RecordingLogger implements BuildLogger {
|
class RecordingLogger implements TransformLogger {
|
||||||
@override
|
|
||||||
final String detailsUri = '';
|
|
||||||
@override
|
|
||||||
final bool convertErrorsToWarnings = false;
|
|
||||||
|
|
||||||
bool hasErrors = false;
|
bool hasErrors = false;
|
||||||
|
|
||||||
List<String> logs = [];
|
List<String> logs = [];
|
||||||
|
|
||||||
void _record(prefix, msg) => logs.add('$prefix: $msg');
|
void _record(prefix, msg) => logs.add('$prefix: $msg');
|
||||||
|
|
||||||
|
@override
|
||||||
void info(msg, {AssetId asset, SourceSpan span}) => _record('INFO', msg);
|
void info(msg, {AssetId asset, SourceSpan span}) => _record('INFO', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void fine(msg, {AssetId asset, SourceSpan span}) => _record('FINE', msg);
|
void fine(msg, {AssetId asset, SourceSpan span}) => _record('FINE', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void warning(msg, {AssetId asset, SourceSpan span}) => _record('WARN', msg);
|
void warning(msg, {AssetId asset, SourceSpan span}) => _record('WARN', msg);
|
||||||
|
|
||||||
|
@override
|
||||||
void error(msg, {AssetId asset, SourceSpan span}) {
|
void error(msg, {AssetId asset, SourceSpan span}) {
|
||||||
hasErrors = true;
|
hasErrors = true;
|
||||||
_record('ERROR', msg);
|
_record('ERROR', msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
Future writeOutput() => throw new UnimplementedError();
|
|
||||||
Future addLogFilesFromAsset(AssetId id, [int nextNumber = 1]) =>
|
|
||||||
throw new UnimplementedError();
|
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,6 @@ import 'package:angular2/src/transform/common/logging.dart' as log;
|
|||||||
import 'package:angular2/src/transform/common/model/reflection_info_model.pb.dart';
|
import 'package:angular2/src/transform/common/model/reflection_info_model.pb.dart';
|
||||||
import 'package:angular2/src/transform/common/ng_meta.dart';
|
import 'package:angular2/src/transform/common/ng_meta.dart';
|
||||||
import 'package:barback/barback.dart';
|
import 'package:barback/barback.dart';
|
||||||
import 'package:code_transformers/messages/build_logger.dart';
|
|
||||||
import 'package:dart_style/dart_style.dart';
|
import 'package:dart_style/dart_style.dart';
|
||||||
import 'package:guinness/guinness.dart';
|
import 'package:guinness/guinness.dart';
|
||||||
import '../common/read_file.dart';
|
import '../common/read_file.dart';
|
||||||
@ -427,7 +426,7 @@ Future<NgMeta> _testCreateModel(String inputPath,
|
|||||||
{List<AnnotationDescriptor> customDescriptors: const [],
|
{List<AnnotationDescriptor> customDescriptors: const [],
|
||||||
AssetId assetId,
|
AssetId assetId,
|
||||||
AssetReader reader,
|
AssetReader reader,
|
||||||
BuildLogger logger}) {
|
TransformLogger logger}) {
|
||||||
if (logger == null) logger = new RecordingLogger();
|
if (logger == null) logger = new RecordingLogger();
|
||||||
return log.setZoned(logger, () async {
|
return log.setZoned(logger, () async {
|
||||||
var inputId = _assetIdForPath(inputPath);
|
var inputId = _assetIdForPath(inputPath);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user