Clean up null assumptions for Xcode and CocoaPods classes (#83442)
diff --git a/packages/flutter_tools/lib/src/build_info.dart b/packages/flutter_tools/lib/src/build_info.dart index 115e1d0..e7b906c 100644 --- a/packages/flutter_tools/lib/src/build_info.dart +++ b/packages/flutter_tools/lib/src/build_info.dart
@@ -397,7 +397,7 @@ simulator, } -String? validatedBuildNumberForPlatform(TargetPlatform targetPlatform, String buildNumber, Logger logger) { +String? validatedBuildNumberForPlatform(TargetPlatform targetPlatform, String? buildNumber, Logger logger) { if (buildNumber == null) { return null; } @@ -444,7 +444,7 @@ return buildNumber; } -String? validatedBuildNameForPlatform(TargetPlatform targetPlatform, String buildName, Logger logger) { +String? validatedBuildNameForPlatform(TargetPlatform targetPlatform, String? buildName, Logger logger) { if (buildName == null) { return null; }
diff --git a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart index f92eab3..f35aa8d 100644 --- a/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart +++ b/packages/flutter_tools/lib/src/ios/xcode_build_settings.dart
@@ -109,7 +109,7 @@ /// Build name parsed and validated from build info and manifest. Used for CFBundleShortVersionString. String parsedBuildName({ @required FlutterManifest manifest, - @required BuildInfo buildInfo, + BuildInfo buildInfo, }) { final String buildNameToParse = buildInfo?.buildName ?? manifest.buildName; return validatedBuildNameForPlatform(TargetPlatform.ios, buildNameToParse, globals.logger); @@ -118,7 +118,7 @@ /// Build number parsed and validated from build info and manifest. Used for CFBundleVersion. String parsedBuildNumber({ @required FlutterManifest manifest, - @required BuildInfo buildInfo, + BuildInfo buildInfo, }) { String buildNumberToParse = buildInfo?.buildNumber ?? manifest.buildNumber; final String buildNumber = validatedBuildNumberForPlatform( @@ -173,8 +173,9 @@ final String buildNumber = parsedBuildNumber(manifest: project.manifest, buildInfo: buildInfo) ?? '1'; xcodeBuildSettings.add('FLUTTER_BUILD_NUMBER=$buildNumber'); - if (globals.artifacts is LocalEngineArtifacts) { - final LocalEngineArtifacts localEngineArtifacts = globals.artifacts as LocalEngineArtifacts; + final Artifacts artifacts = globals.artifacts; + if (artifacts is LocalEngineArtifacts) { + final LocalEngineArtifacts localEngineArtifacts = artifacts; final String engineOutPath = localEngineArtifacts.engineOutPath; xcodeBuildSettings.add('FLUTTER_ENGINE=${globals.fs.path.dirname(globals.fs.path.dirname(engineOutPath))}');
diff --git a/packages/flutter_tools/lib/src/ios/xcodeproj.dart b/packages/flutter_tools/lib/src/ios/xcodeproj.dart index dbe3bd2..481fbd7 100644 --- a/packages/flutter_tools/lib/src/ios/xcodeproj.dart +++ b/packages/flutter_tools/lib/src/ios/xcodeproj.dart
@@ -389,7 +389,7 @@ } /// Returns unique scheme matching [buildInfo], or null, if there is no unique /// best match. - String? schemeFor(BuildInfo buildInfo) { + String? schemeFor(BuildInfo? buildInfo) { final String expectedScheme = expectedSchemeFor(buildInfo); if (schemes.contains(expectedScheme)) { return expectedScheme;
diff --git a/packages/flutter_tools/lib/src/macos/cocoapods.dart b/packages/flutter_tools/lib/src/macos/cocoapods.dart index 563d281..048ba6e 100644 --- a/packages/flutter_tools/lib/src/macos/cocoapods.dart +++ b/packages/flutter_tools/lib/src/macos/cocoapods.dart
@@ -71,8 +71,8 @@ brokenInstall, } -String get cocoaPodsMinimumVersion => '1.9.0'; -String get cocoaPodsRecommendedVersion => '1.10.0'; +const Version cocoaPodsMinimumVersion = Version.withText(1, 9, 0, '1.9.0'); +const Version cocoaPodsRecommendedVersion = Version.withText(1, 10, 0, '1.10.0'); /// Cocoapods is a dependency management solution for iOS and macOS applications. /// @@ -142,10 +142,10 @@ if (installedVersion == null) { return CocoaPodsStatus.unknownVersion; } - if (installedVersion < Version.parse(cocoaPodsMinimumVersion)) { + if (installedVersion < cocoaPodsMinimumVersion) { return CocoaPodsStatus.belowMinimumVersion; } - if (installedVersion < Version.parse(cocoaPodsRecommendedVersion)) { + if (installedVersion < cocoaPodsRecommendedVersion) { return CocoaPodsStatus.belowRecommendedVersion; } return CocoaPodsStatus.recommended;
diff --git a/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart b/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart index 31d470e..8ae5a8a 100644 --- a/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart +++ b/packages/flutter_tools/lib/src/macos/cocoapods_validator.dart
@@ -52,7 +52,7 @@ status = ValidationType.partial; final String currentVersionText = await _cocoaPods.cocoaPodsVersionText; messages.add(ValidationMessage.hint( - _userMessages.cocoaPodsOutdated(currentVersionText, cocoaPodsRecommendedVersion, noCocoaPodsConsequence, cocoaPodsInstallInstructions))); + _userMessages.cocoaPodsOutdated(currentVersionText, cocoaPodsRecommendedVersion.toString(), noCocoaPodsConsequence, cocoaPodsInstallInstructions))); } }