Skip to content

Commit a1dd348

Browse files
committed
Drop support for older Barback versions.
This also allows us to limit our tests to the latest barback, which simplifies the necessary infrastructure and speeds up the tests dramatically. Closes #1367 [email protected] Review URL: https://codereview.chromium.org//1530353002 .
1 parent a69f0c9 commit a1dd348

File tree

83 files changed

+1724
-2052
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+1724
-2052
lines changed

.gitmodules

-12
This file was deleted.

.test_config

-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
11
{
2-
"pre_test_hooks": {
3-
"Update submodules": "git submodule update --init --force"
4-
},
52
"test_package": {
63
"platforms": ["vm"]
74
}

lib/src/asset/dart/serialize.dart

-15
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@ import 'dart:isolate';
99

1010
import 'package:barback/barback.dart';
1111

12-
//# if source_maps >=0.9.0 <0.10.0
13-
//> import 'package:source_maps/span.dart';
14-
//# end
15-
1612
//# if source_span
1713
import 'package:source_span/source_span.dart';
1814
//# end
@@ -57,17 +53,6 @@ SourceSpan deserializeSpan(Map span) {
5753
///
5854
/// [location] may be a [SourceLocation] or a [SourceLocation].
5955
Map serializeLocation(location) {
60-
//# if source_maps >=0.9.0 <0.10.0
61-
//> if (location is Location) {
62-
//> return {
63-
//> 'sourceUrl': location.sourceUrl,
64-
//> 'offset': location.offset,
65-
//> 'line': location.line,
66-
//> 'column': location.column
67-
//> };
68-
//> }
69-
//# end
70-
7156
//# if source_span
7257
// TODO(nweiz): convert FileLocations to FileLocations.
7358
if (location is SourceLocation) {

lib/src/asset/dart/serialize/aggregate_transform.dart

-3
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@ class _ForeignBaseAggregateTransform {
120120
// barback versions because merely referencing undefined types in type
121121
// annotations isn't a static error. Only implementing an undefined interface is
122122
// a static error.
123-
//# if barback >=0.14.1
124123

125124
/// A wrapper for an [AggregateTransform] that's in the host isolate.
126125
///
@@ -169,5 +168,3 @@ class ForeignDeclaringAggregateTransform
169168
});
170169
}
171170
}
172-
173-
//# end

lib/src/asset/dart/transformer_isolate.dart

+2-13
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void loadTransformers(SendPort replyTo) {
3939
/// in it, instantiates them with [configuration] and [mode], and returns them.
4040
List _initialize(String uri, Map configuration, BarbackMode mode) {
4141
var transformerClass = reflectClass(Transformer);
42-
var aggregateClass = _aggregateTransformerClass;
42+
var aggregateClass = reflectClass(AggregateTransformer);
4343
var groupClass = reflectClass(TransformerGroup);
4444

4545
var seen = new Set();
@@ -64,8 +64,7 @@ List _initialize(String uri, Map configuration, BarbackMode mode) {
6464
if (classMirror.isAbstract) return null;
6565
if (!classMirror.isSubtypeOf(transformerClass) &&
6666
!classMirror.isSubtypeOf(groupClass) &&
67-
(aggregateClass == null ||
68-
!classMirror.isSubtypeOf(aggregateClass))) {
67+
!classMirror.isSubtypeOf(aggregateClass)) {
6968
return null;
7069
}
7170

@@ -100,13 +99,3 @@ MethodMirror _getConstructor(ClassMirror classMirror, String constructor) {
10099
if (candidate is MethodMirror && candidate.isConstructor) return candidate;
101100
return null;
102101
}
103-
104-
// Older barbacks don't support [AggregateTransformer], and calling
105-
// [reflectClass] on an undefined class will throw an error, so we just define a
106-
// null getter for them.
107-
//# if barback >=0.14.1
108-
ClassMirror get _aggregateTransformerClass =>
109-
reflectClass(AggregateTransformer);
110-
//# else
111-
//> ClassMirror get _aggregateTransformerClass => null;
112-
//# end

lib/src/barback.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import 'package:pub_semver/pub_semver.dart';
3737
///
3838
/// [compat]: https://gist.github.com/nex3/10942218
3939
final pubConstraints = {
40-
"barback": new VersionConstraint.parse(">=0.13.0 <0.15.3"),
40+
"barback": new VersionConstraint.parse(">=0.15.0 <0.15.3"),
4141
"source_span": new VersionConstraint.parse(">=1.0.0 <2.0.0"),
4242
"stack_trace": new VersionConstraint.parse(">=0.9.1 <2.0.0")
4343
};

test/build/allows_arbitrary_modes_test.dart

+24-26
Original file line numberDiff line numberDiff line change
@@ -28,32 +28,30 @@ class ModeTransformer extends Transformer {
2828
""";
2929

3030
main() {
31-
withBarbackVersions("any", () {
32-
integration("allows user-defined mode names", () {
33-
d.dir(appPath, [
34-
d.pubspec({
35-
"name": "myapp",
36-
"transformers": ["myapp/src/transformer"]
37-
}),
38-
d.dir("lib", [d.dir("src", [
39-
d.file("transformer.dart", TRANSFORMER)
40-
])]),
41-
d.dir("web", [
42-
d.file("foo.txt", "foo")
31+
integration("allows user-defined mode names", () {
32+
d.dir(appPath, [
33+
d.pubspec({
34+
"name": "myapp",
35+
"transformers": ["myapp/src/transformer"]
36+
}),
37+
d.dir("lib", [d.dir("src", [
38+
d.file("transformer.dart", TRANSFORMER)
39+
])]),
40+
d.dir("web", [
41+
d.file("foo.txt", "foo")
42+
])
43+
]).create();
44+
45+
createLockFile('myapp', pkg: ['barback']);
46+
47+
schedulePub(args: ["build", "--mode", "depeche"]);
48+
49+
d.dir(appPath, [
50+
d.dir('build', [
51+
d.dir('web', [
52+
d.file('foo.out', 'depeche')
4353
])
44-
]).create();
45-
46-
createLockFile('myapp', pkg: ['barback']);
47-
48-
schedulePub(args: ["build", "--mode", "depeche"]);
49-
50-
d.dir(appPath, [
51-
d.dir('build', [
52-
d.dir('web', [
53-
d.file('foo.out', 'depeche')
54-
])
55-
])
56-
]).validate();
57-
});
54+
])
55+
]).validate();
5856
});
5957
}

test/build/defaults_to_release_mode_test.dart

+26-28
Original file line numberDiff line numberDiff line change
@@ -28,32 +28,30 @@ class ModeTransformer extends Transformer {
2828
""";
2929

3030
main() {
31-
withBarbackVersions("any", () {
32-
integration("defaults to release mode", () {
33-
d.dir(appPath, [
34-
d.pubspec({
35-
"name": "myapp",
36-
"transformers": ["myapp/src/transformer"]
37-
}),
38-
d.dir("lib", [d.dir("src", [
39-
d.file("transformer.dart", TRANSFORMER)
40-
])]),
41-
d.dir("web", [
42-
d.file("foo.txt", "foo")
43-
])
44-
]).create();
45-
46-
createLockFile('myapp', pkg: ['barback']);
47-
48-
schedulePub(args: ["build"]);
49-
50-
d.dir(appPath, [
51-
d.dir('build', [
52-
d.dir('web', [
53-
d.file('foo.out', 'release')
54-
])
55-
])
56-
]).validate();
57-
});
58-
});
31+
integration("defaults to release mode", () {
32+
d.dir(appPath, [
33+
d.pubspec({
34+
"name": "myapp",
35+
"transformers": ["myapp/src/transformer"]
36+
}),
37+
d.dir("lib", [d.dir("src", [
38+
d.file("transformer.dart", TRANSFORMER)
39+
])]),
40+
d.dir("web", [
41+
d.file("foo.txt", "foo")
42+
])
43+
]).create();
44+
45+
createLockFile('myapp', pkg: ['barback']);
46+
47+
schedulePub(args: ["build"]);
48+
49+
d.dir(appPath, [
50+
d.dir('build', [
51+
d.dir('web', [
52+
d.file('foo.out', 'release')
53+
])
54+
])
55+
]).validate();
56+
});
5957
}

test/build/outputs_error_to_json_test.dart

+29-31
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,33 @@ class RewriteTransformer extends Transformer {
2727
""";
2828

2929
main() {
30-
withBarbackVersions("any", () {
31-
integration("outputs error to JSON in a failed build", () {
32-
d.dir(appPath, [
33-
d.pubspec({
34-
"name": "myapp",
35-
"transformers": ["myapp"]
36-
}),
37-
d.dir("lib", [
38-
d.file("transformer.dart", TRANSFORMER)
39-
]),
40-
d.dir("web", [
41-
d.file("foo.txt", "foo")
42-
])
43-
]).create();
44-
45-
createLockFile('myapp', pkg: ['barback']);
46-
47-
schedulePub(args: ["build", "--format", "json"],
48-
outputJson: {
49-
"buildResult": "failure",
50-
"errors": [
51-
{
52-
"error": startsWith("Transform Rewrite on myapp|web/foo.txt "
53-
"threw error: oh no!")
54-
}
55-
],
56-
"log": []
57-
},
58-
exitCode: exit_codes.DATA);
59-
});
60-
});
30+
integration("outputs error to JSON in a failed build", () {
31+
d.dir(appPath, [
32+
d.pubspec({
33+
"name": "myapp",
34+
"transformers": ["myapp"]
35+
}),
36+
d.dir("lib", [
37+
d.file("transformer.dart", TRANSFORMER)
38+
]),
39+
d.dir("web", [
40+
d.file("foo.txt", "foo")
41+
])
42+
]).create();
43+
44+
createLockFile('myapp', pkg: ['barback']);
45+
46+
schedulePub(args: ["build", "--format", "json"],
47+
outputJson: {
48+
"buildResult": "failure",
49+
"errors": [
50+
{
51+
"error": startsWith("Transform Rewrite on myapp|web/foo.txt "
52+
"threw error: oh no!")
53+
}
54+
],
55+
"log": []
56+
},
57+
exitCode: exit_codes.DATA);
58+
});
6159
}

test/dart2js/compiles_generated_dart_file_test.dart

+18-20
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,28 @@ import '../test_pub.dart';
99
import '../serve/utils.dart';
1010

1111
main() {
12-
withBarbackVersions("any", () {
13-
integration("compiles a generated Dart file to JS", () {
14-
d.dir(appPath, [
15-
d.pubspec({
16-
"name": "myapp",
17-
"version": "0.0.1",
18-
"transformers": ["myapp/transformer"]
19-
}),
20-
d.dir("lib", [
21-
d.file("transformer.dart", dartTransformer("munge"))
22-
]),
23-
d.dir("web", [
24-
d.file("main.dart", """
12+
integration("compiles a generated Dart file to JS", () {
13+
d.dir(appPath, [
14+
d.pubspec({
15+
"name": "myapp",
16+
"version": "0.0.1",
17+
"transformers": ["myapp/transformer"]
18+
}),
19+
d.dir("lib", [
20+
d.file("transformer.dart", dartTransformer("munge"))
21+
]),
22+
d.dir("web", [
23+
d.file("main.dart", """
2524
const TOKEN = "before";
2625
void main() => print(TOKEN);
2726
""")
28-
])
29-
]).create();
27+
])
28+
]).create();
3029

31-
createLockFile('myapp', pkg: ['barback']);
30+
createLockFile('myapp', pkg: ['barback']);
3231

33-
pubServe();
34-
requestShouldSucceed("main.dart.js", contains("(before, munge)"));
35-
endPubServe();
36-
});
32+
pubServe();
33+
requestShouldSucceed("main.dart.js", contains("(before, munge)"));
34+
endPubServe();
3735
});
3836
}

