Rename IOSMigrator -> ProjectMigrator (#71757)
diff --git a/packages/flutter_tools/lib/src/ios/migrations/ios_migrator.dart b/packages/flutter_tools/lib/src/base/project_migrator.dart
similarity index 80%
rename from packages/flutter_tools/lib/src/ios/migrations/ios_migrator.dart
rename to packages/flutter_tools/lib/src/base/project_migrator.dart
index 7965e66..6b666dd 100644
--- a/packages/flutter_tools/lib/src/ios/migrations/ios_migrator.dart
+++ b/packages/flutter_tools/lib/src/base/project_migrator.dart
@@ -4,14 +4,14 @@
import 'package:meta/meta.dart';
-import '../../base/file_system.dart';
-import '../../base/logger.dart';
+import 'file_system.dart';
+import 'logger.dart';
-/// iOS project is generated from a template on Flutter project creation.
-/// Sometimes (due to behavior changes in Xcode, CocoaPods, etc) these files need to be altered
+/// Project is generated from a template on Flutter project creation.
+/// Sometimes (due to behavior changes in Xcode, Gradle, etc) these files need to be altered
/// from the original template.
-abstract class IOSMigrator {
- IOSMigrator(this.logger);
+abstract class ProjectMigrator {
+ ProjectMigrator(this.logger);
@protected
final Logger logger;
@@ -58,13 +58,13 @@
}
}
-class IOSMigration {
- IOSMigration(this.migrators);
+class ProjectMigration {
+ ProjectMigration(this.migrators);
- final List<IOSMigrator> migrators;
+ final List<ProjectMigrator> migrators;
bool run() {
- for (final IOSMigrator migrator in migrators) {
+ for (final ProjectMigrator migrator in migrators) {
if (!migrator.migrate()) {
// Migration failures should be more robust, with transactions and fallbacks.
// See https://github.com/flutter/flutter/issues/12573 and
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index ab48749..5ce33fb 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -12,6 +12,7 @@
import '../base/io.dart';
import '../base/logger.dart';
import '../base/process.dart';
+import '../base/project_migrator.dart';
import '../base/utils.dart';
import '../build_info.dart';
import '../cache.dart';
@@ -23,7 +24,6 @@
import '../reporting/reporting.dart';
import 'code_signing.dart';
import 'devices.dart';
-import 'migrations/ios_migrator.dart';
import 'migrations/project_base_configuration_migration.dart';
import 'migrations/remove_framework_link_and_embedding_migration.dart';
import 'migrations/xcode_build_system_migration.dart';
@@ -102,13 +102,13 @@
return XcodeBuildResult(success: false);
}
- final List<IOSMigrator> migrators = <IOSMigrator>[
+ final List<ProjectMigrator> migrators = <ProjectMigrator>[
RemoveFrameworkLinkAndEmbeddingMigration(app.project, globals.logger, globals.xcode, globals.flutterUsage),
XcodeBuildSystemMigration(app.project, globals.logger),
ProjectBaseConfigurationMigration(app.project, globals.logger),
];
- final IOSMigration migration = IOSMigration(migrators);
+ final ProjectMigration migration = ProjectMigration(migrators);
if (!migration.run()) {
return XcodeBuildResult(success: false);
}
diff --git a/packages/flutter_tools/lib/src/ios/migrations/project_base_configuration_migration.dart b/packages/flutter_tools/lib/src/ios/migrations/project_base_configuration_migration.dart
index 71c95f2..27cbbe8 100644
--- a/packages/flutter_tools/lib/src/ios/migrations/project_base_configuration_migration.dart
+++ b/packages/flutter_tools/lib/src/ios/migrations/project_base_configuration_migration.dart
@@ -4,13 +4,13 @@
import '../../base/file_system.dart';
import '../../base/logger.dart';
+import '../../base/project_migrator.dart';
import '../../project.dart';
-import 'ios_migrator.dart';
// The Runner target should inherit its build configuration from Generated.xcconfig.
// However the top-level Runner project should not inherit any build configuration so
// the Flutter build settings do not stomp on non-Flutter targets.
-class ProjectBaseConfigurationMigration extends IOSMigrator {
+class ProjectBaseConfigurationMigration extends ProjectMigrator {
ProjectBaseConfigurationMigration(IosProject project, Logger logger)
: _xcodeProjectInfoFile = project.xcodeProjectInfoFile,
super(logger);
diff --git a/packages/flutter_tools/lib/src/ios/migrations/remove_framework_link_and_embedding_migration.dart b/packages/flutter_tools/lib/src/ios/migrations/remove_framework_link_and_embedding_migration.dart
index 66d5da6..1dafbf6 100644
--- a/packages/flutter_tools/lib/src/ios/migrations/remove_framework_link_and_embedding_migration.dart
+++ b/packages/flutter_tools/lib/src/ios/migrations/remove_framework_link_and_embedding_migration.dart
@@ -5,15 +5,15 @@
import '../../base/common.dart';
import '../../base/file_system.dart';
import '../../base/logger.dart';
+import '../../base/project_migrator.dart';
import '../../macos/xcode.dart';
import '../../project.dart';
import '../../reporting/reporting.dart';
-import 'ios_migrator.dart';
// Xcode 11.4 requires linked and embedded frameworks to contain all targeted architectures before build phases are run.
// This caused issues switching between a real device and simulator due to architecture mismatch.
// Remove the linking and embedding logic from the Xcode project to give the tool more control over these.
-class RemoveFrameworkLinkAndEmbeddingMigration extends IOSMigrator {
+class RemoveFrameworkLinkAndEmbeddingMigration extends ProjectMigrator {
RemoveFrameworkLinkAndEmbeddingMigration(
IosProject project,
Logger logger,
diff --git a/packages/flutter_tools/lib/src/ios/migrations/xcode_build_system_migration.dart b/packages/flutter_tools/lib/src/ios/migrations/xcode_build_system_migration.dart
index f5e8e0b..4472e2a 100644
--- a/packages/flutter_tools/lib/src/ios/migrations/xcode_build_system_migration.dart
+++ b/packages/flutter_tools/lib/src/ios/migrations/xcode_build_system_migration.dart
@@ -4,13 +4,13 @@
import '../../base/file_system.dart';
import '../../base/logger.dart';
+import '../../base/project_migrator.dart';
import '../../project.dart';
-import 'ios_migrator.dart';
// Xcode legacy build system no longer supported by Xcode.
// Set in https://github.com/flutter/flutter/pull/21901/.
// Removed in https://github.com/flutter/flutter/pull/33684.
-class XcodeBuildSystemMigration extends IOSMigrator {
+class XcodeBuildSystemMigration extends ProjectMigrator {
XcodeBuildSystemMigration(
IosProject project,
Logger logger,
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_project_migration_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_project_migration_test.dart
index 505d212..f1f59ab 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_project_migration_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_project_migration_test.dart
@@ -7,7 +7,7 @@
import 'package:flutter_tools/src/base/logger.dart';
import 'package:flutter_tools/src/base/platform.dart';
import 'package:flutter_tools/src/base/terminal.dart';
-import 'package:flutter_tools/src/ios/migrations/ios_migrator.dart';
+import 'package:flutter_tools/src/base/project_migrator.dart';
import 'package:flutter_tools/src/ios/migrations/project_base_configuration_migration.dart';
import 'package:flutter_tools/src/ios/migrations/remove_framework_link_and_embedding_migration.dart';
import 'package:flutter_tools/src/ios/migrations/xcode_build_system_migration.dart';
@@ -28,13 +28,13 @@
testWithoutContext('migrators succeed', () {
final FakeIOSMigrator fakeIOSMigrator = FakeIOSMigrator(succeeds: true);
- final IOSMigration migration = IOSMigration(<IOSMigrator>[fakeIOSMigrator]);
+ final ProjectMigration migration = ProjectMigration(<ProjectMigrator>[fakeIOSMigrator]);
expect(migration.run(), isTrue);
});
testWithoutContext('migrators fail', () {
final FakeIOSMigrator fakeIOSMigrator = FakeIOSMigrator(succeeds: false);
- final IOSMigration migration = IOSMigration(<IOSMigrator>[fakeIOSMigrator]);
+ final ProjectMigration migration = ProjectMigration(<ProjectMigrator>[fakeIOSMigrator]);
expect(migration.run(), isFalse);
});
@@ -506,7 +506,7 @@
class MockXcode extends Mock implements Xcode {}
class MockUsage extends Mock implements Usage {}
-class FakeIOSMigrator extends IOSMigrator {
+class FakeIOSMigrator extends ProjectMigrator {
FakeIOSMigrator({@required this.succeeds})
: super(null);