Description
I got suspicion that RN OSS and FB might have different dependencies (maybe versions) or buck setup, when I was investigating issues related to merging #19768. The change passed all tests on my local machine and Circle CI, but not internal FB test.
Asked help from @TheSavior with investigation and share output from 'buck audit classpath ReactAndroid/src/main/java/com/facebook/react/views/picker' command and below is the relevant snippet
third-party/android/support-26.1/__core-common__/common-1.1.1.jar
third-party/android/support-26.1/__lifecycle-common__/common-1.1.1.jar
third-party/android/support-26.1/__support-annotations__/support-annotations-26.1.0.jar
third-party/android/support-26.1/__support-core-utils#aar_prebuilt_jar__/classes.jar
third-party/android/support-26.1/__support-vector-drawable#aar_prebuilt_jar__/classes.jar
third-party/android/support-26.1/lib__appcompat-v7__output/appcompat-v7.jar
third-party/android/support-26.1/lib__runtime__output/runtime.jar
third-party/android/support-26.1/lib__support-compat__output/support-compat.jar
third-party/android/support-26.1/lib__support-core-ui__output/support-core-ui.jar
third-party/android/support-26.1/lib__support-fragment__output/support-fragment.jar
third-party/android/support-26.1/lib__support-media-compat__output/support-media-compat.jar
While below is output from RN OSS
third-party/android/support/v4/__android-lifecycle-common__/android-lifecycle-common.jar
third-party/android/support/v4/__android-lifecycle-core__/android-lifecycle-core.jar
third-party/android/support/v4/__android-lifecycle-runtime#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__android-lifecycle-viewmodel#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__lib-support-v4-support-compat#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__lib-support-v4-support-core-ui#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__lib-support-v4-support-core-utils#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__lib-support-v4-support-fragment#aar_prebuilt_jar__/classes.jar
third-party/android/support/v4/__lib-support-v4-support-media-compat#aar_prebuilt_jar__/classes.jar
third-party/android/support/v7/appcompat-orig/__classes-for-react-native__/classes.jar
third-party/android/support-annotations/__android-support-annotations__/support-annotations-binary.jar
And it shows that we have different buck configuration for Android Support Library, which might be cause of failure from #19768, many others in the future.
I would like to ask to merge/sync Android Support Library dependencies between RN OSS and FB if possible, so have less difference and make contributions easier or flow smoothly.
Here is my action plan proposal:
- Remove version number from the path or rename support-26.1 -> support
- Export FB Android Support Library buck files to GitHub. I expect no breakage because RN OSS don't depend on it
- Change RN OSS to depend on newly exported Android Support Library
- Drop current Android Support Library from RN OSS.