| #
71ea6032 |
| 22-Jun-2023 |
Kudo Chien <[email protected]> |
[android][tools] fix expo go versioning issues on android (#22950)
# Why
fix expo-go android versioning for sdk 49
close ENG-8955
# How
- [tools] fix for react-native monorepo changes
- [
[android][tools] fix expo go versioning issues on android (#22950)
# Why
fix expo-go android versioning for sdk 49
close ENG-8955
# How
- [tools] fix for react-native monorepo changes
- [tools] update manifest-merger because the original one doesn't support java 17. since the new manifest-merger has kotlin runtime and the jar takes about 35MB. rather than committing a prebuilt jar, now we build manifest-merger from source.
- [tools] since #22609 we don't have `package` in libraries' AndroidManifest.xml, the manifest-merger still requires the `package`, so we have to temporarily put the `package` back during manifest merging. (the `package` name is generated from `namespace` in build.gradle)
- [tools] the original jarjar uses outdated [ASM](https://asm.ow2.io/) and it doesn't support bytecode generated by kotlin. react-native now has some kotlin code, and the original jarjar cannot transform package name from those kotlin classes. i've tried to rebuild a jarjar from [this revision](https://github.com/google/jarjar/commit/e11d5636aa45664271c8f1603067527b2520f591). this requires some manual steps like updating ASM libs and install ant builder. so i still commit the prebuilt jarjar in this pr.
- [updates] force casting for `UpdateEntity` to deal with kotlin smart casting from versioned to unversioned kernel class. (i'll leave inline comment for this)
- [expo-modules-core's `android-annotation`] the project stays in a place that does not support versioning yet. in this pr i just keep it as an unversionable project. cc @lukmccall
# Test Plan
`et add-sdk -p android -s 49.0.0` + android versioned expo-go + sdk 49 NCL smoke test
show more ...
|
| #
ab11e3c9 |
| 06-Feb-2023 |
Kudo Chien <[email protected]> |
[android][tools] add sdk 48 versioned code (#21076)
# Why
add android sdk 48 versioned code
# How
- `et add-sdk -p android -s 48.0.0`
- there is a big problem for versioning this time wher
[android][tools] add sdk 48 versioned code (#21076)
# Why
add android sdk 48 versioned code
# How
- `et add-sdk -p android -s 48.0.0`
- there is a big problem for versioning this time where versioned aar size is from ~17MB to ~131MB because of prefab, so it's not able to commit to git. this pr proposes to upload versioned aar to github and having an `et android-download-versioned-aars` to download aars before gradle building.
# Test Plan
- sdk 48 android versioned expo go + sdk 48 ncl smoking test
- ci passed
show more ...
|
| #
6239b2d0 |
| 21-Oct-2022 |
Kudo Chien <[email protected]> |
[tools] Update android versioning script for sdk 47 (#19518)
# Why
update android versioning script for sdk 47
# How
- [android] update gradle wrapper version to 7.5.1, which aligned with r
[tools] Update android versioning script for sdk 47 (#19518)
# Why
update android versioning script for sdk 47
# How
- [android] update gradle wrapper version to 7.5.1, which aligned with react-native 0.70
- [localization] fix compileSdkVersion 33 build error
- [tools] update versioning script
- remove `renameHermesEngine` which is deprecated patchelf based hermes versioning
- replace duplicated runReactNativeCodegenAndroidAsync with `Codegen.runReactNativeCodegenAsync`
- update versioning script to support building in-place from react-native-lab
- update for react-native 0.70
- update versionCxx for expo-modules-core
- support other new style vendoring modules
- @react-native-community/slider
- react-native-gesture-handler (with cxx files but they're only for new architecture)
- react-native-screens (with cxx files but they're only for new architecture)
- react-native-svg
- react-native-reanimated (with cxx files)
- remove old reanimated versioning scripts
# Test Plan
```
$ et add-sdk -p android -s 47.0.0
$ cd android && ./gradlew :app:installVersionedDebug
# smoke test on sdk 47 NCL
```
show more ...
|
| #
1833af43 |
| 06-Jul-2022 |
Kudo Chien <[email protected]> |
[android] Add @shopify/react-native-skia vendoring support for Expo Go (#17964)
# Why
like #17704 but for android
close ENG-4889
# How
- introduce vendor modules autolinking for expo go.
[android] Add @shopify/react-native-skia vendoring support for Expo Go (#17964)
# Why
like #17704 but for android
close ENG-4889
# How
- introduce vendor modules autolinking for expo go.
previously, reanimated is the only vendor module having cxx code, we had a fixed versioning script for reanimated. because react-native-skia also has cxx code, i'm trying to keep the versioning more modularized and like what we did for ios versioning. ideally, a vendor module should have a dedicated gradle project. that's why i introduced a vendor module autolinking here.
- vendoring tool: add react-native-skia support
- versioning tool: trying to add a minimum support for new style versioning like ios.
currently, after transforming the code, i still prebuild the *.so to `jniLibs`. in the future when we commit `android/versioned-react-native/ABI46_0_0` to git, we can always build the versioned *.so from source.
# Test Plan
- android unversioned expo go + NCL skia
- android versioned expo go + NCL skia
Co-authored-by: Tomasz Sapeta <[email protected]>
show more ...
|
| #
f194f574 |
| 05-Jul-2022 |
Wojciech Kozyra <[email protected]> |
[versioning][android] Support react-native 69 (#18032)
* [skip ci] suppoort rn69
* version expo-modules-core
* review feedback + small cleanup
|
| #
66057438 |
| 27-Jun-2022 |
Wojciech Kozyra <[email protected]> |
[versioning][android] rewrite expo modules versioning to ts (#17939)
* [versioning][android] rewrite expo modules versioning to ts
* review feedback
|
| #
23e91912 |
| 22-Jun-2022 |
Wojciech Kozyra <[email protected]> |
[versioning][android] rewrite expoview versioning to ts (#17931)
* [versioning][android] rewrite expoview versioning
* review feedback + move stuff around
|
| #
f5c5805e |
| 16-Apr-2022 |
Kudo Chien <[email protected]> |
[tools][android] versioning expo-av for the cxx shared library (#16959)
# Why
expo-av added a cxx shared library for the JSI audio and our versioning tool doesn't support expo modules with cxx be
[tools][android] versioning expo-av for the cxx shared library (#16959)
# Why
expo-av added a cxx shared library for the JSI audio and our versioning tool doesn't support expo modules with cxx before.
# How
this pr added a patch-based versioning script. the solution is not generic because so far every expo-module cxx building may be slightly different. every cxx expo-module should add a corresponding patch file for prebuilding shared libraries.
# Test Plan
`et add-sdk -p android -s 45.0.0` + `versioned android expo go` + sdk 45 NCL
Co-authored-by: Bartłomiej Bukowski <[email protected]>
show more ...
|
| #
6cd58727 |
| 15-Apr-2022 |
Wojciech Kozyra <[email protected]> |
[android] fix versioning on linux (#17074)
|
| #
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 ...
|
| #
27eae4dd |
| 22-Sep-2021 |
Kudo Chien <[email protected]> |
[tools] fix android versioning (#14489)
# Why
support sdk 43 versioning for android client
# How
- should copy `ReactCommon` and `ReactAndroid` from `android/` folder into `android/versione
[tools] fix android versioning (#14489)
# Why
support sdk 43 versioning for android client
# How
- should copy `ReactCommon` and `ReactAndroid` from `android/` folder into `android/versioned-react-native/` where with our transformed code
- update `android-packages-to-keep.txt`
- fix some broken transformation after kotlinization
- fix some broken imports which should be kept
- introduce `// EXPO_VERSIONING_NEEDS_EXPOVIEW_R` that will be transformed as `import abi43_0_0.host.exp.expoview.R`
# Test Plan
```sh
$ et add-sdk -p android -s 43.0.0
$ cd android && ./gradlew :app:assembleVersionedRelease
```
show more ...
|
| #
12db4111 |
| 10-Sep-2021 |
Charlie Cruzan <[email protected]> |
Remove expo-payments-stripe (#14382)
* rm -rf packages/expo-payments-stripe
* delete ABI code for expo-payments-stripe
* docs, changelog, and codeowner
* remove from ios, android, NCL, bare
Remove expo-payments-stripe (#14382)
* rm -rf packages/expo-payments-stripe
* delete ABI code for expo-payments-stripe
* docs, changelog, and codeowner
* remove from ios, android, NCL, bare-expo, and test-suite
* remove stripe-specific things from template-files
* remove EXPaymentsStripe-specific handling from versioning scripts
* remove last reference on android
* docs feedback
* Update CHANGELOG.md
Co-authored-by: Expo CI <[email protected]>
Co-authored-by: Expo CI <[email protected]>
show more ...
|
| #
b5127423 |
| 07-Sep-2021 |
Łukasz Kosmaty <[email protected]> |
[et] Fix `remove-sdk-version` (can't find TestSuiteTests.java) (#14322)
# Why
Fixes `remove-sdk-version`
# Test Plan
- run `et remove-sdk-version` -p android
|
| #
7ec40459 |
| 21-Aug-2021 |
Kudo Chien <[email protected]> |
[tools] versioning libhermes.so soname for android (#13918)
# Why
for expo-go to load different hermes-engine version, versioning libhermes.so on filename is not enough, we should further update
[tools] versioning libhermes.so soname for android (#13918)
# Why
for expo-go to load different hermes-engine version, versioning libhermes.so on filename is not enough, we should further update the `soname`. otherwise, android will use loaded soname directly.
# How
use [patchelf](https://github.com/NixOS/patchelf) to update soname in versioning stage.
# Test Plan
based on #13793 and this change, re-generate sdk-42 aar and build versioned android expo-go. load these two projects without close activity
- load [sdk42 hermes bundle](https://expo.dev/@kudochien/sdk42) which hbc version is 74
- load local unversioned hermes project based on react-native 0.64 (hermes-engine 0.7.2) which hbc version is 76
before the change, expo-go will crash.
after the change, expo-go could load both two projects without problems.
show more ...
|
| #
978fc17b |
| 13-Aug-2021 |
Kudo Chien <[email protected]> |
[tools] Fix android versioning after rn 0.64 upgrade (#14013)
# Why
android versioning tool breaks after react-native 0.64 upgrade
# How
1. support codegen and the strategy aligned with ios
[tools] Fix android versioning after rn 0.64 upgrade (#14013)
# Why
android versioning tool breaks after react-native 0.64 upgrade
# How
1. support codegen and the strategy aligned with ios versioning in #13972:
run codegen before versioning and disable react-native's build time codegen.
2. support `Android-prebuilt.mk` versioning and update some new libraries to be included in versioning.
3. fix some expo-module error.
4. remove broken `expo-payments-stripe` transformation which expectedly to be remove from sdk43.
# Test Plan
`et add-sdk -p android -s 43.0.0` without errors.
after that i also testing the expo-go building which the errors are from some expo-modules updates, will not cover this in this pr.
show more ...
|
| #
a2ffa225 |
| 22-Jun-2021 |
Bartłomiej Klocek <[email protected]> |
[android] Split Expo Go to unversioned and versioned flavors (#12917)
* Add versioning flavors
Extract `flavors.gradle` and fix versioned
* Update manifest based on flavors
* Update fastlan
[android] Split Expo Go to unversioned and versioned flavors (#12917)
* Add versioning flavors
Extract `flavors.gradle` and fix versioned
* Update manifest based on flavors
* Update fastlane build
* Unflavor versioned code
* Update CI to use flavors
* Set default flavor
* Update guides
* Update expotools versioning code
[skip ci]
* [wip] remove flavors from shellapps
* Shell app fallback to `versioned`
* Fix et paths
* Bump `@expo/xdl` in `expotools`
[skip ci]
* Missing uncommitted changes
[skip ci] -expotools yarn.lock, shell app fixes
* Rebase fixes
* Update "Developing Expo Go" guide
[skip ci]
show more ...
|
| #
f99aa2d1 |
| 18-Jun-2021 |
andy <[email protected]> |
[android] fix android versioning prompt (#13345)
|
| #
af20b772 |
| 15-Jun-2021 |
Kudo Chien <[email protected]> |
[android] Add Hermes support for Expo Go (#13238)
|
| #
754e4f0e |
| 04-Jun-2021 |
Łukasz Kosmaty <[email protected]> |
[tools] Add CMake support to the versioning script (#13160)
|
| #
8360ad3d |
| 11-Jan-2021 |
Tomasz Sapeta <[email protected]> |
[tools] Fix linter errors in versioning scripts
|
| #
eeffdb10 |
| 21-Dec-2020 |
Tomasz Sapeta <[email protected]> |
[tools] Move tools/expotools one folder up (#11410)
|