Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 39c0f2e

Browse files
author
Chris Yang
authored
[ios] Reland "[ios] use python script to generate extension safe frameworks and code sign them" #46004" (#46014)
Relands #45781 The Flutter.framework and the sim folders are mistakenly added to the artifact, this PR removed those files along with re-landing the original changes flutter/flutter#134966 should pass with this change. [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
1 parent 9232e76 commit 39c0f2e

2 files changed

Lines changed: 51 additions & 65 deletions

File tree

ci/builders/mac_ios_engine.json

Lines changed: 2 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -289,53 +289,6 @@
289289
"script": "flutter/sky/tools/create_full_ios_framework.py",
290290
"language": "python3"
291291
},
292-
{
293-
"name": "Debug-ios-Flutter-Extension-Safe.xcframework",
294-
"parameters": [
295-
"--dst",
296-
"out/debug_extension_safe",
297-
"--arm64-out-dir",
298-
"out/ios_debug_extension_safe",
299-
"--simulator-x64-out-dir",
300-
"out/ios_debug_sim_extension_safe",
301-
"--simulator-arm64-out-dir",
302-
"out/ios_debug_sim_arm64_extension_safe"
303-
],
304-
"script": "flutter/sky/tools/create_full_ios_framework.py",
305-
"language": "python3"
306-
},
307-
{
308-
"name": "Profile-ios-Flutter-Extension-Safe.xcframework",
309-
"parameters": [
310-
"--dst",
311-
"out/profile_extension_safe",
312-
"--arm64-out-dir",
313-
"out/ios_profile_extension_safe",
314-
"--simulator-x64-out-dir",
315-
"out/ios_debug_sim_extension_safe",
316-
"--simulator-arm64-out-dir",
317-
"out/ios_debug_sim_arm64_extension_safe"
318-
],
319-
"script": "flutter/sky/tools/create_full_ios_framework.py",
320-
"language": "python3"
321-
},
322-
{
323-
"name": "Release-ios-Flutter-Extension-Safe.xcframework",
324-
"parameters": [
325-
"--dst",
326-
"out/release_extension_safe",
327-
"--arm64-out-dir",
328-
"out/ios_release_extension_safe",
329-
"--simulator-x64-out-dir",
330-
"out/ios_debug_sim_extension_safe",
331-
"--simulator-arm64-out-dir",
332-
"out/ios_debug_sim_arm64_extension_safe",
333-
"--dsym",
334-
"--strip"
335-
],
336-
"script": "flutter/sky/tools/create_full_ios_framework.py",
337-
"language": "python3"
338-
},
339292
{
340293
"name": "Release-macos-gen-snapshots",
341294
"parameters": [
@@ -379,23 +332,8 @@
379332
"realm": "production"
380333
},
381334
{
382-
"source": "out/debug_extension_safe/artifacts.zip",
383-
"destination": "ios-extension-safe/artifacts.zip",
384-
"realm": "production"
385-
},
386-
{
387-
"source": "out/profile_extension_safe/artifacts.zip",
388-
"destination": "ios-profile-extension-safe/artifacts.zip",
389-
"realm": "production"
390-
},
391-
{
392-
"source": "out/release_extension_safe/artifacts.zip",
393-
"destination": "ios-release-extension-safe/artifacts.zip",
394-
"realm": "production"
395-
},
396-
{
397-
"source": "out/release_extension_safe/Flutter.dSYM.zip",
398-
"destination": "ios-release-extension-safe/Flutter.dSYM.zip",
335+
"source": "out/release/extension_safe_Flutter.dSYM.zip",
336+
"destination": "ios-release/extension_safe_Flutter.dSYM.zip",
399337
"realm": "production"
400338
}
401339
]

sky/tools/create_full_ios_framework.py

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,49 @@ def main():
106106
args, dst, framework, arm64_framework, simulator_framework,
107107
simulator_x64_framework, simulator_arm64_framework
108108
)
109+
110+
extension_safe_dst = os.path.join(dst, 'extension_safe')
111+
create_extension_safe_framework(
112+
args, extension_safe_dst, '%s_extension_safe' % arm64_out_dir,
113+
'%s_extension_safe' % simulator_x64_out_dir,
114+
'%s_extension_safe' % simulator_arm64_out_dir
115+
)
116+
109117
generate_gen_snapshot(args, dst, x64_out_dir, arm64_out_dir)
110118
zip_archive(dst)
111119
return 0
112120

121+
def create_extension_safe_framework( # pylint: disable=too-many-arguments
122+
args, dst, arm64_out_dir, simulator_x64_out_dir, simulator_arm64_out_dir
123+
):
124+
framework = os.path.join(dst, 'Flutter.framework')
125+
simulator_framework = os.path.join(dst, 'sim', 'Flutter.framework')
126+
arm64_framework = os.path.join(arm64_out_dir, 'Flutter.framework')
127+
simulator_x64_framework = os.path.join(
128+
simulator_x64_out_dir, 'Flutter.framework'
129+
)
130+
simulator_arm64_framework = os.path.join(
131+
simulator_arm64_out_dir, 'Flutter.framework'
132+
)
133+
134+
if not os.path.isdir(arm64_framework):
135+
print(
136+
'Cannot find extension safe iOS arm64 Framework at %s' % arm64_framework
137+
)
138+
return 1
139+
140+
if not os.path.isdir(simulator_x64_framework):
141+
print(
142+
'Cannot find extension safe iOS x64 simulator Framework at %s' %
143+
simulator_x64_framework
144+
)
145+
return 1
146+
147+
create_framework(
148+
args, dst, framework, arm64_framework, simulator_framework,
149+
simulator_x64_framework, simulator_arm64_framework
150+
)
151+
return 0
113152

114153
def create_framework( # pylint: disable=too-many-arguments
115154
args, dst, framework, arm64_framework, simulator_framework,
@@ -173,7 +212,9 @@ def zip_archive(dst):
173212
ios_file_with_entitlements = ['gen_snapshot_arm64']
174213
ios_file_without_entitlements = [
175214
'Flutter.xcframework/ios-arm64/Flutter.framework/Flutter',
176-
'Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter'
215+
'Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter',
216+
'extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter',
217+
'extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter'
177218
]
178219
embed_codesign_configuration(
179220
os.path.join(dst, 'entitlements.txt'), ios_file_with_entitlements
@@ -192,12 +233,19 @@ def zip_archive(dst):
192233
'Flutter.xcframework',
193234
'entitlements.txt',
194235
'without_entitlements.txt',
236+
'extension_safe/Flutter.xcframework',
195237
],
196238
cwd=dst)
197239
if os.path.exists(os.path.join(dst, 'Flutter.dSYM')):
198240
subprocess.check_call(['zip', '-r', 'Flutter.dSYM.zip', 'Flutter.dSYM'],
199241
cwd=dst)
200242

243+
if os.path.exists(os.path.join(dst, 'extension_safe', 'Flutter.dSYM')):
244+
subprocess.check_call([
245+
'zip', '-r', 'extension_safe_Flutter.dSYM.zip', 'Flutter.dSYM'
246+
],
247+
cwd=dst)
248+
201249

202250
def process_framework(args, dst, framework, framework_binary):
203251
if args.dsym:

0 commit comments

Comments
 (0)