History log of /expo/apps/bare-expo/scripts/setup-android-project.sh (Results 1 – 9 of 9)
Revision Date Author Comments
# 40881091 25-Apr-2023 Kudo Chien <[email protected]>

[bare-expo] use android espresso for test-suite ci testing (#22214)

# Why

our android test-suite ci testing is flaky. most of time coming from detox hardcoded 45s timeout to install apk

# How

[bare-expo] use android espresso for test-suite ci testing (#22214)

# Why

our android test-suite ci testing is flaky. most of time coming from detox hardcoded 45s timeout to install apk

# How

use android espresso rather than detox. detox will still work for reference.

# Test Plan

ci passed

show more ...


# 2fd75d6d 25-Jul-2022 Kudo Chien <[email protected]>

Deprecate source-login-scripts.sh (#18330)

# Why

the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other tha

Deprecate source-login-scripts.sh (#18330)

# Why

the `source-login-scripts.sh` introduced a lot of pain where the community reported much build errors from it. it doesn't support shells other than zsh and bash. this pr find a new way to deal with xcode building issues that it cannot find the correct nodejs path.

close ENG-4864
close ENG-5242

# How

react-native introduces `.xcode.env` and `.xcode.env.local` for developers to override the `$NODE_BINARY`: https://github.com/facebook/react-native/pull/33546

to make sure building success from expo-constants, expo-updates, and also the app target when generating bundles. i would like to reuse the `.xcode.env` and `.xcode.env.local` from react-native. this pr further generates `.xcode.env.local` automatically for the app during `pod install`. we can ensure that `pod install` is executed from shell and nodejs is available. so we will generate `export NODE_BINARY="$(command -v node)"` in the `.xcode.env.local`. for xcode, the path will be `$PODS_ROOT/../.xcode.env.local`, every xcode subprojects can source the file to get correct `$NODE_BINARY`.

# Test Plan

- building bare-expo from xcode (opening xcode by macos finder)
- building bare-expo by `yarn ios`
- updates e2e ci passed
- building expo-go (prerequisite: #18344)

Co-authored-by: James Ide <[email protected]>

show more ...


# 6f2f5db8 11-Jan-2022 Kudo Chien <[email protected]>

[bare-expo] Use official react-native (#15817)

# Why

from sdk 43, we've tried to use official react-native in our bare template. that would be good if we do this also in bare-expo and our tests w

[bare-expo] Use official react-native (#15817)

# Why

from sdk 43, we've tried to use official react-native in our bare template. that would be good if we do this also in bare-expo and our tests will be more like a real app which user would have. this change will also reduce android CI time because we don't need to build react-native AAR. (test-suite android from about 30m -> 23m)

close ENG-2234


# How

- remove `react-native-lab/react-native` from yarn workspace
- remove building android AAR from our fork
- remove dev-menu and async-storage code because our forked react-native removed the registration.

the only purpose of `react-native-lab/react-native` is for expo-go versioned code after this pr.

# Test Plan

- CI green
- `et remove-sdk -p {android,ios} -s 44.0.0 ; et add-sdk -p {android,ios} -s 44.0.0` and check versioning right

show more ...


# f1f866e8 10-Nov-2021 Łukasz Kosmaty <[email protected]>

[bare-expo] Make Gradle faster (#15120)

# Why

Makes Gradle a little bit faster in the `bare-expo` project.

# How

- Combined `GenerateDynamicMacrosPlugin` and `ExecuteSetupAndroidProject` in

[bare-expo] Make Gradle faster (#15120)

# Why

Makes Gradle a little bit faster in the `bare-expo` project.

# How

- Combined `GenerateDynamicMacrosPlugin` and `ExecuteSetupAndroidProject` into one plugin.
- Allowed Gradle to run in parallel.
- Allowed Gradle to use file watchers to speed up the compilation.
- Exclude some unneeded operations from the generating dynamic macros command.
- Changed how `setup-android-project.sh` detect RN version.

You can check https://proandroiddev.com/how-we-reduced-our-gradle-build-times-by-over-80-51f2b6d6b05b to get more information about some of the optimizations I made.

# Test Plan

Made several tests involving clean and incremental builds.
The biggest gain is in the clean builds - there are two times faster. The incremental builds are also faster, but here the difference is more subtle. We can save about from 4 to 8 seconds. It is not a lot, but still an improvement.

show more ...


# 45471a91 26-May-2020 Stanisław Chmiela <[email protected]>

[bare-expo] Do not rebuild react-native every time (#8484)

# Why

Noticed that every time Gradle configured `bare-expo` project it rebuilt the `ReactAndroid`. Not that it took a lot of time (3s),

[bare-expo] Do not rebuild react-native every time (#8484)

# Why

Noticed that every time Gradle configured `bare-expo` project it rebuilt the `ReactAndroid`. Not that it took a lot of time (3s), but I knew I had it already prebuilt.

# How

Noticed that the path used to check if RN is prebuilt is wrong.

# Test Plan

Configuring project now prints

```
✅ React Android is installed
```

as expected.

show more ...


# 996ca81c 25-May-2020 Stanisław Chmiela <[email protected]>

[bare-expo] Gracefully handle new RN versions when setting up RN project (#8468)

# Why

While upgrading React Native I noticed that the script thinks that proper version of RN is built (while it w

[bare-expo] Gracefully handle new RN versions when setting up RN project (#8468)

# Why

While upgrading React Native I noticed that the script thinks that proper version of RN is built (while it was not). It was due to too loose `if` checking if there is **any version** of RN built, not the one we need.

# How

Devised a magic command extracting expected version of RN and fixed the `if`.

# Test Plan

On RN 0.62 branch running the script built new version of React Native once.

show more ...


# c45fb1e3 21-Nov-2019 Stanisław Chmiela <[email protected]>

[bare-expo] Simplify setup (#6336)

# Why

Follow up to https://github.com/expo/expo/pull/6200#discussion_r346079801.

> The script I linked to runs when you run the Yarn scripts in bare-expo. **

[bare-expo] Simplify setup (#6336)

# Why

Follow up to https://github.com/expo/expo/pull/6200#discussion_r346079801.

> The script I linked to runs when you run the Yarn scripts in bare-expo. **We could add it to the bare-expo Gradle file so that it always runs when you try to build the Android app.**

# How

- added copying of `local.properties` to `react-native-lab`
- added `setup-android-project.sh` to run when syncing `bare-expo` project

# Test Plan

I use `local.properties` for `sdk.dir` and `ndk.dir` management, so I needed to copy `local.properties` manually for `ReactAndroid` in `react-native-lab` to build. To test my changes I:
- ran `git clean -fxd .` in `react-native-lab/react-native`
- opened the `bare-expo` Android project

It synced properly, rebuilding `ReactAndroid` while doing so.

show more ...


# 256a081e 20-Nov-2019 Stanisław Chmiela <[email protected]>

[bare-expo] Fix setup-android-project


# 0bcb289d 24-Oct-2019 Evan Bacon <[email protected]>

Split platform scripts (#6078)