From 7d8b4f95e52d64d48ebac9f3f63a44fdd0633cb7 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Fri, 14 Jul 2023 18:40:00 +0200 Subject: [PATCH 1/5] Update Gutenberg ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 2d0a21954f..0411df13e1 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 2d0a21954fe9417059b7566cb7146fd7d37e0835 +Subproject commit 0411df13e1e8b832d8011e4fafe34436cd8fc773 From b6df92160b7ac6d711baf3a4a68ef48bc8707b18 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 18 Jul 2023 16:49:30 +1000 Subject: [PATCH 2/5] =?UTF-8?q?WIP=20=E2=80=93=20Link=20against=20Hermes,?= =?UTF-8?q?=20but=20do=20not=20embed=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The idea being to avoid nested frameworks because of embedding and instead adding Hermes as a another vendored framework in the podspec. --- .../project.pbxproj | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/ios-xcframework/XCFrameworkScaffold.xcodeproj/project.pbxproj b/ios-xcframework/XCFrameworkScaffold.xcodeproj/project.pbxproj index 0675a065f2..f3a7a3987e 100644 --- a/ios-xcframework/XCFrameworkScaffold.xcodeproj/project.pbxproj +++ b/ios-xcframework/XCFrameworkScaffold.xcodeproj/project.pbxproj @@ -27,7 +27,6 @@ 3F12365029F6B23300AF54A4 /* supported-blocks.json in Resources */ = {isa = PBXBuildFile; fileRef = 3F12364F29F6B23300AF54A4 /* supported-blocks.json */; }; 3FA0C5812A1C8C9700600A9A /* App.js in Resources */ = {isa = PBXBuildFile; fileRef = 3FA0C5802A1C8C9700600A9A /* App.js */; }; 3FC7862B2A53047D00A0DDAF /* hermes.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3FC7862A2A53047D00A0DDAF /* hermes.xcframework */; }; - 3FC7862C2A53047D00A0DDAF /* hermes.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3FC7862A2A53047D00A0DDAF /* hermes.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 3FE06AC329F3F61300F752AD /* Gutenberg.h in Headers */ = {isa = PBXBuildFile; fileRef = 3FE06AC229F3F61300F752AD /* Gutenberg.h */; settings = {ATTRIBUTES = (Public, ); }; }; 3FE06ACE29F3F6DA00F752AD /* Gutenberg-Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 3FE06AC829F3F6DA00F752AD /* Gutenberg-Debug.xcconfig */; }; 3FE06ACF29F3F6DA00F752AD /* Gutenberg-Shared.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 3FE06AC929F3F6DA00F752AD /* Gutenberg-Shared.xcconfig */; }; @@ -38,20 +37,6 @@ 612F325D13E652BF476ED672 /* Pods_Gutenberg.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 432C8665181F3EC336B71D6C /* Pods_Gutenberg.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 3FC7862D2A53047D00A0DDAF /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 3FC7862C2A53047D00A0DDAF /* hermes.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 3F1235FB29F680F900AF54A4 /* GutenbergBridgeDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GutenbergBridgeDelegate.swift; path = "../../gutenberg/packages/react-native-bridge/ios/GutenbergBridgeDelegate.swift"; sourceTree = ""; }; 3F1235FC29F680F900AF54A4 /* GutenbergBridgeDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = GutenbergBridgeDataSource.swift; path = "../../gutenberg/packages/react-native-bridge/ios/GutenbergBridgeDataSource.swift"; sourceTree = ""; }; @@ -209,7 +194,6 @@ 3FE06ABC29F3F61300F752AD /* Frameworks */, 3FE06ABD29F3F61300F752AD /* Resources */, 33E2599260A73CF1DC26925F /* [CP] Copy Pods Resources */, - 3FC7862D2A53047D00A0DDAF /* Embed Frameworks */, ); buildRules = ( ); From a5f1d5f78efb60a212eb30322623f7583d3cd5f8 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 18 Jul 2023 16:57:26 +1000 Subject: [PATCH 3/5] =?UTF-8?q?WIP=20=E2=80=93=20Use=20Hermes=20directly?= =?UTF-8?q?=20from=20the=20RN=20pods=20when=20creating=20the=20tar.gz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios-xcframework/build.sh | 10 +++++++++- ios-xcframework/podspec.erb | 3 ++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ios-xcframework/build.sh b/ios-xcframework/build.sh index 393167f436..0075118561 100755 --- a/ios-xcframework/build.sh +++ b/ios-xcframework/build.sh @@ -56,6 +56,13 @@ function archive { SKIP_INSTALL=NO } +# Fail early if the expected Hermes XCFramework that should be bundled with React Native cannot be found +HERMES_XCFRAMEWORK=./Pods/hermes-engine/destroot/Library/Frameworks/universal/hermes.xcframework +if [ ! -d $HERMES_XCFRAMEWORK ]; then + log 'fail' "Could not file required Hermes XCFramework at path: $HERMES_XCFRAMEWORK" + exit 1 +fi + BUILD_DIR=./build DERIVED_DATA_PATH="$BUILD_DIR/derived_data" ARCHIVES_ROOT="$BUILD_DIR/archives" @@ -92,7 +99,7 @@ do FRAMEWORK_RELATIVE_PATH="Products/Library/Frameworks/$CURRENT_FRAMEWORK_NAME.framework" if [[ $CURRENT_FRAMEWORK_NAME = 'hermes' ]]; then - log 'no_good' "Skipping creating XCFramework for $CURRENT_FRAMEWORK_NAME" + log 'no_good' "Skipping creating XCFramework for $CURRENT_FRAMEWORK_NAME, we'll use the one bundled with React Native" continue fi @@ -143,6 +150,7 @@ cp -r "$XCFRAMEWORKS_DIR/Gutenberg.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/React.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/RNTAztecView.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/yoga.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" +cp -r "$HERMES_XCFRAMEWORK" "$ARCHIVE_FRAMEWORKS_PATH" ARCHIVE_PATH="$XCFRAMEWORKS_DIR/$MAIN_FRAMEWORK_NAME.tar.gz" diff --git a/ios-xcframework/podspec.erb b/ios-xcframework/podspec.erb index c364ec10f1..0cc9188c42 100644 --- a/ios-xcframework/podspec.erb +++ b/ios-xcframework/podspec.erb @@ -22,6 +22,7 @@ Pod::Spec.new do |s| 'Frameworks/Gutenberg.xcframework', 'Frameworks/React.xcframework', 'Frameworks/RNTAztecView.xcframework', - 'Frameworks/yoga.xcframework' + 'Frameworks/yoga.xcframework', + 'Frameworks/hermes.xcframework' ] end From 9fb9062b05419309a86ebc07444039ffcc4233f0 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Wed, 19 Jul 2023 11:11:06 +1000 Subject: [PATCH 4/5] Do not copy the 1GB worth of Catalyst Hermest XCFramework --- ios-xcframework/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ios-xcframework/build.sh b/ios-xcframework/build.sh index 0075118561..4403a3316f 100755 --- a/ios-xcframework/build.sh +++ b/ios-xcframework/build.sh @@ -150,7 +150,8 @@ cp -r "$XCFRAMEWORKS_DIR/Gutenberg.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/React.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/RNTAztecView.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" cp -r "$XCFRAMEWORKS_DIR/yoga.xcframework" "$ARCHIVE_FRAMEWORKS_PATH" -cp -r "$HERMES_XCFRAMEWORK" "$ARCHIVE_FRAMEWORKS_PATH" +# We don't want the Catalyst slice because 1) it's huge and 2) we don't need it at the moment +rsync -a "$HERMES_XCFRAMEWORK" "$ARCHIVE_FRAMEWORKS_PATH" --exclude '*-maccatalyst' ARCHIVE_PATH="$XCFRAMEWORKS_DIR/$MAIN_FRAMEWORK_NAME.tar.gz" From c089c2e8b6ebce963a35514079e6548f2ba1486c Mon Sep 17 00:00:00 2001 From: Carlos Garcia Date: Wed, 19 Jul 2023 12:56:05 +0200 Subject: [PATCH 5/5] Update Gutenberg ref --- gutenberg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gutenberg b/gutenberg index 0411df13e1..1f34e0c4ed 160000 --- a/gutenberg +++ b/gutenberg @@ -1 +1 @@ -Subproject commit 0411df13e1e8b832d8011e4fafe34436cd8fc773 +Subproject commit 1f34e0c4ed265bab215e8d04aa52afbd31ec06b2