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..cfd85ca59b18c2c205162621055bc3aa200487f0 |
--- /dev/null |
+++ b/pkg/polymer/lib/src/build/build_log_combiner.dart |
@@ -0,0 +1,34 @@ |
+// 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 and only if |
+ /// options.injectBuildLogsInOutput is true. |
+ bool isPrimary(idOrAsset) { |
+ if (!options.injectBuildLogsInOutput) 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); |
+ } |
+} |