mirror of
https://github.com/flutter/packages.git
synced 2025-08-06 17:28:42 +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:convert';
|
||||
import 'dart:io' as io;
|
||||
@ -13,8 +15,8 @@ import 'package:quiver/iterables.dart';
|
||||
|
||||
import 'common.dart';
|
||||
|
||||
const String _googleFormatterUrl =
|
||||
'https://github.com/google/google-java-format/releases/download/google-java-format-1.3/google-java-format-1.3-all-deps.jar';
|
||||
final Uri _googleFormatterUrl = Uri.https('github.com',
|
||||
'/google/google-java-format/releases/download/google-java-format-1.3/google-java-format-1.3-all-deps.jar');
|
||||
|
||||
/// A command to format all package code.
|
||||
class FormatCommand extends PluginCommand {
|
||||
@ -47,7 +49,7 @@ class FormatCommand extends PluginCommand {
|
||||
await _formatJava(googleFormatterPath);
|
||||
await _formatCppAndObjectiveC();
|
||||
|
||||
if (argResults['fail-on-change'] == true) {
|
||||
if (getBoolArg('fail-on-change')) {
|
||||
final bool modified = await _didModifyAnything();
|
||||
if (modified) {
|
||||
throw ToolExit(1);
|
||||
@ -105,7 +107,7 @@ class FormatCommand extends PluginCommand {
|
||||
// 'ProcessException: Argument list too long'.
|
||||
final Iterable<List<String>> batches = partition(allFiles, 100);
|
||||
for (final List<String> batch in batches) {
|
||||
await processRunner.runAndStream(argResults['clang-format'] as String,
|
||||
await processRunner.runAndStream(getStringArg('clang-format'),
|
||||
<String>['-i', '--style=Google', ...batch],
|
||||
workingDir: packagesDir, exitOnError: true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user