@@ -8,6 +8,12 @@ library dartdoc;
8
8
import 'dart:async' ;
9
9
import 'dart:io' ;
10
10
11
+ import 'package:analyzer/file_system/file_system.dart' as fileSystem;
12
+ import 'package:analyzer/file_system/physical_file_system.dart' ;
13
+ import 'package:analyzer/source/package_map_provider.dart' ;
14
+ import 'package:analyzer/source/package_map_resolver.dart' ;
15
+ import 'package:analyzer/source/pub_package_map_provider.dart' ;
16
+ import 'package:analyzer/source/sdk_ext.dart' ;
11
17
import 'package:analyzer/src/generated/element.dart' ;
12
18
import 'package:analyzer/src/generated/engine.dart' ;
13
19
import 'package:analyzer/src/generated/error.dart' ;
@@ -131,12 +137,20 @@ class DartDoc {
131
137
];
132
138
if (urlMappings != null ) resolvers.insert (
133
139
0 , new CustomUriResolver (urlMappings));
134
- JavaFile packagesDir = packageRootDir == null
135
- ? new JavaFile .relative (new JavaFile (rootDir.path), 'packages' )
136
- : new JavaFile (packageRootDir.path);
137
- if (packagesDir.exists ()) {
138
- resolvers.add (new PackageUriResolver ([packagesDir]));
140
+
141
+ fileSystem.Resource cwd =
142
+ PhysicalResourceProvider .INSTANCE .getResource ('.' );
143
+ PubPackageMapProvider pubPackageMapProvider =
144
+ new PubPackageMapProvider (PhysicalResourceProvider .INSTANCE , sdk);
145
+ PackageMapInfo packageMapInfo =
146
+ pubPackageMapProvider.computePackageMap (cwd);
147
+ Map <String , List <fileSystem.Folder >> packageMap = packageMapInfo.packageMap;
148
+ if (packageMap != null ) {
149
+ resolvers.add (new SdkExtUriResolver (packageMap));
150
+ resolvers.add (new PackageMapUriResolver (
151
+ PhysicalResourceProvider .INSTANCE , packageMap));
139
152
}
153
+
140
154
SourceFactory sourceFactory =
141
155
new SourceFactory (/*contentCache,*/ resolvers);
142
156
0 commit comments