fix(bgp): publish embedded community libraries' dependencies on Expo - #477
Open
KisaneNeko wants to merge 1 commit into
Open
KisaneNeko wants to merge 1 commit into
KisaneNeko wants to merge 1 commit into
Conversation
KisaneNeko
force-pushed
the
fix/bgp-expo-community-library-deps
branch
from
September 29, 2026 11:05
16b4cdf to
21c0b22
Compare
KisaneNeko
force-pushed
the
fix/bgp-expo-community-library-deps
branch
from
September 29, 2026 12:17
21c0b22 to
6bcc0ab
Compare
On Expo projects only Expo modules were scanned for transitive dependencies. Community libraries (react-native-screens, lottie-react-native, Brownie...) were packed into the AAR but their dependencies were left off the POM, so host apps built fine and then crashed with NoClassDefFoundError at runtime. Run the embedded-library discoverer on Expo too; the existing hard-exclude filter keeps Expo coordinates out of the POM. ExpoApp57 now renders lottie-react-native, whose Android dependency the AndroidApp host doesn't otherwise have, so the existing E2E tests fail if it is missing from the POM again.
KisaneNeko
force-pushed
the
fix/bgp-expo-community-library-deps
branch
from
September 30, 2026 12:57
6bcc0ab to
89b523a
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Expo projects the plugin only scanned Expo modules for transitive dependencies. Community libraries (react-native-screens, lottie-react-native, our Brownie, ...) are packed into the AAR too, but their own Android dependencies were left off the POM. The host app builds fine and then crashes with
NoClassDefFoundErrorwhen that code runs. Bare RN projects were not affected.The embedded-library discoverer now runs on Expo too (same
experimentalIncludeTransitiveDependenciesflag as bare RN). The existing hard-exclude filter keeps Expo coordinates out of the POM. Also fixed the troubleshooting sentence that said Expo handles this unconditionally.ExpoApp57 now renders a tiny
lottie-react-nativeanimation. Its Android dependency (com.airbnb.android:lottie) isn't otherwise in the AndroidApp host, so the existing Expo E2E tests fail if it goes missing from the POM again.Tested locally on 31c3939 (main is currently red for Expo 57 / vanilla Android because of #448, fixed by #475), AndroidApp expo57 Detox suite:
NoClassDefFoundError: Failed resolution of: Lcom/airbnb/lottie/LottieAnimationView;.lottieis in the POM, 2/2 pass. Vanilla POM unchanged.Android CI here needs #475 first.
🤖 Generated with Claude Code