Skip to content

Commit

Permalink
Update dependencies to latest versions
Browse files Browse the repository at this point in the history
The only dependencies that are not updated are the ones that need
to be kept in sync with other system (like Android source tree) or
would require a Kotlin dependency in common or exoplayer modules.

As a side effect, some demo apps now need a Kotlin config and some
additional modules require desugaring/multidex logic. To simplify
the setup, the desugaring and multidex steps are added to the common
config.

PiperOrigin-RevId: 527243950
  • Loading branch information
tonihei authored and icbaker committed Apr 26, 2023
1 parent d8cf444 commit 889f435
Show file tree
Hide file tree
Showing 17 changed files with 31 additions and 64 deletions.
7 changes: 7 additions & 0 deletions common_library_config.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ android {
aarMetadata {
minCompileSdk = project.ext.compileSdkVersion
}
multiDexEnabled true
}

compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Expand All @@ -39,3 +41,8 @@ android {
unitTests.includeAndroidResources true
}
}

dependencies {
implementation 'androidx.multidex:multidex:' + androidxMultidexVersion
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
}
37 changes: 20 additions & 17 deletions constants.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -29,34 +29,37 @@ project.ext {
// https://cs.android.com/android/platform/superproject/+/master:external/guava/METADATA
guavaVersion = '31.1-android'
mockitoVersion = '3.12.4'
robolectricVersion = '4.8.1'
robolectricVersion = '4.10'
// Keep this in sync with Google's internal Checker Framework version.
checkerframeworkVersion = '3.13.0'
checkerframeworkCompatVersion = '2.5.5'
errorProneVersion = '2.10.0'
errorProneVersion = '2.18.0'
jsr305Version = '3.0.2'
kotlinAnnotationsVersion = '1.5.31'
kotlinAnnotationsVersion = '1.8.20'
// Updating this to 1.4.0+ will import Kotlin stdlib [internal ref: b/277891049].
androidxAnnotationVersion = '1.3.0'
// Updating this to 1.3.0+ will import Kotlin stdlib [internal ref: b/277891049].
androidxAnnotationExperimentalVersion = '1.2.0'
androidxAppCompatVersion = '1.3.1'
androidxCollectionVersion = '1.1.0'
androidxConstraintLayoutVersion = '2.0.4'
androidxCoreVersion = '1.7.0'
androidxAppCompatVersion = '1.6.1'
androidxCollectionVersion = '1.2.0'
androidxConstraintLayoutVersion = '2.1.4'
// Updating this to 1.9.0+ will import Kotlin stdlib [internal ref: b/277891049].
androidxCoreVersion = '1.8.0'
androidxFuturesVersion = '1.1.0'
androidxMediaVersion = '1.6.0'
androidxMedia2Version = '1.2.0'
androidxMedia2Version = '1.2.1'
androidxMultidexVersion = '2.0.1'
androidxRecyclerViewVersion = '1.2.1'
androidxMaterialVersion = '1.4.0'
androidxTestCoreVersion = '1.4.0'
androidxTestJUnitVersion = '1.1.3'
androidxTestRunnerVersion = '1.4.0'
androidxTestRulesVersion = '1.4.0'
androidxTestServicesStorageVersion = '1.4.0'
androidxTestTruthVersion = '1.4.0'
androidxRecyclerViewVersion = '1.3.0'
androidxMaterialVersion = '1.8.0'
androidxTestCoreVersion = '1.5.0'
androidxTestJUnitVersion = '1.1.5'
androidxTestRunnerVersion = '1.5.2'
androidxTestRulesVersion = '1.5.0'
androidxTestServicesStorageVersion = '1.4.2'
androidxTestTruthVersion = '1.5.0'
androidxWindowVersion = '1.0.0'
truthVersion = '1.1.3'
okhttpVersion = '4.9.2'
okhttpVersion = '4.11.0'
modulePrefix = ':'
if (gradle.ext.has('androidxMediaModulePrefix')) {
modulePrefix += gradle.ext.androidxMediaModulePrefix
Expand Down
1 change: 1 addition & 0 deletions demos/main/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@

apply from: '../../constants.gradle'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
compileSdkVersion project.ext.compileSdkVersion
Expand Down
5 changes: 0 additions & 5 deletions libraries/datasource/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
multiDexEnabled true
}

buildTypes {
debug {
testCoverageEnabled = true
Expand All @@ -39,7 +35,6 @@ dependencies {
compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion
androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion
Expand Down
9 changes: 1 addition & 8 deletions libraries/datasource_cronet/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,6 @@
// limitations under the License.
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
multiDexEnabled true
}
}

dependencies {
api "com.google.android.gms:play-services-cronet:18.0.1"
implementation project(modulePrefix + 'lib-common')
Expand All @@ -27,13 +21,12 @@ dependencies {
compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion
// Instrumentation tests assume that an app-packaged version of cronet is
// available.
androidTestImplementation 'org.chromium.net:cronet-embedded:95.4638.50'
androidTestImplementation 'org.chromium.net:cronet-embedded:108.5359.79'
androidTestImplementation project(modulePrefix + 'test-utils')
testImplementation project(modulePrefix + 'test-utils')
testImplementation 'com.squareup.okhttp3:mockwebserver:' + okhttpVersion
Expand Down
4 changes: 0 additions & 4 deletions libraries/decoder/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
multiDexEnabled true
}

buildTypes {
debug {
testCoverageEnabled = true
Expand Down
4 changes: 0 additions & 4 deletions libraries/decoder_flac/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
multiDexEnabled true
}
sourceSets {
main {
jniLibs.srcDir 'src/main/libs'
Expand All @@ -34,7 +31,6 @@ dependencies {
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
androidTestImplementation project(modulePrefix + 'test-utils')
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
testImplementation 'androidx.test:core:' + androidxTestCoreVersion
testImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion
Expand Down
1 change: 0 additions & 1 deletion libraries/decoder_opus/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ dependencies {
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
testImplementation project(modulePrefix + 'test-utils')
testImplementation 'org.robolectric:robolectric:' + robolectricVersion
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion
}
Expand Down
1 change: 0 additions & 1 deletion libraries/decoder_vp9/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ dependencies {
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
testImplementation project(modulePrefix + 'test-utils')
testImplementation 'org.robolectric:robolectric:' + robolectricVersion
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion
androidTestImplementation 'com.google.truth:truth:' + truthVersion
Expand Down
1 change: 0 additions & 1 deletion libraries/effect/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ android {
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
multiDexEnabled true
}

buildTypes {
Expand Down
2 changes: 0 additions & 2 deletions libraries/exoplayer/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ android {
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
multiDexEnabled true
}

buildTypes {
Expand Down Expand Up @@ -48,7 +47,6 @@ dependencies {
compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion
androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion
Expand Down
8 changes: 1 addition & 7 deletions libraries/exoplayer_ima/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,19 @@
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
// Enable multidex for androidTests.
multiDexEnabled true
}

sourceSets {
androidTest.assets.srcDir '../test_data/src/test/assets'
}
}

dependencies {
api 'com.google.ads.interactivemedia.v3:interactivemedia:3.29.0'
api 'com.google.ads.interactivemedia.v3:interactivemedia:3.30.1'
implementation project(modulePrefix + 'lib-exoplayer')
implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
androidTestImplementation project(modulePrefix + 'test-utils')
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestCompileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
Expand Down
2 changes: 1 addition & 1 deletion libraries/exoplayer_workmanager/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

dependencies {
implementation project(modulePrefix + 'lib-exoplayer')
implementation 'androidx.work:work-runtime:2.7.0'
implementation 'androidx.work:work-runtime:2.8.1'
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
}

Expand Down
1 change: 0 additions & 1 deletion libraries/muxer/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ android {
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
multiDexEnabled true
}

buildTypes {
Expand Down
4 changes: 0 additions & 4 deletions libraries/session/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@ apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"
group 'androidx.media3'

android {
defaultConfig {
multiDexEnabled true
}
buildTypes {
debug {
testCoverageEnabled = true
Expand All @@ -40,7 +37,6 @@ dependencies {
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:' + okhttpVersion
androidTestImplementation project(modulePrefix + 'test-utils')
androidTestImplementation project(modulePrefix + 'test-data')
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
testImplementation project(modulePrefix + 'test-utils')
testImplementation project(modulePrefix + 'test-utils-robolectric')
Expand Down
7 changes: 0 additions & 7 deletions libraries/test_exoplayer_playback/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,7 @@
// limitations under the License.
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"

android {
defaultConfig {
multiDexEnabled true
}
}

dependencies {
androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion
androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
androidTestImplementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
Expand Down
1 change: 0 additions & 1 deletion libraries/transformer/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ android {
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
multiDexEnabled true
}

buildTypes {
Expand Down

0 comments on commit 889f435

Please sign in to comment.