zulip / zulip-mobile

Zulip mobile apps for Android and iOS.
https://zulip.com/apps/
Apache License 2.0
1.3k stars 655 forks source link

Android build fails, at `me.relex:photodraweeview` #5888

Closed gnprice closed 2 months ago

gnprice commented 2 months ago

Building the app for Android now fails because a dependency is missing: me.relex:photodraweeview:1.1.3, which seems to be used by react-native-photo-view.

From a recent CI run on #5887, which happened to come along yesterday:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find me.relex:photodraweeview:1.1.3.
     Searched in the following locations:
       - file:/home/runner/work/zulip-mobile/zulip-mobile/node_modules/jsc-android/dist/me/relex/photodraweeview/1.1.3/photodraweeview-1.1.3.pom
       - https://repo.maven.apache.org/maven2/me/relex/photodraweeview/1.1.3/photodraweeview-1.1.3.pom
       - https://dl.google.com/dl/android/maven2/me/relex/photodraweeview/1.1.3/photodraweeview-1.1.3.pom
       - https://jcenter.bintray.com/me/relex/photodraweeview/1.1.3/photodraweeview-1.1.3.pom
     Required by:
         project :app > project :react-native-photo-view

When I try tools/gradle :app:assembleDebug locally, I get a slightly different message with the same gist:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':react-native-photo-view:generateDebugRFile'.
> Could not resolve all files for configuration ':react-native-photo-view:debugCompileClasspath'.
   > Could not find me.relex:photodraweeview:1.1.3.
     Required by:
         project :react-native-photo-view

I haven't yet investigated. Sounds like this dependency — maybe just that version of it, which is likely a few years old and may be outdated — may have been removed from wherever it had been hosted on the Internet.

We should debug this and resolve it so as to maintain our ability to promptly make a new release when needed.