History log of /expo/tools/src/versioning/ios/transforms/podspecTransforms.ts (Results 1 – 14 of 14)
Revision Date Author Comments
# 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)