From a8796f78448f7906eced241d6dfdcf73d4ac98b8 Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 11:22:21 -0700 Subject: [PATCH 1/7] use python script to genenrate extension safe frameworks format format revert quote change revert format revert format --- ci/builders/mac_ios_engine.json | 64 +------------------------- sky/tools/create_full_ios_framework.py | 45 +++++++++++++++++- 2 files changed, 45 insertions(+), 64 deletions(-) diff --git a/ci/builders/mac_ios_engine.json b/ci/builders/mac_ios_engine.json index a8a4bb926462e..29544c9850623 100644 --- a/ci/builders/mac_ios_engine.json +++ b/ci/builders/mac_ios_engine.json @@ -289,53 +289,6 @@ "script": "flutter/sky/tools/create_full_ios_framework.py", "language": "python3" }, - { - "name": "Debug-ios-Flutter-Extension-Safe.xcframework", - "parameters": [ - "--dst", - "out/debug_extension_safe", - "--arm64-out-dir", - "out/ios_debug_extension_safe", - "--simulator-x64-out-dir", - "out/ios_debug_sim_extension_safe", - "--simulator-arm64-out-dir", - "out/ios_debug_sim_arm64_extension_safe" - ], - "script": "flutter/sky/tools/create_full_ios_framework.py", - "language": "python3" - }, - { - "name": "Profile-ios-Flutter-Extension-Safe.xcframework", - "parameters": [ - "--dst", - "out/profile_extension_safe", - "--arm64-out-dir", - "out/ios_profile_extension_safe", - "--simulator-x64-out-dir", - "out/ios_debug_sim_extension_safe", - "--simulator-arm64-out-dir", - "out/ios_debug_sim_arm64_extension_safe" - ], - "script": "flutter/sky/tools/create_full_ios_framework.py", - "language": "python3" - }, - { - "name": "Release-ios-Flutter-Extension-Safe.xcframework", - "parameters": [ - "--dst", - "out/release_extension_safe", - "--arm64-out-dir", - "out/ios_release_extension_safe", - "--simulator-x64-out-dir", - "out/ios_debug_sim_extension_safe", - "--simulator-arm64-out-dir", - "out/ios_debug_sim_arm64_extension_safe", - "--dsym", - "--strip" - ], - "script": "flutter/sky/tools/create_full_ios_framework.py", - "language": "python3" - }, { "name": "Release-macos-gen-snapshots", "parameters": [ @@ -378,24 +331,9 @@ "destination": "ios-release/Flutter.dSYM.zip", "realm": "production" }, - { - "source": "out/debug_extension_safe/artifacts.zip", - "destination": "ios-extension-safe/artifacts.zip", - "realm": "production" - }, - { - "source": "out/profile_extension_safe/artifacts.zip", - "destination": "ios-profile-extension-safe/artifacts.zip", - "realm": "production" - }, - { - "source": "out/release_extension_safe/artifacts.zip", - "destination": "ios-release-extension-safe/artifacts.zip", - "realm": "production" - }, { "source": "out/release_extension_safe/Flutter.dSYM.zip", - "destination": "ios-release-extension-safe/Flutter.dSYM.zip", + "destination": "ios-release/extension_safe/Flutter.dSYM.zip", "realm": "production" } ] diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index 5858ddefb7b12..c62278f80d22d 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -106,6 +106,46 @@ def main(): args, dst, framework, arm64_framework, simulator_framework, simulator_x64_framework, simulator_arm64_framework ) + + # build extension safe frameworks + extension_safe_dst = os.path.join(dst, 'extension_safe') + extension_safe_framework = os.path.join( + extension_safe_dst, 'Flutter.framework' + ) + extension_safe_simulator_framework = os.path.join( + extension_safe_dst, 'sim', 'Flutter.framework' + ) + extension_safe_arm64_framework = os.path.join( + arm64_out_dir + '_extension_safe', 'Flutter.framework' + ) + extension_safe_simulator_x64_framework = os.path.join( + simulator_x64_out_dir + '_extension_safe', 'Flutter.framework' + ) + extension_safe_simulator_arm64_framework = os.path.join( + simulator_arm64_out_dir + '_extension_safe', 'Flutter.framework' + ) + + if not os.path.isdir(extension_safe_arm64_framework): + print( + 'Cannot find extension safe iOS arm64 Framework at %s' % + extension_safe_arm64_framework + ) + return 1 + + if not os.path.isdir(extension_safe_simulator_x64_framework): + print( + 'Cannot find extension safe iOS x64 simulator Framework at %s' % + extension_safe_simulator_x64_framework + ) + return 1 + + create_framework( + args, extension_safe_dst, extension_safe_framework, + extension_safe_arm64_framework, extension_safe_simulator_framework, + extension_safe_simulator_x64_framework, + extension_safe_simulator_arm64_framework + ) + generate_gen_snapshot(args, dst, x64_out_dir, arm64_out_dir) zip_archive(dst) return 0 @@ -173,7 +213,9 @@ def zip_archive(dst): ios_file_with_entitlements = ['gen_snapshot_arm64'] ios_file_without_entitlements = [ 'Flutter.xcframework/ios-arm64/Flutter.framework/Flutter', - 'Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter' + 'Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter', + 'extension_safe/Flutter.xcframework/ios-arm64/Flutter.framework/Flutter', + 'extension_safe/Flutter.xcframework/ios-arm64_x86_64-simulator/Flutter.framework/Flutter' ] embed_codesign_configuration( os.path.join(dst, 'entitlements.txt'), ios_file_with_entitlements @@ -192,6 +234,7 @@ def zip_archive(dst): 'Flutter.xcframework', 'entitlements.txt', 'without_entitlements.txt', + 'extension_safe', ], cwd=dst) if os.path.exists(os.path.join(dst, 'Flutter.dSYM')): From 2c1c1a02ef7c0af11583a24fd3438400559fd53d Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 11:53:08 -0700 Subject: [PATCH 2/7] review --- sky/tools/create_full_ios_framework.py | 32 +++++++++++++++----------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index c62278f80d22d..4c17443164c62 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -107,22 +107,32 @@ def main(): simulator_x64_framework, simulator_arm64_framework ) - # build extension safe frameworks extension_safe_dst = os.path.join(dst, 'extension_safe') - extension_safe_framework = os.path.join( - extension_safe_dst, 'Flutter.framework' + create_extension_safe_framework( + args, extension_safe_dst, '%s_extension_safe' % arm64_out_dir, + '%s_extension_safe' % simulator_x64_out_dir, + '%s_extension_safe' % simulator_arm64_out_dir ) + + generate_gen_snapshot(args, dst, x64_out_dir, arm64_out_dir) + zip_archive(dst) + return 0 + +def create_extension_safe_framework( # pylint: disable=too-many-arguments + args, dst, arm64_out_dir, simulator_x64_out_dir, simulator_arm64_out_dir +): + extension_safe_framework = os.path.join(dst, 'Flutter.framework') extension_safe_simulator_framework = os.path.join( - extension_safe_dst, 'sim', 'Flutter.framework' + dst, 'sim', 'Flutter.framework' ) extension_safe_arm64_framework = os.path.join( - arm64_out_dir + '_extension_safe', 'Flutter.framework' + arm64_out_dir, 'Flutter.framework' ) extension_safe_simulator_x64_framework = os.path.join( - simulator_x64_out_dir + '_extension_safe', 'Flutter.framework' + simulator_x64_out_dir, 'Flutter.framework' ) extension_safe_simulator_arm64_framework = os.path.join( - simulator_arm64_out_dir + '_extension_safe', 'Flutter.framework' + simulator_arm64_out_dir, 'Flutter.framework' ) if not os.path.isdir(extension_safe_arm64_framework): @@ -140,17 +150,13 @@ def main(): return 1 create_framework( - args, extension_safe_dst, extension_safe_framework, - extension_safe_arm64_framework, extension_safe_simulator_framework, + args, dst, extension_safe_framework, extension_safe_arm64_framework, + extension_safe_simulator_framework, extension_safe_simulator_x64_framework, extension_safe_simulator_arm64_framework ) - - generate_gen_snapshot(args, dst, x64_out_dir, arm64_out_dir) - zip_archive(dst) return 0 - def create_framework( # pylint: disable=too-many-arguments args, dst, framework, arm64_framework, simulator_framework, simulator_x64_framework, simulator_arm64_framework From 981c5d06fce10cf963c9d13cca4752af46ca1c2f Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 13:30:43 -0700 Subject: [PATCH 3/7] remove long names --- sky/tools/create_full_ios_framework.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index 4c17443164c62..18df22d9c826a 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -121,39 +121,39 @@ def main(): def create_extension_safe_framework( # pylint: disable=too-many-arguments args, dst, arm64_out_dir, simulator_x64_out_dir, simulator_arm64_out_dir ): - extension_safe_framework = os.path.join(dst, 'Flutter.framework') - extension_safe_simulator_framework = os.path.join( + framework = os.path.join(dst, 'Flutter.framework') + simulator_framework = os.path.join( dst, 'sim', 'Flutter.framework' ) - extension_safe_arm64_framework = os.path.join( + arm64_framework = os.path.join( arm64_out_dir, 'Flutter.framework' ) - extension_safe_simulator_x64_framework = os.path.join( + simulator_x64_framework = os.path.join( simulator_x64_out_dir, 'Flutter.framework' ) - extension_safe_simulator_arm64_framework = os.path.join( + simulator_arm64_framework = os.path.join( simulator_arm64_out_dir, 'Flutter.framework' ) - if not os.path.isdir(extension_safe_arm64_framework): + if not os.path.isdir(arm64_framework): print( 'Cannot find extension safe iOS arm64 Framework at %s' % - extension_safe_arm64_framework + arm64_framework ) return 1 - if not os.path.isdir(extension_safe_simulator_x64_framework): + if not os.path.isdir(simulator_x64_framework): print( 'Cannot find extension safe iOS x64 simulator Framework at %s' % - extension_safe_simulator_x64_framework + simulator_x64_framework ) return 1 create_framework( - args, dst, extension_safe_framework, extension_safe_arm64_framework, - extension_safe_simulator_framework, - extension_safe_simulator_x64_framework, - extension_safe_simulator_arm64_framework + args, dst, framework, arm64_framework, + simulator_framework, + simulator_x64_framework, + simulator_arm64_framework ) return 0 From 5b2a9ac43beee5af6faecc62ce3461b098e9aa74 Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 13:35:18 -0700 Subject: [PATCH 4/7] format --- sky/tools/create_full_ios_framework.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index 18df22d9c826a..fd7dfe3df948b 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -122,12 +122,8 @@ def create_extension_safe_framework( # pylint: disable=too-many-arguments args, dst, arm64_out_dir, simulator_x64_out_dir, simulator_arm64_out_dir ): framework = os.path.join(dst, 'Flutter.framework') - simulator_framework = os.path.join( - dst, 'sim', 'Flutter.framework' - ) - arm64_framework = os.path.join( - arm64_out_dir, 'Flutter.framework' - ) + simulator_framework = os.path.join(dst, 'sim', 'Flutter.framework') + arm64_framework = os.path.join(arm64_out_dir, 'Flutter.framework') simulator_x64_framework = os.path.join( simulator_x64_out_dir, 'Flutter.framework' ) @@ -137,8 +133,7 @@ def create_extension_safe_framework( # pylint: disable=too-many-arguments if not os.path.isdir(arm64_framework): print( - 'Cannot find extension safe iOS arm64 Framework at %s' % - arm64_framework + 'Cannot find extension safe iOS arm64 Framework at %s' % arm64_framework ) return 1 @@ -150,10 +145,8 @@ def create_extension_safe_framework( # pylint: disable=too-many-arguments return 1 create_framework( - args, dst, framework, arm64_framework, - simulator_framework, - simulator_x64_framework, - simulator_arm64_framework + args, dst, framework, arm64_framework, simulator_framework, + simulator_x64_framework, simulator_arm64_framework ) return 0 From cc5dc795c2d128866eb3e1f4069398585d3e9b09 Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 15:15:55 -0700 Subject: [PATCH 5/7] fix dsym location --- ci/builders/mac_ios_engine.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/builders/mac_ios_engine.json b/ci/builders/mac_ios_engine.json index 29544c9850623..cc9d5b27b79f5 100644 --- a/ci/builders/mac_ios_engine.json +++ b/ci/builders/mac_ios_engine.json @@ -332,7 +332,7 @@ "realm": "production" }, { - "source": "out/release_extension_safe/Flutter.dSYM.zip", + "source": "out/release/extension_safe/Flutter.dSYM.zip", "destination": "ios-release/extension_safe/Flutter.dSYM.zip", "realm": "production" } From 51608865ae55c66a04df93d583b1162792c9293a Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Wed, 13 Sep 2023 15:26:02 -0700 Subject: [PATCH 6/7] more explict zip, move extension_safe dsym to its own folder --- ci/builders/mac_ios_engine.json | 4 ++-- sky/tools/create_full_ios_framework.py | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ci/builders/mac_ios_engine.json b/ci/builders/mac_ios_engine.json index cc9d5b27b79f5..600f495929b0c 100644 --- a/ci/builders/mac_ios_engine.json +++ b/ci/builders/mac_ios_engine.json @@ -332,8 +332,8 @@ "realm": "production" }, { - "source": "out/release/extension_safe/Flutter.dSYM.zip", - "destination": "ios-release/extension_safe/Flutter.dSYM.zip", + "source": "out/release/extension_safe_Flutter.dSYM.zip", + "destination": "ios-release/extension_safe_Flutter.dSYM.zip", "realm": "production" } ] diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index fd7dfe3df948b..6f8b02bf01b81 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -233,13 +233,19 @@ def zip_archive(dst): 'Flutter.xcframework', 'entitlements.txt', 'without_entitlements.txt', - 'extension_safe', + 'extension_safe/Flutter.framework', + 'extension_safe/Flutter.xcframework', + 'extension_safe/sim', ], cwd=dst) if os.path.exists(os.path.join(dst, 'Flutter.dSYM')): subprocess.check_call(['zip', '-r', 'Flutter.dSYM.zip', 'Flutter.dSYM'], cwd=dst) + if os.path.exists(os.path.join(dst, 'extension_safe', 'Flutter.dSYM')): + subprocess.check_call(['zip', '-r', 'extension_safe_Flutter.dSYM.zip', 'Flutter.dSYM'], + cwd=dst) + def process_framework(args, dst, framework, framework_binary): if args.dsym: From 4679b927a4f743584a9acf4c7ef6e1942e7f70dc Mon Sep 17 00:00:00 2001 From: Chris Yang Date: Thu, 14 Sep 2023 15:30:33 -0700 Subject: [PATCH 7/7] format --- sky/tools/create_full_ios_framework.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sky/tools/create_full_ios_framework.py b/sky/tools/create_full_ios_framework.py index 6f8b02bf01b81..6aeaea94176b7 100644 --- a/sky/tools/create_full_ios_framework.py +++ b/sky/tools/create_full_ios_framework.py @@ -243,7 +243,9 @@ def zip_archive(dst): cwd=dst) if os.path.exists(os.path.join(dst, 'extension_safe', 'Flutter.dSYM')): - subprocess.check_call(['zip', '-r', 'extension_safe_Flutter.dSYM.zip', 'Flutter.dSYM'], + subprocess.check_call([ + 'zip', '-r', 'extension_safe_Flutter.dSYM.zip', 'Flutter.dSYM' + ], cwd=dst)