| 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) {
|
|
|