Skip to content

Commit 73ae324

Browse files
authored
[tool] Migrate off deprecated coverage paramters (#104997)
In flutter/flutter#103771, we rolled dependencies in Flutter, which triggered an update of package:coverage to v1.3.1. The new version includes dart-archive/coverage#370 in which two deprecations landed: * The `Resolver` default constructor was deprecated and replaced with the `Resolver.create` static factory method, which unfortunately happens to be async. * The `packagesPath` parameter to `HitMap.parseJson`, which takes the path to the `.packages` file of the package for which coverage is to be collected, was deprecated. This parameter was replaced with `packagePath` in dart-archive/coverage#370 which was part of the overall deprecation of the .packages file in Dart itself dart-lang/sdk#48272. The overall goal being that end-user code shouldn't need to know about implementation details such as whether dependency information is stored in a .packages file or a package_info.json file, but rather use the package_config package to obtain the package metadata and perform other functions such as resolving its dependencies to filesystem paths. packagesPath was replaced by packagePath, which takes the path to the package directory itself. Internally, package:coverage then uses package_config to do the rest of the package/script URI resolution to filesystem paths. This migrates off the deprecated `packagesPath` parameter to the replacement `packagePath` paramter. Issue: flutter/flutter#103830
1 parent 116d657 commit 73ae324

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

packages/flutter_tools/bin/fuchsia_tester.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ Future<void> run(List<String> args) async {
164164
} else {
165165
globals.fs.currentDirectory = testDirectory;
166166
}
167-
if (!collector.collectCoverageData(argResults[_kOptionCoveragePath] as String, coverageDirectory: coverageDirectory)) {
167+
if (!await collector.collectCoverageData(argResults[_kOptionCoveragePath] as String, coverageDirectory: coverageDirectory)) {
168168
throwToolExit('Failed to collect coverage data');
169169
}
170170
}

packages/flutter_tools/lib/src/commands/test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,7 @@ class TestCommand extends FlutterCommand with DeviceBasedDevelopmentArtifacts {
461461
);
462462

463463
if (collector != null) {
464-
final bool collectionResult = collector.collectCoverageData(
464+
final bool collectionResult = await collector.collectCoverageData(
465465
stringArgDeprecated('coverage-path'),
466466
mergeCoverageData: boolArgDeprecated('merge-coverage'),
467467
);

packages/flutter_tools/lib/src/test/coverage_collector.dart

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,7 @@ class CoverageCollector extends TestWatcher {
9292
_logMessage('($observatoryUri): collected coverage data; merging...');
9393
_addHitmap(await coverage.HitMap.parseJson(
9494
data['coverage'] as List<Map<String, dynamic>>,
95-
// TODO(cbracken): https://github.com/flutter/flutter/issues/103830
96-
// Replace with packagePath: packageDirectory
97-
packagesPath: packagesPath, // ignore: deprecated_member_use
95+
packagePath: packageDirectory,
9896
checkIgnoredLines: true,
9997
));
10098
_logMessage('($observatoryUri): done merging coverage data into global coverage map.');
@@ -137,9 +135,7 @@ class CoverageCollector extends TestWatcher {
137135
_logMessage('Merging coverage data...');
138136
_addHitmap(await coverage.HitMap.parseJson(
139137
data['coverage'] as List<Map<String, dynamic>>,
140-
// TODO(cbracken): https://github.com/flutter/flutter/issues/103830
141-
// Replace with packagePath: packageDirectory
142-
packagesPath: packagesPath, // ignore: deprecated_member_use
138+
packagePath: packageDirectory,
143139
checkIgnoredLines: true,
144140
));
145141
_logMessage('Done merging coverage data into global coverage map.');
@@ -149,19 +145,16 @@ class CoverageCollector extends TestWatcher {
149145
///
150146
/// This will not start any collection tasks. It us up to the caller of to
151147
/// call [collectCoverage] for each process first.
152-
String finalizeCoverage({
148+
Future<String> finalizeCoverage({
153149
String Function(Map<String, coverage.HitMap> hitmap) formatter,
154150
coverage.Resolver resolver,
155151
Directory coverageDirectory,
156-
}) {
152+
}) async {
157153
if (_globalHitmap == null) {
158154
return null;
159155
}
160156
if (formatter == null) {
161-
// TODO(cbracken): https://github.com/flutter/flutter/issues/103830
162-
// Replace with: resolver ??= await coverage.Resolver.create(packagesPath: packagesPath);
163-
// ignore: deprecated_member_use
164-
resolver ??= coverage.Resolver(packagesPath: packagesPath);
157+
resolver ??= await coverage.Resolver.create(packagesPath: packagesPath);
165158
final String packagePath = globals.fs.currentDirectory.path;
166159
final List<String> reportOn = coverageDirectory == null
167160
? <String>[globals.fs.path.join(packagePath, 'lib')]
@@ -174,8 +167,8 @@ class CoverageCollector extends TestWatcher {
174167
return result;
175168
}
176169

177-
bool collectCoverageData(String coveragePath, { bool mergeCoverageData = false, Directory coverageDirectory }) {
178-
final String coverageData = finalizeCoverage(
170+
Future<bool> collectCoverageData(String coveragePath, { bool mergeCoverageData = false, Directory coverageDirectory }) async {
171+
final String coverageData = await finalizeCoverage(
179172
coverageDirectory: coverageDirectory,
180173
);
181174
_logMessage('coverage information collection complete');

0 commit comments

Comments
 (0)