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:
stuartmorgan
2021-05-14 20:04:26 -04:00
committed by GitHub
parent e46aa5583f
commit bd0081258a
37 changed files with 397 additions and 179 deletions

View File

@ -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:convert';
import 'dart:io' as io;
@ -78,7 +80,7 @@ class PublishCheckCommand extends PluginCommand {
Future<void> run() async {
final ZoneSpecification logSwitchSpecification = ZoneSpecification(
print: (Zone self, ZoneDelegate parent, Zone zone, String message) {
final bool logMachineMessage = argResults[_machineFlag] as bool;
final bool logMachineMessage = getBoolArg(_machineFlag);
if (logMachineMessage && message != _prettyJson(_machineOutput)) {
_humanMessages.add(message);
} else {
@ -123,7 +125,7 @@ class PublishCheckCommand extends PluginCommand {
isError: false);
}
if (argResults[_machineFlag] as bool) {
if (getBoolArg(_machineFlag)) {
_setStatus(status);
_machineOutput[_humanMessageKey] = _humanMessages;
print(_prettyJson(_machineOutput));
@ -184,7 +186,7 @@ class PublishCheckCommand extends PluginCommand {
return true;
}
if (!(argResults[_allowPrereleaseFlag] as bool)) {
if (!getBoolArg(_allowPrereleaseFlag)) {
return false;
}
@ -270,7 +272,7 @@ HTTP response: ${pubVersionFinderResponse.httpResponse.body}
void _printImportantStatusMessage(String message, {@required bool isError}) {
final String statusMessage = '${isError ? 'ERROR' : 'SUCCESS'}: $message';
if (argResults[_machineFlag] as bool) {
if (getBoolArg(_machineFlag)) {
print(statusMessage);
} else {
final Colorize colorizedMessage = Colorize(statusMessage);