Skip to content

Commit 526a57d

Browse files
committed
fix(transformer): Don't share resolvers between parallel transformers as this will cause a deadlock
Fixes dart-archive#1276 Closes dart-archive#1382 Conflicts: lib/transformer.dart
1 parent 6a06fb1 commit 526a57d

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

lib/transformer.dart

+12-9
Original file line numberDiff line numberDiff line change
@@ -117,20 +117,23 @@ Map<String, String> _readStringMapValue(Map args, String name) {
117117
return value;
118118
}
119119

120-
List<List<Transformer>> _createPhases(TransformOptions options) {
120+
Transformer _staticGenerator(TransformOptions options) {
121121
var resolvers = new Resolvers(options.sdkDirectory);
122-
return [
123-
[ new HtmlDartReferencesGenerator(options) ],
124-
[ new di.InjectorGenerator(options.diOptions, resolvers) ],
125-
[ new _SerialTransformer([
126-
new TypeRelativeUriGenerator(options, resolvers),
122+
return new _SerialTransformer([
127123
new ExpressionGenerator(options, resolvers),
128124
new MetadataGenerator(options, resolvers),
129-
new StaticAngularGenerator(options, resolvers)
130-
])]
131-
];
125+
new StaticAngularGenerator(options, resolvers),
126+
new TypeRelativeUriGenerator(options, resolvers)
127+
]);
132128
}
133129

130+
List<List<Transformer>> _createPhases(TransformOptions options) =>
131+
[
132+
[ new HtmlDartReferencesGenerator(options) ],
133+
[ new di.InjectorGenerator(options.diOptions, new Resolvers(options.sdkDirectory)) ],
134+
[ _staticGenerator(options) ]
135+
];
136+
134137
/// Helper which runs a group of transformers serially and ensures that
135138
/// transformers with shared data are always applied in a specific order.
136139
///

pubspec.lock

+2-6
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ packages:
1212
barback:
1313
description: barback
1414
source: hosted
15-
version: "0.14.1+3"
15+
version: "0.14.0+3"
1616
benchmark_harness:
1717
description: benchmark_harness
1818
source: hosted
@@ -85,14 +85,10 @@ packages:
8585
description: source_maps
8686
source: hosted
8787
version: "0.9.3"
88-
source_span:
89-
description: source_span
90-
source: hosted
91-
version: "1.0.0"
9288
stack_trace:
9389
description: stack_trace
9490
source: hosted
95-
version: "1.0.2"
91+
version: "0.9.3+2"
9692
typed_mock:
9793
description: typed_mock
9894
source: hosted

0 commit comments

Comments
 (0)