From d561fe728996b3153b4f73f7b0e26c30a09cec11 Mon Sep 17 00:00:00 2001 From: Jenn Magder Date: Thu, 23 Dec 2021 12:39:18 -0800 Subject: [PATCH] Migrate flutter_device_manager to null safety (#95657) --- .../flutter_tools/lib/src/context_runner.dart | 1 + .../lib/src/flutter_device_manager.dart | 44 +++++++++---------- .../lib/src/fuchsia/fuchsia_build.dart | 5 +-- .../lib/src/fuchsia/fuchsia_device.dart | 2 +- .../lib/src/fuchsia/fuchsia_pm.dart | 6 +-- .../lib/src/fuchsia/fuchsia_sdk.dart | 4 -- packages/flutter_tools/lib/src/globals.dart | 1 + .../lib/src/globals_null_migrated.dart | 0 8 files changed, 28 insertions(+), 35 deletions(-) delete mode 100644 packages/flutter_tools/lib/src/globals_null_migrated.dart diff --git a/packages/flutter_tools/lib/src/context_runner.dart b/packages/flutter_tools/lib/src/context_runner.dart index 463113ac6fc..2d8eede3c5a 100644 --- a/packages/flutter_tools/lib/src/context_runner.dart +++ b/packages/flutter_tools/lib/src/context_runner.dart @@ -204,6 +204,7 @@ Future runInContext( platform: globals.platform, featureFlags: featureFlags, ), + fuchsiaSdk: globals.fuchsiaSdk, operatingSystemUtils: globals.os, terminal: globals.terminal, customDevicesConfig: globals.customDevicesConfig, diff --git a/packages/flutter_tools/lib/src/flutter_device_manager.dart b/packages/flutter_tools/lib/src/flutter_device_manager.dart index fc9a46ce85d..d2587bb94c5 100644 --- a/packages/flutter_tools/lib/src/flutter_device_manager.dart +++ b/packages/flutter_tools/lib/src/flutter_device_manager.dart @@ -2,9 +2,6 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// @dart = 2.8 - -import 'package:meta/meta.dart'; import 'package:process/process.dart'; import 'android/android_device_discovery.dart'; @@ -42,26 +39,27 @@ import 'windows/windows_workflow.dart'; /// A provider for all of the device discovery instances. class FlutterDeviceManager extends DeviceManager { FlutterDeviceManager({ - @required Logger logger, - @required Platform platform, - @required ProcessManager processManager, - @required FileSystem fileSystem, - @required AndroidSdk androidSdk, - @required FeatureFlags featureFlags, - @required IOSSimulatorUtils iosSimulatorUtils, - @required XCDevice xcDevice, - @required AndroidWorkflow androidWorkflow, - @required IOSWorkflow iosWorkflow, - @required FuchsiaWorkflow fuchsiaWorkflow, - @required FlutterVersion flutterVersion, - @required Artifacts artifacts, - @required MacOSWorkflow macOSWorkflow, - @required UserMessages userMessages, - @required OperatingSystemUtils operatingSystemUtils, - @required WindowsWorkflow windowsWorkflow, - @required Terminal terminal, - @required CustomDevicesConfig customDevicesConfig, - @required UwpTool uwptool, + required Logger logger, + required Platform platform, + required ProcessManager processManager, + required FileSystem fileSystem, + required AndroidSdk androidSdk, + required FeatureFlags featureFlags, + required IOSSimulatorUtils iosSimulatorUtils, + required XCDevice xcDevice, + required AndroidWorkflow androidWorkflow, + required IOSWorkflow iosWorkflow, + required FuchsiaWorkflow fuchsiaWorkflow, + required FlutterVersion flutterVersion, + required Artifacts artifacts, + required MacOSWorkflow macOSWorkflow, + required FuchsiaSdk fuchsiaSdk, + required UserMessages userMessages, + required OperatingSystemUtils operatingSystemUtils, + required WindowsWorkflow windowsWorkflow, + required Terminal terminal, + required CustomDevicesConfig customDevicesConfig, + required UwpTool uwptool, }) : deviceDiscoverers = [ AndroidDevices( logger: logger, diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_build.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_build.dart index f8d5fca43f3..df23f5fd1d0 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_build.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_build.dart @@ -16,7 +16,6 @@ import '../globals.dart' as globals; import '../project.dart'; import 'fuchsia_pm.dart'; -import 'fuchsia_sdk.dart'; Future _timedBuildStep(String name, Future Function() action) async { final Stopwatch sw = Stopwatch()..start(); @@ -55,7 +54,7 @@ Future buildFuchsia({ } await _timedBuildStep('fuchsia-kernel-compile', - () => fuchsiaSdk!.fuchsiaKernelCompiler.build( + () => globals.fuchsiaSdk!.fuchsiaKernelCompiler.build( fuchsiaProject: fuchsiaProject, target: targetPath, buildInfo: buildInfo)); if (buildInfo.usesAot) { @@ -214,7 +213,7 @@ Future _buildPackage( manifestFile.writeAsStringSync('meta/package=$pkgDir/meta/package\n', mode: FileMode.append); - final FuchsiaPM? fuchsiaPM = fuchsiaSdk?.fuchsiaPM; + final FuchsiaPM? fuchsiaPM = globals.fuchsiaSdk?.fuchsiaPM; if (fuchsiaPM == null) { return; } diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart index 43b79567573..4e30c37d393 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_device.dart @@ -83,7 +83,7 @@ class _FuchsiaLogReader extends DeviceLogReader { Stream? _logLines; @override Stream get logLines { - final Stream? logStream = fuchsiaSdk?.syslogs(_device.id); + final Stream? logStream = globals.fuchsiaSdk?.syslogs(_device.id); _logLines ??= _processLogs(logStream); return _logLines ?? const Stream.empty(); } diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_pm.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_pm.dart index 493dcee58e1..eebe13235f0 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_pm.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_pm.dart @@ -10,8 +10,6 @@ import '../base/process.dart'; import '../convert.dart'; import '../globals.dart' as globals; -import 'fuchsia_sdk.dart'; - /// This is a basic wrapper class for the Fuchsia SDK's `pm` tool. class FuchsiaPM { /// Initializes the staging area at [buildPath] for creating the Fuchsia @@ -199,7 +197,7 @@ class FuchsiaPackageServer { return false; } // initialize a new repo. - final FuchsiaPM? fuchsiaPM = fuchsiaSdk?.fuchsiaPM; + final FuchsiaPM? fuchsiaPM = globals.fuchsiaSdk?.fuchsiaPM; if (fuchsiaPM == null || !await fuchsiaPM.newrepo(_repo)) { globals.printError('Failed to create a new package server repo'); return false; @@ -232,7 +230,7 @@ class FuchsiaPackageServer { if (_process == null) { return false; } - return (await fuchsiaSdk?.fuchsiaPM.publish(_repo, package.path)) == true; + return (await globals.fuchsiaSdk?.fuchsiaPM.publish(_repo, package.path)) == true; } @override diff --git a/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart b/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart index dc099790875..84fd9dce997 100644 --- a/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart +++ b/packages/flutter_tools/lib/src/fuchsia/fuchsia_sdk.dart @@ -4,7 +4,6 @@ import 'dart:async'; -import '../base/context.dart'; import '../base/file_system.dart'; import '../base/io.dart'; import '../base/platform.dart'; @@ -15,9 +14,6 @@ import 'fuchsia_ffx.dart'; import 'fuchsia_kernel_compiler.dart'; import 'fuchsia_pm.dart'; -/// The [FuchsiaSdk] instance. -FuchsiaSdk? get fuchsiaSdk => context.get(); - /// Returns [true] if the current platform supports Fuchsia targets. bool isFuchsiaSupportedPlatform(Platform platform) { return platform.isLinux || platform.isMacOS; diff --git a/packages/flutter_tools/lib/src/globals.dart b/packages/flutter_tools/lib/src/globals.dart index c9c42b06d65..d2d73f6df03 100644 --- a/packages/flutter_tools/lib/src/globals.dart +++ b/packages/flutter_tools/lib/src/globals.dart @@ -66,6 +66,7 @@ AndroidStudio? get androidStudio => context.get(); AndroidSdk? get androidSdk => context.get(); FlutterVersion get flutterVersion => context.get()!; FuchsiaArtifacts? get fuchsiaArtifacts => context.get(); +FuchsiaSdk? get fuchsiaSdk => context.get(); Usage get flutterUsage => context.get()!; XcodeProjectInterpreter? get xcodeProjectInterpreter => context.get(); XCDevice? get xcdevice => context.get(); diff --git a/packages/flutter_tools/lib/src/globals_null_migrated.dart b/packages/flutter_tools/lib/src/globals_null_migrated.dart deleted file mode 100644 index e69de29bb2d..00000000000