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

Unified Diff: sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart

Issue 566743002: Don't try to load unnecessary transformers when precompiling executables. (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
Index: sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart
diff --git a/sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart b/sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart
index 6401105a488693d4d585e90f73348b0bf7cfaf9c..c9cfdafc58baf0fafd3573df962fe938dfd4cc48 100644
--- a/sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart
+++ b/sdk/lib/_internal/pub/lib/src/barback/transformers_needed_by_transformers.dart
@@ -11,6 +11,7 @@ import '../io.dart';
import '../package.dart';
import '../package_graph.dart';
import '../utils.dart';
+import 'asset_environment.dart';
import 'cycle_exception.dart';
import 'transformer_config.dart';
import 'transformer_id.dart';
@@ -25,11 +26,16 @@ import 'transformer_id.dart';
/// The returned graph is transitively closed. That is, if there's an edge from
/// `T1` to `T2` and an edge from `T2` to `T3`, there's also an edge from `T1`
/// to `T2`.
+///
+/// If [packages] is passed, only transformers in those packages will be
+/// inspected.
Map<TransformerId, Set<TransformerId>> computeTransformersNeededByTransformers(
- PackageGraph graph) {
+ PackageGraph graph, {Iterable<String> packages}) {
+ if (packages == null) packages = graph.packages.keys;
+
var result = {};
var computer = new _DependencyComputer(graph);
- for (var packageName in ordered(graph.packages.keys)) {
+ for (var packageName in ordered(packages)) {
var package = graph.packages[packageName];
for (var phase in package.pubspec.transformers) {
for (var config in phase) {

Powered by Google App Engine
This is Rietveld 408576698