| #
453643fe |
| 22-Jun-2023 |
Kudo Chien <[email protected]> |
[ios][core][tools] fix expo go versioning issues on ios (#23012)
# Why
fix expo-go ios versioning for sdk 49
close ENG-8955
# How
- a lot of mess transform rules update mainly for react-na
[ios][core][tools] fix expo go versioning issues on ios (#23012)
# Why
fix expo-go ios versioning for sdk 49
close ENG-8955
# How
- a lot of mess transform rules update mainly for react-native 0.72 and reanimated v3
- [core] rename `ExpoRuntime -> EXRuntime` in objc for versioning
- [updates] force casting for the `UpdatesConfig` (i'll leave comment for this)
- [react-native-lab] add correct dependencies to make versioned code build passed
# Test Plan
`et add-sdk -p ios -s 49.0.0` + ios versioned expo-go + sdk49 ncl
show more ...
|
| #
fe5cfb17 |
| 06-Feb-2023 |
Tomasz Sapeta <[email protected]> |
[ios] Add versioned code for SDK 48 (#21091)
|
| #
6185d13d |
| 26-Jan-2023 |
Kudo Chien <[email protected]> |
[tools] fix ios versioning (#20953)
# Why
fix ios versioning after react-native 0.71 upgrade
# How
- [barcode-scanner] forward declaration for `ZXingObjC` to fix swift module build error fr
[tools] fix ios versioning (#20953)
# Why
fix ios versioning after react-native 0.71 upgrade
# How
- [barcode-scanner] forward declaration for `ZXingObjC` to fix swift module build error from umbrella header in versioned code
- [tools] update transforms mainly for `React-jsc` dedicated pod and some upstream cocoapods changes
# Test Plan
- expo go versioning ci passed
- `et add-sdk -p ios -s 48.0.0` & versioned ios expo go + sdk 48 ncl smoke test
show more ...
|
| #
2c41a0c9 |
| 10-Jan-2023 |
Kilian Finger <[email protected]> |
[ios] Fix File.exist? for [email protected] (#20757)
|
| #
75c0fc72 |
| 25-Oct-2022 |
Kudo Chien <[email protected]> |
[tools] Fix hermes versioning (#19685)
# Why
fix the hermes versioning issue causing the versioned hermes cannot be downloaded
# How
- spec.source should not be `{ :path => "." }`
- in the
[tools] Fix hermes versioning (#19685)
# Why
fix the hermes versioning issue causing the versioned hermes cannot be downloaded
# How
- spec.source should not be `{ :path => "." }`
- in the pod statement, the `:path` cannot fetch remote artifacts, we should use `:podspec` instead.
- the tarball should contain a `LICENSE` file, otherwise, the extraction result will be empty.
# Test Plan
- versioning ci passed
- test the work on `@tsapeta/ios/add-sdk-47` branch
show more ...
|
| #
9eae8a6a |
| 14-Sep-2022 |
Kudo Chien <[email protected]> |
[ios][tools] Add Hermes support for Expo Go (#19078)
# Why
close ENG-6189
# How
- [tools] add *versionHermes.ts* to create a versioned hermes.xcframework. this script will be invoked in add
[ios][tools] Add Hermes support for Expo Go (#19078)
# Why
close ENG-6189
# How
- [tools] add *versionHermes.ts* to create a versioned hermes.xcframework. this script will be invoked in adding new sdk. it will also show a prompt to upload the artifact.
for ci testing, the hermes podspec also supports xcframework from local file system:
```
if File.exists?(File.join(__dir__, "destroot"))
source[:path] = '.'
else
source[:http] = 'https://github.com/expo/react-native/releases/download/sdk-47.0.0/ABI47_0_0hermes.tar.gz'
end,
```
- [tools] versioning hermes related code in react-native
- [manifest] add `jsEngine` method to read the jsEngine or ios.jsEngine value from manifest
- ~[reanimated] introduce `useHermes` runtime option to create specific js runtime~ Update: always use hermes to simplify the versioning script.
- [reanimated] backport sdk45, sdk46 code to disable hermes
# Test Plan
- `et add-sdk -p ios -s 47.0.0` + versioned expo go
- unversioned expo go + NCL
- unversioned expo go + NCL with `"jsEngine": "hermes"`
- versioning ci job passed: https://github.com/expo/expo/actions/runs/3049529467/jobs/4915687276
Co-authored-by: Tomasz Sapeta <[email protected]>
show more ...
|
| #
0e34784d |
| 12-Jul-2022 |
Tomasz Sapeta <[email protected]> |
[tools] Fix versioning on iOS (#18205)
|
| #
a272999e |
| 11-Apr-2022 |
Bartosz Kaszubowski <[email protected]> |
[tools] add and hook up lint setup, remove `module-scripts` (#16974)
|
| #
d566f199 |
| 06-Apr-2022 |
Kudo Chien <[email protected]> |
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
[android][ios] Upgrade expo go to react-native 0.68 (#16752)
# Why
upgrade for sdk 45
# How
- upgrade our react-native fork to 0.68 based: https://github.com/expo/react-native/tree/sdk-45
- migrate android/ios projects to 0.68
- [android] bump `targetSdkVersion` and `compileSdkVersion` to 31 (aligned with react-native 0.68)
- [tools] update codegen customization in `update-rn` script
- [tools] update versioning scripts
- [android] replace our customized `NDK_ABI_FILTERS` with official supported `reactNativeArchitectures` gradle property
- [android] use jdk 11
that is a huge pr because of changes from `et update-rn`. recommend to review this pr by commits.
most `add-sdk` problems on 0.68 are fixed. there are still an issue on android. i'll address in another pr.
- expo-av CMakeLists.txt versioning
# Test Plan
- unversoned android expo-go + ncl
- unversoned ios expo-go + ncl
- `et add-sdk -p ios -s 45.0.0` + versioned ios sdk 45 expo-go + ncl
- `et add-sdk -p android -s 45.0.0` + versioned android sdk 45 expo-go + ncl (should commented out expo-av in `ExperiencePackagePicker.kt`
show more ...
|
| #
370fa39d |
| 28-Feb-2022 |
Kudo Chien <[email protected]> |
[android][ios] Fix versioning for expo go after react-native 0.67.2 upgrade (#16401)
# Why
for sdk45 and based on #16400
# How
- [tools] Fix versioning tools for react-native 0.67.2 upgrade
[android][ios] Fix versioning for expo go after react-native 0.67.2 upgrade (#16401)
# Why
for sdk45 and based on #16400
# How
- [tools] Fix versioning tools for react-native 0.67.2 upgrade
- [expo-modules-core][ios] Fix missing `EX` prefix to some objective-c files for versioning support
- [autolinking] Apply our cocoapods fix for `React-Core` swift support to versioned code
- [expo-updates] fix an incompatible `ReactInstanceManager` in UpdatesPackage where UpdateController is unversioned but UpdatePackage is versioned.
- [expo-file-system] okhttp/okio code for new versioned code build successfully. this is done in #16446
# Test Plan
- `et add-sdk -p android -s 45.0.0` and build/launch sdk 45 expo go with sdk 45 ncl
- `et add-sdk -p ios -s 45.0.0` and build/launch sdk 45 expo go with sdk 45 ncl
show more ...
|
| #
5c2a14a0 |
| 04-Jan-2022 |
Kudo Chien <[email protected]> |
[autolinking] Fix umbrella directory not found from use_frameworks! (#15773)
# Why
fix umbrella header not found from `use_frameworks!` because framework files will be copied into DerivedData fol
[autolinking] Fix umbrella directory not found from use_frameworks! (#15773)
# Why
fix umbrella header not found from `use_frameworks!` because framework files will be copied into DerivedData folder and the folder structure is different to CocoaPods header folders.
fix #15749
# How
instead of using custom modulemap with the `umbrella directory '../../Public/React-Core/React'`. this change further patch CocoaPods to generate umbrella header and modulemap file together with the public header files.
# Test Plan
- bare-expo ci passed
-
```
expo init sdk44 # select bare
yarn add file:/path/to/expo/expo/packages/expo-modules-autolinking
add `use_frameworks!` in `ios/Podfile`
expo run:ios
```
show more ...
|
| #
e4312942 |
| 28-Nov-2021 |
Kudo Chien <[email protected]> |
[autolinking] Patch react podspec for swift integration (#15299)
# Why
there are tons of mixing swift and objc issues in expo-modules-core. e.g.
- `include of non-modular header inside framework
[autolinking] Patch react podspec for swift integration (#15299)
# Why
there are tons of mixing swift and objc issues in expo-modules-core. e.g.
- `include of non-modular header inside framework module` when prebuild expo-modules-core
- sometimes swift functions cannot be loaded if there are react types.
the root cause is that clang doesn't generate submodules correctly. although clang can transform `#import <React/RCTBridge.h>` to `@import React.RCTBridge;`, clang cannot do it right as React.RCTBridge submodule doesn't exist. as swift only know modules, this will cause lots of problems when we use react types in swift.
# How
- patch `React-Core.podspec` with custom modulemap for clang to generate submodules correctly. (details in code comment)
- replace original CocoaPods `PodTarget` monkey patch with `Sandbox`. this new approach can patch podspec on the fly.
# Test Plan
- CI passed
- to further check what's the difference for the change, you can enable `BUILD_LIBRARY_FOR_DISTRIBUTION` for expo-modules-core pod project and check the swiftinterface for ExpoModulesCore.
e.g. `/Users/kudo/Library/Developer/Xcode/DerivedData/BareExpo-brnnteedtepltiasryrqyexlvweu/Build/Products/Debug-iphonesimulator/ExpoModulesCore/ExpoModulesCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface`
```swift
@_inheritsConvenienceInitializers @objc final public class ViewModuleWrapper : ExpoModulesCore.RCTViewManager {
```
before: it's `ExpoModulesCore.RCTViewManager`
```swift
@_inheritsConvenienceInitializers @objc final public class ViewModuleWrapper : React.RCTViewManager {
```
after: it's `React.RCTViewManager`
show more ...
|
| #
07d44be4 |
| 10-Aug-2021 |
Kudo Chien <[email protected]> |
[tools] Fix ios versioning after rn 0.64 upgrade (#13972)
# Why
ios versioning tool breaks after react-native 0.64 upgrade
# How
1. Folly -> RCT-Folly
2. some copying folders update
3. or
[tools] Fix ios versioning after rn 0.64 upgrade (#13972)
# Why
ios versioning tool breaks after react-native 0.64 upgrade
# How
1. Folly -> RCT-Folly
2. some copying folders update
3. originally my though is to copy Libraries/**/*.js to versioned-react-native and execute codegen in Xcode build phase script like what react-native did. but the generated code is not covered in versioning. the final solution is to run codegen before versioning and disable build phase codegen then.
# Test Plan
CI `Versioning Expo Go` passed
show more ...
|
| #
eeffdb10 |
| 21-Dec-2020 |
Tomasz Sapeta <[email protected]> |
[tools] Move tools/expotools one folder up (#11410)
|