Unverified Commit d40cc5af authored by Jenn Magder's avatar Jenn Magder Committed by GitHub

Migrate flutter_tool plugins.dart to null safety (#80304)

parent 474db18a
...@@ -19,9 +19,9 @@ import '../build_system/targets/common.dart'; ...@@ -19,9 +19,9 @@ import '../build_system/targets/common.dart';
import '../build_system/targets/icon_tree_shaker.dart'; import '../build_system/targets/icon_tree_shaker.dart';
import '../build_system/targets/ios.dart'; import '../build_system/targets/ios.dart';
import '../cache.dart'; import '../cache.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../macos/cocoapod_utils.dart'; import '../macos/cocoapod_utils.dart';
import '../plugins.dart';
import '../project.dart'; import '../project.dart';
import '../runner/flutter_command.dart' show DevelopmentArtifact, FlutterCommandResult; import '../runner/flutter_command.dart' show DevelopmentArtifact, FlutterCommandResult;
import '../version.dart'; import '../version.dart';
......
...@@ -13,6 +13,7 @@ import '../build_system/build_system.dart'; ...@@ -13,6 +13,7 @@ import '../build_system/build_system.dart';
import '../cache.dart'; import '../cache.dart';
import '../dart/generate_synthetic_packages.dart'; import '../dart/generate_synthetic_packages.dart';
import '../dart/pub.dart'; import '../dart/pub.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../plugins.dart'; import '../plugins.dart';
import '../project.dart'; import '../project.dart';
......
This diff is collapsed.
...@@ -30,6 +30,7 @@ import '../dart/language_version.dart'; ...@@ -30,6 +30,7 @@ import '../dart/language_version.dart';
import '../devfs.dart'; import '../devfs.dart';
import '../device.dart'; import '../device.dart';
import '../features.dart'; import '../features.dart';
import '../flutter_plugins.dart';
import '../platform_plugins.dart'; import '../platform_plugins.dart';
import '../plugins.dart'; import '../plugins.dart';
import '../project.dart'; import '../project.dart';
......
...@@ -15,9 +15,9 @@ import '../build_info.dart'; ...@@ -15,9 +15,9 @@ import '../build_info.dart';
import '../cache.dart'; import '../cache.dart';
import '../cmake.dart'; import '../cmake.dart';
import '../convert.dart'; import '../convert.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../migrations/cmake_custom_command_migration.dart'; import '../migrations/cmake_custom_command_migration.dart';
import '../plugins.dart';
import '../project.dart'; import '../project.dart';
// Matches the following error and warning patterns: // Matches the following error and warning patterns:
......
...@@ -7,8 +7,8 @@ ...@@ -7,8 +7,8 @@
import '../base/fingerprint.dart'; import '../base/fingerprint.dart';
import '../build_info.dart'; import '../build_info.dart';
import '../cache.dart'; import '../cache.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../plugins.dart';
import '../project.dart'; import '../project.dart';
/// For a given build, determines whether dependencies have changed since the /// For a given build, determines whether dependencies have changed since the
......
...@@ -209,14 +209,14 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -209,14 +209,14 @@ class MacOSPlugin extends PluginPlatform implements NativeOrDartPlugin {
factory MacOSPlugin.fromYaml(String name, YamlMap yaml) { factory MacOSPlugin.fromYaml(String name, YamlMap yaml) {
assert(validate(yaml)); assert(validate(yaml));
// Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497. // Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497.
String? pluginClass = yaml[kPluginClass] as String; String? pluginClass = yaml[kPluginClass] as String?;
if (pluginClass == 'none') { if (pluginClass == 'none') {
pluginClass = null; pluginClass = null;
} }
return MacOSPlugin( return MacOSPlugin(
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String?,
); );
} }
...@@ -260,14 +260,14 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{ ...@@ -260,14 +260,14 @@ class WindowsPlugin extends PluginPlatform implements NativeOrDartPlugin{
factory WindowsPlugin.fromYaml(String name, YamlMap yaml) { factory WindowsPlugin.fromYaml(String name, YamlMap yaml) {
assert(validate(yaml)); assert(validate(yaml));
// Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497. // Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497.
String? pluginClass = yaml[kPluginClass] as String; String? pluginClass = yaml[kPluginClass] as String?;
if (pluginClass == 'none') { if (pluginClass == 'none') {
pluginClass = null; pluginClass = null;
} }
return WindowsPlugin( return WindowsPlugin(
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String?,
); );
} }
...@@ -312,14 +312,14 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin { ...@@ -312,14 +312,14 @@ class LinuxPlugin extends PluginPlatform implements NativeOrDartPlugin {
factory LinuxPlugin.fromYaml(String name, YamlMap yaml) { factory LinuxPlugin.fromYaml(String name, YamlMap yaml) {
assert(validate(yaml)); assert(validate(yaml));
// Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497. // Treat 'none' as not present. See https://github.com/flutter/flutter/issues/57497.
String? pluginClass = yaml[kPluginClass] as String; String? pluginClass = yaml[kPluginClass] as String?;
if (pluginClass == 'none') { if (pluginClass == 'none') {
pluginClass = null; pluginClass = null;
} }
return LinuxPlugin( return LinuxPlugin(
name: name, name: name,
pluginClass: pluginClass, pluginClass: pluginClass,
dartPluginClass: yaml[kDartPluginClass] as String, dartPluginClass: yaml[kDartPluginClass] as String?,
); );
} }
......
This diff is collapsed.
...@@ -18,12 +18,12 @@ import 'build_info.dart'; ...@@ -18,12 +18,12 @@ import 'build_info.dart';
import 'bundle.dart' as bundle; import 'bundle.dart' as bundle;
import 'features.dart'; import 'features.dart';
import 'flutter_manifest.dart'; import 'flutter_manifest.dart';
import 'flutter_plugins.dart';
import 'globals.dart' as globals; import 'globals.dart' as globals;
import 'ios/plist_parser.dart'; import 'ios/plist_parser.dart';
import 'ios/xcodeproj.dart' as xcode; import 'ios/xcodeproj.dart' as xcode;
import 'ios/xcodeproj.dart'; import 'ios/xcodeproj.dart';
import 'platform_plugins.dart'; import 'platform_plugins.dart';
import 'plugins.dart';
import 'template.dart'; import 'template.dart';
class FlutterProjectFactory { class FlutterProjectFactory {
......
...@@ -14,6 +14,7 @@ import '../build_system/targets/common.dart'; ...@@ -14,6 +14,7 @@ import '../build_system/targets/common.dart';
import '../build_system/targets/icon_tree_shaker.dart'; import '../build_system/targets/icon_tree_shaker.dart';
import '../build_system/targets/web.dart'; import '../build_system/targets/web.dart';
import '../cache.dart'; import '../cache.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../platform_plugins.dart'; import '../platform_plugins.dart';
import '../plugins.dart'; import '../plugins.dart';
......
...@@ -15,9 +15,9 @@ import '../build_info.dart'; ...@@ -15,9 +15,9 @@ import '../build_info.dart';
import '../cache.dart'; import '../cache.dart';
import '../cmake.dart'; import '../cmake.dart';
import '../convert.dart'; import '../convert.dart';
import '../flutter_plugins.dart';
import '../globals.dart' as globals; import '../globals.dart' as globals;
import '../migrations/cmake_custom_command_migration.dart'; import '../migrations/cmake_custom_command_migration.dart';
import '../plugins.dart';
import '../project.dart'; import '../project.dart';
import 'visual_studio.dart'; import 'visual_studio.dart';
......
...@@ -11,9 +11,9 @@ import 'package:flutter_tools/src/base/logger.dart'; ...@@ -11,9 +11,9 @@ import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/platform.dart'; import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/build_info.dart'; import 'package:flutter_tools/src/build_info.dart';
import 'package:flutter_tools/src/cache.dart'; import 'package:flutter_tools/src/cache.dart';
import 'package:flutter_tools/src/flutter_plugins.dart';
import 'package:flutter_tools/src/ios/xcodeproj.dart'; import 'package:flutter_tools/src/ios/xcodeproj.dart';
import 'package:flutter_tools/src/macos/cocoapods.dart'; import 'package:flutter_tools/src/macos/cocoapods.dart';
import 'package:flutter_tools/src/plugins.dart';
import 'package:flutter_tools/src/project.dart'; import 'package:flutter_tools/src/project.dart';
import 'package:flutter_tools/src/reporting/reporting.dart'; import 'package:flutter_tools/src/reporting/reporting.dart';
import 'package:test/fake.dart'; import 'package:test/fake.dart';
......
...@@ -2,8 +2,6 @@ ...@@ -2,8 +2,6 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
// @dart = 2.8
import 'package:file/memory.dart'; import 'package:file/memory.dart';
import 'package:flutter_tools/src/base/file_system.dart'; import 'package:flutter_tools/src/base/file_system.dart';
import 'package:flutter_tools/src/platform_plugins.dart'; import 'package:flutter_tools/src/platform_plugins.dart';
...@@ -31,8 +29,8 @@ void main() { ...@@ -31,8 +29,8 @@ void main() {
fileSystem: fileSystem, fileSystem: fileSystem,
); );
final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey] as AndroidPlugin; final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey]! as AndroidPlugin;
final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey] as IOSPlugin; final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey]! as IOSPlugin;
final String androidPluginClass = androidPlugin.pluginClass; final String androidPluginClass = androidPlugin.pluginClass;
final String iosPluginClass = iosPlugin.pluginClass; final String iosPluginClass = iosPlugin.pluginClass;
...@@ -69,12 +67,12 @@ void main() { ...@@ -69,12 +67,12 @@ void main() {
fileSystem: fileSystem, fileSystem: fileSystem,
); );
final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey] as AndroidPlugin; final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey]! as AndroidPlugin;
final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey] as IOSPlugin; final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey]! as IOSPlugin;
final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey] as LinuxPlugin; final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey]! as LinuxPlugin;
final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey] as MacOSPlugin; final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey]! as MacOSPlugin;
final WebPlugin webPlugin = plugin.platforms[WebPlugin.kConfigKey] as WebPlugin; final WebPlugin webPlugin = plugin.platforms[WebPlugin.kConfigKey]! as WebPlugin;
final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey] as WindowsPlugin; final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey]! as WindowsPlugin;
final String androidPluginClass = androidPlugin.pluginClass; final String androidPluginClass = androidPlugin.pluginClass;
final String iosPluginClass = iosPlugin.pluginClass; final String iosPluginClass = iosPlugin.pluginClass;
...@@ -118,12 +116,12 @@ void main() { ...@@ -118,12 +116,12 @@ void main() {
fileSystem: fileSystem, fileSystem: fileSystem,
); );
final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey] as AndroidPlugin; final AndroidPlugin androidPlugin = plugin.platforms[AndroidPlugin.kConfigKey]! as AndroidPlugin;
final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey] as IOSPlugin; final IOSPlugin iosPlugin = plugin.platforms[IOSPlugin.kConfigKey]! as IOSPlugin;
final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey] as LinuxPlugin; final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey]! as LinuxPlugin;
final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey] as MacOSPlugin; final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey]! as MacOSPlugin;
final WebPlugin webPlugin = plugin.platforms[WebPlugin.kConfigKey] as WebPlugin; final WebPlugin webPlugin = plugin.platforms[WebPlugin.kConfigKey]! as WebPlugin;
final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey] as WindowsPlugin; final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey]! as WindowsPlugin;
final String androidPluginClass = androidPlugin.pluginClass; final String androidPluginClass = androidPlugin.pluginClass;
final String iosPluginClass = iosPlugin.pluginClass; final String iosPluginClass = iosPlugin.pluginClass;
...@@ -159,9 +157,9 @@ void main() { ...@@ -159,9 +157,9 @@ void main() {
fileSystem: fileSystem, fileSystem: fileSystem,
); );
final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey] as LinuxPlugin; final LinuxPlugin linuxPlugin = plugin.platforms[LinuxPlugin.kConfigKey]! as LinuxPlugin;
final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey] as MacOSPlugin; final MacOSPlugin macOSPlugin = plugin.platforms[MacOSPlugin.kConfigKey]! as MacOSPlugin;
final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey] as WindowsPlugin; final WindowsPlugin windowsPlugin = plugin.platforms[WindowsPlugin.kConfigKey]! as WindowsPlugin;
expect(linuxPlugin.pluginClass, isNull); expect(linuxPlugin.pluginClass, isNull);
expect(macOSPlugin.pluginClass, isNull); expect(macOSPlugin.pluginClass, isNull);
...@@ -224,7 +222,7 @@ void main() { ...@@ -224,7 +222,7 @@ void main() {
testWithoutContext('Plugin parsing throws a fatal error on an empty plugin', () { testWithoutContext('Plugin parsing throws a fatal error on an empty plugin', () {
final MemoryFileSystem fileSystem = MemoryFileSystem.test(); final MemoryFileSystem fileSystem = MemoryFileSystem.test();
final YamlMap pluginYaml = loadYaml('') as YamlMap; final YamlMap? pluginYaml = loadYaml('') as YamlMap?;
expect( expect(
() => Plugin.fromYaml( () => Plugin.fromYaml(
......
...@@ -14,6 +14,7 @@ import 'package:flutter_tools/src/base/platform.dart'; ...@@ -14,6 +14,7 @@ import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/base/time.dart'; import 'package:flutter_tools/src/base/time.dart';
import 'package:flutter_tools/src/base/utils.dart'; import 'package:flutter_tools/src/base/utils.dart';
import 'package:flutter_tools/src/features.dart'; import 'package:flutter_tools/src/features.dart';
import 'package:flutter_tools/src/flutter_plugins.dart';
import 'package:flutter_tools/src/globals_null_migrated.dart' as globals; import 'package:flutter_tools/src/globals_null_migrated.dart' as globals;
import 'package:flutter_tools/src/ios/xcodeproj.dart'; import 'package:flutter_tools/src/ios/xcodeproj.dart';
import 'package:flutter_tools/src/plugins.dart'; import 'package:flutter_tools/src/plugins.dart';
......
...@@ -8,6 +8,7 @@ import 'package:file/file.dart'; ...@@ -8,6 +8,7 @@ import 'package:file/file.dart';
import 'package:file/memory.dart'; import 'package:file/memory.dart';
import 'package:file_testing/file_testing.dart'; import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/template.dart'; import 'package:flutter_tools/src/base/template.dart';
import 'package:flutter_tools/src/flutter_plugins.dart';
import 'package:flutter_tools/src/isolated/mustache_template.dart'; import 'package:flutter_tools/src/isolated/mustache_template.dart';
import 'package:flutter_tools/src/platform_plugins.dart'; import 'package:flutter_tools/src/platform_plugins.dart';
import 'package:flutter_tools/src/plugins.dart'; import 'package:flutter_tools/src/plugins.dart';
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment