If an app sets a compileSdkVersion that is lower than the one used to
create AARs of its dependencies, the build process may produce invalid
outputs, for example by stripping methods from the APK that are only
called when the app is running on a new API version.
To avoid this issue, we can enforce that the compileSdk of apps or
libraries depending on ExoPlayer/Media3 is at least the same as the
one we used for compilation when creating the AAR.
Issue: google/ExoPlayer#10684
PiperOrigin-RevId: 485100067
This means it gets pulled in when apps depend on ExoPlayer locally:
https://github.com/google/ExoPlayer/blob/release-v2/README.md#locally
This resolves the missing snapshot error that people see currently,
because the existing repository config is in the top-level ExoPlayer
build.gradle file which isn't executed when depending on ExoPlayer
locally.
Issue: #8332
Issue: #7932
PiperOrigin-RevId: 347245078
Including ExoPlayer via relative paths currently breaks the import
logic of the common library settings file because it's referenced
from different directories. Fix this by resolving the setting path
to its canonical name.
Issue: #7554
PiperOrigin-RevId: 319043560
This removes a lot of duplication from the module configuration,
avoids divergence, and makes sure that only the important differences
to the default are visible in each module file.
PiperOrigin-RevId: 318024823