Skip to content
This repository was archived by the owner on Dec 6, 2023. It is now read-only.

Commit f16e72a

Browse files
Use package_config (#834)
1 parent c1b19ec commit f16e72a

File tree

3 files changed

+11
-17
lines changed

3 files changed

+11
-17
lines changed

pubspec.lock

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ packages:
310310
source: hosted
311311
version: "2.0.1"
312312
package_config:
313-
dependency: transitive
313+
dependency: "direct dev"
314314
description:
315315
name: package_config
316316
url: "https://pub.dartlang.org"

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ dev_dependencies:
2828
coverage: ^1.0.3
2929
grinder: ^0.9.0
3030
lints: ^1.0.1
31+
package_config: ^2.0.2
3132
shelf_router_generator: ^1.0.0
3233
synchronized: ^3.0.0
3334
test: ^1.6.4

tool/grind.dart

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import 'package:dart_services/src/sdk.dart';
1515
import 'package:dart_services/src/utils.dart';
1616
import 'package:grinder/grinder.dart';
1717
import 'package:http/http.dart' as http;
18+
import 'package:package_config/package_config.dart';
1819
import 'package:path/path.dart' as path;
1920

2021
Future<void> main(List<String> args) async {
@@ -209,25 +210,18 @@ Future<String> _buildStorageArtifacts(Directory dir, Sdk sdk,
209210
final flutterPackages = ['flutter', 'flutter_test'];
210211

211212
final flutterLibraries = <String>[];
212-
final packageLines = joinFile(dir, ['.packages']).readAsLinesSync();
213-
for (var line in packageLines) {
214-
line = line.trim();
215-
if (line.startsWith('#') || line.isEmpty) {
216-
continue;
217-
}
218-
final index = line.indexOf(':');
219-
if (index == -1) {
220-
continue;
221-
}
222-
final packageName = line.substring(0, index);
223-
final url = line.substring(index + 1);
224-
if (flutterPackages.contains(packageName)) {
213+
final config = await findPackageConfig(dir);
214+
if (config == null) {
215+
throw FileSystemException('package config not found', dir.toString());
216+
}
217+
for (final package in config.packages) {
218+
if (flutterPackages.contains(package.name)) {
225219
// This is a package we're interested in - add all the public libraries to
226220
// the list.
227-
final libPath = Uri.parse(url).toFilePath();
221+
final libPath = package.packageUriRoot.toFilePath();
228222
for (final entity in getDir(libPath).listSync()) {
229223
if (entity is File && entity.path.endsWith('.dart')) {
230-
flutterLibraries.add('package:$packageName/${fileName(entity)}');
224+
flutterLibraries.add('package:${package.name}/${fileName(entity)}');
231225
}
232226
}
233227
}
@@ -254,7 +248,6 @@ Future<String> _buildStorageArtifacts(Directory dir, Sdk sdk,
254248
'-s',
255249
dillPath,
256250
'--sound-null-safety',
257-
'--enable-experiment=non-nullable',
258251
'--modules=amd',
259252
'--source-map',
260253
'-o',

0 commit comments

Comments
 (0)