Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: Upgrade to Expo SDK 45 #5507

Merged
merged 7 commits into from
Nov 23, 2022
Merged

deps: Upgrade to Expo SDK 45 #5507

merged 7 commits into from
Nov 23, 2022

Commits on Nov 23, 2022

  1. android build: Upgrade Gradle to 7.0.2

    Done to follow the template-app change in
    facebook/react-native@13107fa3d. (Which it looks like RN actually
    intended to make in facebook/react-native@85249cafe but forgot;
    that's not important, I think.)
    
    We didn't take facebook/react-native@13107fa3d on the path to the RN
    v0.67 upgrade because of a blocker that was resolved with the Expo
    44 upgrade in expo/expo@3edc37ae4. For details, expand the
    `expo-screen-orientation` block in
      zulip#5203 (comment)
    and see the comment on the `Installing ExpoModulesCore 0.6.4` output
    from `pod install`.
    
    Done by following the "How to upgrade Gradle" instructions at the
    top of gradle-wrapper.properties. The result matched the
    template-app commit except for upstream's line endings got messed
    with because they didn't have Git set up properly to keep them
    consistent:
      zulip#5426 (comment) .
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    cfd3800 View commit details
    Browse the repository at this point in the history
  2. android build: Upgrade Gradle to 7.2

    Done to follow the template-app change in
    facebook/react-native@9ae336743. That commit was released with RN
    v0.67, but we didn't take it on the path to that upgrade; see
    previous commit for details.
    
    Done by following the "How to upgrade Gradle" instructions at the
    top of gradle-wrapper.properties. This made a bunch of changes that
    didn't make it into the RN template-app commit. It looks like the
    template app caught up with those when it bumped to 7.3, in
    facebook/react-native@c180627ac.
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    913673a View commit details
    Browse the repository at this point in the history
  3. android build: Upgrade Gradle to 7.3

    Done to follow the template-app change in
    facebook/react-native@c180627ac, on the path to the RN v0.68
    upgrade.
    
    Done by following the "How to upgrade Gradle" instructions at the
    top of gradle-wrapper.properties. The template-app commit makes a
    bunch of changes that look like the ones Gradle wanted to make in
    the 7.2 bump, so it's probably just belatedly catching up with
    those. See previous commit.
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    40adbc1 View commit details
    Browse the repository at this point in the history
  4. deps: Bump react-native-photo-view to (still) unreleased commit, for …

    …AGP 7
    
    Before this change, we were pointing Yarn to a commit from 2018 on
    this repo's `master` branch, since a new release with the commit
    hadn't been made to NPM in a reasonable time. (It still hasn't.)
    
    Now, just bump to this project's current `master`, which is three
    commits ahead of that commit:
      https://github.com/alwx/react-native-photo-view/commits/master
    
    In particular, we want alwx/react-native-photo-view@ef532a348, which
    has the project's build.gradle stop using the `compile` dependency
    configuration in favor of `implementation`. The former has long been
    deprecated, and is an error with AGP 7, which we'd like to use soon:
      https://developer.android.com/studio/releases/gradle-plugin#dependency-configurations-removed
    
    We'd still like to stop using this library since it's almost totally
    unmaintained; that's zulip#4217.
    
    Anyway, I tested on my iPhone 13 Pro running iOS 15.6, and on the
    office Android device (Samsung Galaxy S9 running Android 9), and I
    didn't notice any change in behavior of the lightbox.
    
    Regarding the `jcenter` exception for `photodraweeview` (see
    android/build.gradle in this commit), I tried removing the exception
    entirely, hoping that 1.1.3 might be available in the non-jcenter
    repos consulted by the build, even though 1.0.0 was not. But no, I
    again got an error that `photodraweeview` could not be found, so it
    looks like we still need to make an exception. See discussion of
    some further findings:
      zulip#5507 (comment)
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    0034ae3 View commit details
    Browse the repository at this point in the history
  5. android build: Upgrade Android Gradle Plugin to v7.0.1

    Done to follow the template-app change in
    facebook/react-native@272cfe5d1, on the path to the RN v0.68
    upgrade.
    
    Here's the release-notes page for 7.0.0, with a note about 7.0.1:
      https://developer.android.com/studio/releases/gradle-plugin#7-0-0
    
    Fixes: zulip#5377
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    56a78de View commit details
    Browse the repository at this point in the history
  6. dev deps: Upgrade expo-cli to 6.0.5, the latest

    We take this major version bump just before trying the Expo 45
    upgrade, because the upgrade guide says "Update to the latest
    version of Expo CLI":
      https://blog.expo.dev/expo-sdk-45-f4e332954a68
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    9f17d07 View commit details
    Browse the repository at this point in the history
  7. deps: Upgrade to Expo SDK 45

    Following the "Bare workflow" instructions for upgrading:
      https://blog.expo.dev/expo-sdk-45-f4e332954a68#5954
    
    As with the last one, 44 in 3edc37a, the `expo upgrade` command
    went through a phase it described as "Updating packages to
    compatible versions (where known)," and that changed several of our
    dependency ranges, even of non-Expo things. (For speculation on what
    that phase is about, see 3edc37a.)
    
    We rejected version-range changes to these libraries that would have
    resulted in downgrades to the libraries' resolved versions:
    
    - react-native-safe-area-context from 4.3.1 to 4.2.4
    - react-native-screens from 3.13.1 to 3.11.1
    - react-native-webview from 11.22.2 to 11.18.1
    
    We rejected upgrades to @react-native-community/netinfo and
    react-native-reanimated for the reasons we gave in the Expo 44
    upgrade; see those at
      zulip#5441 (comment) .
    
    And we rejected bumping react-native from 0.67.4 to 0.68.2, with
    optimism that we can get this Expo upgrade done before that RN
    upgrade, which is zulip#5344.
    
    We took the rest.
    
    For the step
    
    > Update your `App.Delegate.mm` (you should have moved from .m to
    > .mm in the previous step) according to this diff
    
    , we found that we'd already taken some of those changes when Expo
    backported them to the Expo 44 template app. Others, like the .m to
    .mm rename, we'd like to postpone until we do the RN 68 upgrade. A
    full audit of Expo's template-app commits from 44 to 45 found no
    changes we'd be interested in applying, except some related to RN 68
    that we'd like to do with that upgrade; I've mentioned those on our
    RN 68 upgrade issue. See:
      zulip#5507 (comment)
    
    I tested basic functionality on my iPhone 13 Pro running iOS 15.6,
    and on the office Android device, a Samsung Galaxy S9 running
    Android 9. I didn't see any problems with building or running.
    chrisbobbe authored and gnprice committed Nov 23, 2022
    Configuration menu
    Copy the full SHA
    47b7ead View commit details
    Browse the repository at this point in the history