Skip to content

merge/sync Android Support Library buck dependencies of OSS and FB version #21307

Closed
@dulmandakh

Description

@dulmandakh

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:

  1. Remove version number from the path or rename support-26.1 -> support
  2. Export FB Android Support Library buck files to GitHub. I expect no breakage because RN OSS don't depend on it
  3. Change RN OSS to depend on newly exported Android Support Library
  4. Drop current Android Support Library from RN OSS.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions