Skip to content

Commit 44797a6

Browse files
nateboschkevmoo
authored andcommitted
Update to analyzer 0.28.0
- Fix breaking changes - Use FolderBasedDartSdk instead of DirectoryBasedDartSdk - Construct FolderBasedDartSdk manually since `defaultInstance` no longer exists - Bump version and changelog Closes #92
1 parent fd2fc3a commit 44797a6

File tree

6 files changed

+33
-25
lines changed

6 files changed

+33
-25
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.5.1+3
2+
3+
* Upgrade to be compatible with the breaking changes in analyzer 0.28.0
4+
15
## 0.5.1+2
26

37
* Avoid calling `computeNode()` while instantiating annotation values

lib/src/annotation.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,8 +207,8 @@ bool matchAnnotation(Type annotationType, ElementAnnotation annotation) {
207207

208208
var annotationValueType = annotation.constantValue?.type;
209209
if (annotationValueType == null) {
210-
throw new ArgumentError.value(annotation, 'annotation',
211-
'Could not determine type of annotation. Are you missing a dependency?');
210+
throw new ArgumentError.value(annotation, 'annotation',
211+
'Could not determine type of annotation. Are you missing a dependency?');
212212
}
213213

214214
var annTypeName = annotationValueType.name;

lib/src/utils.dart

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ import 'package:analyzer/file_system/physical_file_system.dart';
1515
import 'package:analyzer/source/package_map_provider.dart';
1616
import 'package:analyzer/source/package_map_resolver.dart';
1717
import 'package:analyzer/source/pub_package_map_provider.dart';
18+
import 'package:analyzer/src/dart/sdk/sdk.dart' show FolderBasedDartSdk;
1819
import 'package:analyzer/src/generated/engine.dart';
1920
import 'package:analyzer/src/generated/java_io.dart';
2021
import 'package:analyzer/src/generated/sdk.dart' show DartSdk;
21-
import 'package:analyzer/src/generated/sdk_io.dart' show DirectoryBasedDartSdk;
2222
import 'package:analyzer/src/generated/source.dart';
2323
import 'package:analyzer/src/generated/source_io.dart';
2424
import 'package:cli_util/cli_util.dart' as cli;
@@ -83,9 +83,11 @@ Future<AnalysisContext> getAnalysisContextForProjectPath(
8383
var sdkPath = cli.getSdkDir().path;
8484

8585
JavaSystemIO.setProperty("com.google.dart.sdk", sdkPath);
86-
DartSdk sdk = DirectoryBasedDartSdk.defaultSdk;
86+
var resourceProvider = PhysicalResourceProvider.INSTANCE;
87+
DartSdk sdk = new FolderBasedDartSdk(
88+
resourceProvider, resourceProvider.getFolder(sdkPath));
8789

88-
var packageResolver = _getPackageResolver(projectPath);
90+
var packageResolver = _getPackageResolver(projectPath, sdk);
8991

9092
var resolvers = [
9193
new DartUriResolver(sdk),
@@ -107,14 +109,14 @@ Future<AnalysisContext> getAnalysisContextForProjectPath(
107109
return context;
108110
}
109111

110-
UriResolver _getPackageResolver(String projectPath) {
112+
UriResolver _getPackageResolver(String projectPath, DartSdk sdk) {
111113
// is there a .packages file? If yes, use that!
112114

113115
var dotPackagesPath = p.join(projectPath, '.packages');
114116

115117
if (FileSystemEntity.isFileSync(dotPackagesPath)) {
116-
PubPackageMapProvider pubPackageMapProvider = new PubPackageMapProvider(
117-
PhysicalResourceProvider.INSTANCE, DirectoryBasedDartSdk.defaultSdk);
118+
PubPackageMapProvider pubPackageMapProvider =
119+
new PubPackageMapProvider(PhysicalResourceProvider.INSTANCE, sdk);
118120
PackageMapInfo packageMapInfo = pubPackageMapProvider
119121
.computePackageMap(PhysicalResourceProvider.INSTANCE.getResource('.'));
120122
Map<String, List<Folder>> packageMap = packageMapInfo.packageMap;

pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
name: source_gen
2-
version: 0.5.1+2
2+
version: 0.5.1+3
33
author: Dart Team <[email protected]>
44
description: Automatic sourcecode generation for Dart
55
homepage: https://github.com/dart-lang/source_gen
66
environment:
77
sdk: '>=1.12.0 <2.0.0'
88
dependencies:
9-
analyzer: '^0.27.3'
9+
analyzer: ^0.28.0
1010
build: '>=0.2.1 <0.5.0'
1111
cli_util: ^0.0.1
1212
dart_style: '>=0.1.7 <0.3.0'

test/builder_test.dart

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,29 @@ void main() {
2222
new GeneratorBuilder([const _BadOutputGenerator()]),
2323
new InputSet(pkgName, ['lib/test_lib.dart']));
2424

25-
await testPhases(phaseGroup, pkgName, srcs,
26-
{'$pkgName|lib/test_lib.g.dart': contains('not valid code!'),});
25+
await testPhases(phaseGroup, pkgName, srcs, {
26+
'$pkgName|lib/test_lib.g.dart': contains('not valid code!'),
27+
});
2728
});
2829

2930
test('Generate standalone output file', () async {
3031
var srcs = _createPackageStub(pkgName);
3132
var phaseGroup = new PhaseGroup.singleAction(
3233
new GeneratorBuilder([const CommentGenerator()], isStandalone: true),
3334
new InputSet(pkgName, ['lib/test_lib.dart']));
34-
await testPhases(phaseGroup, pkgName, srcs,
35-
{'$pkgName|lib/test_lib.g.dart': _testGenStandaloneContent,});
35+
await testPhases(phaseGroup, pkgName, srcs, {
36+
'$pkgName|lib/test_lib.g.dart': _testGenStandaloneContent,
37+
});
3638
});
3739

3840
test('Generate explicitly non-standalone output file', () async {
3941
var srcs = _createPackageStub(pkgName);
4042
var phaseGroup = new PhaseGroup.singleAction(
4143
new GeneratorBuilder([const CommentGenerator()], isStandalone: false),
4244
new InputSet(pkgName, ['lib/test_lib.dart']));
43-
await testPhases(phaseGroup, pkgName, srcs,
44-
{'$pkgName|lib/test_lib.g.dart': _testGenPartContent,});
45+
await testPhases(phaseGroup, pkgName, srcs, {
46+
'$pkgName|lib/test_lib.g.dart': _testGenPartContent,
47+
});
4548
});
4649

4750
test('Expect error when multiple generators used on a standalone builder',
@@ -88,8 +91,9 @@ void main() {
8891
var phaseGroup = new PhaseGroup.singleAction(
8992
new GeneratorBuilder([const CommentGenerator()]),
9093
new InputSet(pkgName, ['lib/test_lib.dart']));
91-
await testPhases(phaseGroup, pkgName, srcs,
92-
{'$pkgName|lib/test_lib.g.dart': _testGenPartContentError,});
94+
await testPhases(phaseGroup, pkgName, srcs, {
95+
'$pkgName|lib/test_lib.g.dart': _testGenPartContentError,
96+
});
9397
});
9498
}
9599

@@ -102,8 +106,9 @@ Future _generateTest(CommentGenerator gen, String expectedContent) async {
102106
var phaseGroup = new PhaseGroup.singleAction(new GeneratorBuilder([gen]),
103107
new InputSet(pkgName, ['lib/test_lib.dart']));
104108

105-
await testPhases(phaseGroup, pkgName, srcs,
106-
{'$pkgName|lib/test_lib.g.dart': expectedContent,});
109+
await testPhases(phaseGroup, pkgName, srcs, {
110+
'$pkgName|lib/test_lib.g.dart': expectedContent,
111+
});
107112
}
108113

109114
/// Creates a package using [pkgName].

test/find_libraries_test.dart

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
library source_gen.test.find_libraries;
77

88
import 'package:analyzer/src/generated/engine.dart';
9-
import 'package:analyzer/src/generated/source_io.dart';
109
import 'package:path/path.dart' as p;
1110
import 'package:source_gen/src/utils.dart';
1211
import 'package:test/test.dart';
@@ -35,12 +34,10 @@ void main() {
3534
var fullInputPath = _testFilePath(inputPath);
3635

3736
var libElement = getLibraryElementForSourceFile(context, fullInputPath);
38-
39-
var libSource = libElement.source as FileBasedSource;
40-
37+
4138
var fullLibPath = _testFilePath(expectedLibPath);
4239

43-
expect(p.fromUri(libSource.uri), fullLibPath);
40+
expect(p.fromUri(libElement.source.uri), fullLibPath);
4441
});
4542
});
4643
});

0 commit comments

Comments
 (0)