[flutter_releases] Flutter Stable 2.2.1 Framework Cherrypicks (#83372)
* Remove extended attributes from entire Flutter project (#81435)
* roll engine cherrypicks
Co-authored-by: Jenn Magder <magder@google.com>
diff --git a/bin/internal/engine.version b/bin/internal/engine.version
index 3685d8b..1414ce1 100644
--- a/bin/internal/engine.version
+++ b/bin/internal/engine.version
@@ -1 +1 @@
-a9d88a4d182bdae23e3a4989abfb7ea25954aad1
+0fdb562ac8068ce3dda6b69aca3f355f4d1d2718
diff --git a/packages/flutter_tools/lib/src/ios/mac.dart b/packages/flutter_tools/lib/src/ios/mac.dart
index 2008da8..6261faa 100644
--- a/packages/flutter_tools/lib/src/ios/mac.dart
+++ b/packages/flutter_tools/lib/src/ios/mac.dart
@@ -121,7 +121,7 @@
return XcodeBuildResult(success: false);
}
- await removeFinderExtendedAttributes(app.project.hostAppRoot, globals.processUtils, globals.logger);
+ await removeFinderExtendedAttributes(app.project.parent.directory, globals.processUtils, globals.logger);
final XcodeProjectInfo projectInfo = await app.project.projectInfo();
final String scheme = projectInfo.schemeFor(buildInfo);
@@ -471,19 +471,19 @@
/// Extended attributes applied by Finder can cause code signing errors. Remove them.
/// https://developer.apple.com/library/archive/qa/qa1940/_index.html
@visibleForTesting
-Future<void> removeFinderExtendedAttributes(Directory iosProjectDirectory, ProcessUtils processUtils, Logger logger) async {
+Future<void> removeFinderExtendedAttributes(Directory projectDirectory, ProcessUtils processUtils, Logger logger) async {
final bool success = await processUtils.exitsHappy(
<String>[
'xattr',
'-r',
'-d',
'com.apple.FinderInfo',
- iosProjectDirectory.path,
+ projectDirectory.path,
]
);
// Ignore all errors, for example if directory is missing.
if (!success) {
- logger.printTrace('Failed to remove xattr com.apple.FinderInfo from ${iosProjectDirectory.path}');
+ logger.printTrace('Failed to remove xattr com.apple.FinderInfo from ${projectDirectory.path}');
}
}
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart
index 1f613b4..ac6e41b 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_ios_test.dart
@@ -75,7 +75,7 @@
}
const FakeCommand xattrCommand = FakeCommand(command: <String>[
- 'xattr', '-r', '-d', 'com.apple.FinderInfo', '/ios'
+ 'xattr', '-r', '-d', 'com.apple.FinderInfo', '/'
]);
FakeCommand _setUpRsyncCommand({void Function() onRun}) {
diff --git a/packages/flutter_tools/test/commands.shard/hermetic/build_ipa_test.dart b/packages/flutter_tools/test/commands.shard/hermetic/build_ipa_test.dart
index 7168bb7..e016b81 100644
--- a/packages/flutter_tools/test/commands.shard/hermetic/build_ipa_test.dart
+++ b/packages/flutter_tools/test/commands.shard/hermetic/build_ipa_test.dart
@@ -76,7 +76,7 @@
}
const FakeCommand xattrCommand = FakeCommand(command: <String>[
- 'xattr', '-r', '-d', 'com.apple.FinderInfo', '/ios'
+ 'xattr', '-r', '-d', 'com.apple.FinderInfo', '/'
]);
// Creates a FakeCommand for the xcodebuild call to build the app
diff --git a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart
index 658c0d5..2aad817 100644
--- a/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/ios_device_start_nonprebuilt_test.dart
@@ -35,7 +35,7 @@
'-r',
'-d',
'com.apple.FinderInfo',
- flutterProject.ios.hostAppRoot.path,
+ flutterProject.directory.path,
];
}
diff --git a/packages/flutter_tools/test/general.shard/ios/mac_test.dart b/packages/flutter_tools/test/general.shard/ios/mac_test.dart
index c306cbe..83be8fd 100644
--- a/packages/flutter_tools/test/general.shard/ios/mac_test.dart
+++ b/packages/flutter_tools/test/general.shard/ios/mac_test.dart
@@ -456,10 +456,10 @@
});
group('remove Finder extended attributes', () {
- Directory iosProjectDirectory;
+ Directory projectDirectory;
setUp(() {
final MemoryFileSystem fs = MemoryFileSystem.test();
- iosProjectDirectory = fs.directory('ios');
+ projectDirectory = fs.directory('flutter_project');
});
testWithoutContext('removes xattr', () async {
@@ -469,11 +469,11 @@
'-r',
'-d',
'com.apple.FinderInfo',
- iosProjectDirectory.path,
+ projectDirectory.path,
])
]);
- await removeFinderExtendedAttributes(iosProjectDirectory, ProcessUtils(processManager: processManager, logger: logger), logger);
+ await removeFinderExtendedAttributes(projectDirectory, ProcessUtils(processManager: processManager, logger: logger), logger);
expect(processManager, hasNoRemainingExpectations);
});
@@ -484,12 +484,12 @@
'-r',
'-d',
'com.apple.FinderInfo',
- iosProjectDirectory.path,
+ projectDirectory.path,
], exitCode: 1,
)
]);
- await removeFinderExtendedAttributes(iosProjectDirectory, ProcessUtils(processManager: processManager, logger: logger), logger);
+ await removeFinderExtendedAttributes(projectDirectory, ProcessUtils(processManager: processManager, logger: logger), logger);
expect(logger.traceText, contains('Failed to remove xattr com.apple.FinderInfo'));
expect(processManager, hasNoRemainingExpectations);
});