test/dart2js/compiles_generated_file_from_dependency_outside_web_test.dart

+20-22
Original file line numberDiff line numberDiff line change
@@ -10,36 +10,34 @@ import '../serve/utils.dart';
1010

1111
main() {
1212
// This is a regression test for issue #17198.
13-
withBarbackVersions("any", () {
14-
integration("compiles a Dart file that imports a generated file to JS "
15-
"outside web/", () {
16-
d.dir(appPath, [
17-
d.pubspec({
18-
"name": "myapp",
19-
"version": "0.0.1",
20-
"transformers": ["myapp/transformer"]
21-
}),
22-
d.dir("lib", [
23-
d.file("transformer.dart", dartTransformer("munge"))
24-
]),
25-
d.dir("test", [
26-
d.file("main.dart", """
13+
integration("compiles a Dart file that imports a generated file to JS "
14+
"outside web/", () {
15+
d.dir(appPath, [
16+
d.pubspec({
17+
"name": "myapp",
18+
"version": "0.0.1",
19+
"transformers": ["myapp/transformer"]
20+
}),
21+
d.dir("lib", [
22+
d.file("transformer.dart", dartTransformer("munge"))
23+
]),
24+
d.dir("test", [
25+
d.file("main.dart", """
2726
import "other.dart";
2827
void main() => print(TOKEN);
2928
"""),
30-
d.file("other.dart", """
29+
d.file("other.dart", """
3130
library other;
3231
const TOKEN = "before";
3332
""")
3433
])
35-
]).create();
34+
]).create();
3635

37-
createLockFile('myapp', pkg: ['barback']);
36+
createLockFile('myapp', pkg: ['barback']);
3837

39-
pubServe(args: ["test"]);
40-
requestShouldSucceed("main.dart.js", contains("(before, munge)"),
41-
root: "test");
42-
endPubServe();
43-
});
38+
pubServe(args: ["test"]);
39+
requestShouldSucceed("main.dart.js", contains("(before, munge)"),
40+
root: "test");
41+
endPubServe();
4442
});
4543
}

0 commit comments

Comments
 (0)