mirror of
https://github.com/flutter/packages.git
synced 2025-06-08 21:09:17 +08:00
Begin migrating tools to NNBD (#3891)
- Updates dependencies to null-safe versions - Migrates common.dart (which doesn't depend on anything) - Migrates common_tests.dart and its one dependency, utils.dart - Adds build_runner for Mockito mock generation - Adds a new utility methods for getting arguments that handle both the casting and the removal of nullability to address a common problematic pattern while migrating code. - Converts all files, not just the migrated ones, to those new helpers. Migrating common.dart and utils.dart should unblock a command-by-command migration to null safety. Reverts the separate of podspect lints into a step that doesn't do a Flutter upgrade (https://github.com/flutter/plugins/pull/3700) because without that step we had a version of Dart too old to run null-safe tooling. First step of https://github.com/flutter/flutter/issues/81912
This commit is contained in:
@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
// @dart=2.9
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:io' as io;
|
||||
|
||||
@ -30,7 +32,7 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
defaultsTo:
|
||||
p.join(io.Platform.environment['HOME'], 'gcloud-service-key.json'));
|
||||
argParser.addOption('test-run-id',
|
||||
defaultsTo: Uuid().v4(),
|
||||
defaultsTo: const Uuid().v4(),
|
||||
help:
|
||||
'Optional string to append to the results path, to avoid conflicts. '
|
||||
'Randomly chosen on each invocation if none is provided. '
|
||||
@ -78,7 +80,7 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
<String>[
|
||||
'auth',
|
||||
'activate-service-account',
|
||||
'--key-file=${argResults['service-key']}',
|
||||
'--key-file=${getStringArg('service-key')}',
|
||||
],
|
||||
exitOnError: true,
|
||||
logOnError: true,
|
||||
@ -87,7 +89,7 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
'config',
|
||||
'set',
|
||||
'project',
|
||||
argResults['project'] as String,
|
||||
getStringArg('project'),
|
||||
]);
|
||||
if (exitCode == 0) {
|
||||
_print('\nFirebase project configured.');
|
||||
@ -125,7 +127,7 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
final Directory androidDirectory =
|
||||
fileSystem.directory(p.join(exampleDirectory.path, 'android'));
|
||||
|
||||
final String enableExperiment = argResults[kEnableExperiment] as String;
|
||||
final String enableExperiment = getStringArg(kEnableExperiment);
|
||||
final String encodedEnableExperiment =
|
||||
Uri.encodeComponent('--enable-experiment=$enableExperiment');
|
||||
|
||||
@ -213,7 +215,7 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
continue;
|
||||
}
|
||||
final String buildId = io.Platform.environment['CIRRUS_BUILD_ID'];
|
||||
final String testRunId = argResults['test-run-id'] as String;
|
||||
final String testRunId = getStringArg('test-run-id');
|
||||
final String resultsDir =
|
||||
'plugins_android_test/$packageName/$buildId/$testRunId/${resultsCounter++}/';
|
||||
final List<String> args = <String>[
|
||||
@ -229,10 +231,10 @@ class FirebaseTestLabCommand extends PluginCommand {
|
||||
'build/app/outputs/apk/androidTest/debug/app-debug-androidTest.apk',
|
||||
'--timeout',
|
||||
'5m',
|
||||
'--results-bucket=${argResults['results-bucket']}',
|
||||
'--results-bucket=${getStringArg('results-bucket')}',
|
||||
'--results-dir=$resultsDir',
|
||||
];
|
||||
for (final String device in argResults['device'] as List<String>) {
|
||||
for (final String device in getStringListArg('device')) {
|
||||
args.addAll(<String>['--device', device]);
|
||||
}
|
||||
exitCode = await processRunner.runAndStream('gcloud', args,
|
||||
|
Reference in New Issue
Block a user