[flutter_tools] Remove packageMap usage and update package_config (#54301)
* remove PackageMap
* Update flutter_web_platform.dart
diff --git a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart
index b49ef95..fcd7bd5 100644
--- a/packages/flutter_tools/lib/src/test/flutter_web_platform.dart
+++ b/packages/flutter_tools/lib/src/test/flutter_web_platform.dart
@@ -10,12 +10,7 @@
import 'package:async/async.dart';
import 'package:http_multi_server/http_multi_server.dart';
import 'package:meta/meta.dart';
-// TODO(bkonyi): remove deprecated member usage, https://github.com/flutter/flutter/issues/51951
-// ignore: deprecated_member_use
-import 'package:package_config/discovery.dart';
-// TODO(bkonyi): remove deprecated member usage, https://github.com/flutter/flutter/issues/51951
-// ignore: deprecated_member_use
-import 'package:package_config/packages.dart';
+import 'package:package_config/package_config.dart';
import 'package:path/path.dart' as p; // ignore: package_path_import
import 'package:pool/pool.dart';
import 'package:shelf/shelf.dart' as shelf;
@@ -102,19 +97,35 @@
);
}
- // TODO(bkonyi): remove deprecated member usage, https://github.com/flutter/flutter/issues/51951
- // ignore: deprecated_member_use
- final Future<Packages> _packagesFuture = loadPackagesFile(Uri.base.resolve('.packages'));
+ final Future<PackageConfig> _packagesFuture = loadPackageConfigUri(
+ Uri.base.resolve('.packages'),
+ loader: (Uri uri) {
+ final File file = globals.fs.file(uri);
+ if (!file.existsSync()) {
+ return null;
+ }
+ return file.readAsBytes();
+ }
+ );
- final PackageMap _flutterToolsPackageMap = PackageMap(p.join(
- Cache.flutterRoot,
- 'packages',
- 'flutter_tools',
- '.packages',
- ), fileSystem: globals.fs);
+ final Future<PackageConfig> _flutterToolsPackageMap = loadPackageConfigUri(
+ globals.fs.file(globals.fs.path.join(
+ Cache.flutterRoot,
+ 'packages',
+ 'flutter_tools',
+ '.packages',
+ )).absolute.uri,
+ loader: (Uri uri) {
+ final File file = globals.fs.file(uri);
+ if (!file.existsSync()) {
+ return null;
+ }
+ return file.readAsBytes();
+ }
+ );
/// Uri of the test package.
- Uri get testUri => _flutterToolsPackageMap.map['test'];
+ Future<Uri> get testUri async => (await _flutterToolsPackageMap)['test']?.packageUriRoot;
/// The test runner configuration.
final Configuration _config;
@@ -168,19 +179,19 @@
));
/// The precompiled test javascript.
- File get testDartJs => globals.fs.file(globals.fs.path.join(
- testUri.toFilePath(),
- 'dart.js',
- ));
+ Future<File> get testDartJs async => globals.fs.file(globals.fs.path.join(
+ (await testUri).toFilePath(),
+ 'dart.js',
+ ));
- File get testHostDartJs => globals.fs.file(globals.fs.path.join(
- testUri.toFilePath(),
- 'src',
- 'runner',
- 'browser',
- 'static',
- 'host.dart.js',
- ));
+ Future<File> get testHostDartJs async => globals.fs.file(globals.fs.path.join(
+ (await testUri).toFilePath(),
+ 'src',
+ 'runner',
+ 'browser',
+ 'static',
+ 'host.dart.js',
+ ));
Future<shelf.Response> _handleStaticArtifact(shelf.Request request) async {
if (request.requestedUri.path.contains('require.js')) {
@@ -203,12 +214,12 @@
);
} else if (request.requestedUri.path.contains('static/dart.js')) {
return shelf.Response.ok(
- testDartJs.openRead(),
+ (await testDartJs).openRead(),
headers: <String, String>{'Content-Type': 'text/javascript'},
);
} else if (request.requestedUri.path.contains('host.dart.js')) {
return shelf.Response.ok(
- testHostDartJs.openRead(),
+ (await testHostDartJs).openRead(),
headers: <String, String>{'Content-Type': 'text/javascript'},
);
} else {
@@ -218,10 +229,8 @@
FutureOr<shelf.Response> _packageFilesHandler(shelf.Request request) async {
if (request.requestedUri.pathSegments.first == 'packages') {
- // TODO(bkonyi): remove deprecated member usage, https://github.com/flutter/flutter/issues/51951
- // ignore: deprecated_member_use
- final Packages packages = await _packagesFuture;
- final Uri fileUri = packages.resolve(Uri(
+ final PackageConfig packageConfig = await _packagesFuture;
+ final Uri fileUri = packageConfig.resolve(Uri(
scheme: 'package',
pathSegments: request.requestedUri.pathSegments.skip(1),
));