google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.74k stars 6.03k forks source link

Support gradle composite builds for local checkouts #10593

Open sailesha opened 2 years ago

sailesha commented 2 years ago

For local ExoPlayer checkouts, the current approach is to include the relevant projects directly. For example: apply from: file("path/to/exoplayer/core_settings.gradle") and then implementation project(':exoplayer-library-core')

The downside of this approach is that it makes it tricky to swap between the prebuilt binary dependency and the local checkout.

A better solution would be to support composite builds. See https://docs.gradle.org/current/userguide/composite_builds.html

With this approach, the dependencies are automatically substituted as necessary. The syntax is: includeBuild "path/to/exoplayer"

Gradle automatically substitutes prebuilt library dependencies with the local checkout projects.

icbaker commented 2 years ago

This does sound good - would you be interested in sending a PR switching to it? (it would actually be great to send it to the main branch of the androidx/media GitHub project instead of this one, it will be easier for us to merge (and it will get pushed back out to here, the two repos are kept roughly in sync with each other)).