Chromium Code Reviews| Index: pkg/polymer/lib/src/build/build_log_combiner.dart |
| diff --git a/pkg/polymer/lib/src/build/build_log_combiner.dart b/pkg/polymer/lib/src/build/build_log_combiner.dart |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..ec4b738debf39641b1a127383afd68be6c14bb89 |
| --- /dev/null |
| +++ b/pkg/polymer/lib/src/build/build_log_combiner.dart |
| @@ -0,0 +1,42 @@ |
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +/// Logic to combine all the ._buildLog.* logs into one ._buildLog file. |
| +library polymer.src.build.log_combiner; |
| + |
| +import 'dart:async'; |
| + |
| +import 'package:barback/barback.dart'; |
| +import 'package:html5lib/parser.dart' show parseFragment; |
| + |
| +import 'common.dart'; |
| +import 'wrapped_logger.dart'; |
| + |
| +/// Logic to combine all the ._buildLog.* logs into one ._buildLog file. |
| +class BuildLogCombiner extends Transformer with PolymerTransformer { |
| + final TransformOptions options; |
| + |
| + BuildLogCombiner(this.options); |
| + |
| + // Run only on entry point html files in !releaseMode. |
| + bool isPrimary(idOrAsset) { |
| + if (options.releaseMode) return false; |
| + var id = idOrAsset is AssetId ? idOrAsset : idOrAsset.id; |
| + return options.isHtmlEntryPoint(id); |
| + } |
| + |
| + Future apply(Transform transform) { |
| + // Combine all ._buildLogs* files into one ._buildLogs file. |
| + return WrappedLogger.combineLogFiles(transform).then((_) { |
| + // Inject the stylesheet for the logger widget. |
| + return readPrimaryAsHtml(transform).then((document) { |
| + document.body.append(parseFragment( |
|
Siggi Cherem (dart-lang)
2014/08/04 20:38:37
body => head
jakemac
2014/08/04 22:21:57
Done.
|
| + '<link rel="stylesheet" type="text/css"' |
| + 'href="packages/polymer/src/build/log_injector.css">')); |
| + transform.addOutput(new Asset.fromString( |
| + transform.primaryInput.id, document.outerHtml)); |
| + }); |
| + }); |
| + } |
| +} |