1// Copyright (C) 2016 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14apply from: "$gradle.ext.exoplayerSettingsDir/common_library_config.gradle" 15 16android { 17 defaultConfig { 18 // The following argument makes the Android Test Orchestrator run its 19 // "pm clear" command after each test invocation. This command ensures 20 // that the app's state is completely cleared between tests. 21 testInstrumentationRunnerArguments clearPackageData: 'true' 22 multiDexEnabled true 23 } 24 25 buildTypes { 26 debug { 27 testCoverageEnabled = true 28 } 29 } 30 31 sourceSets { 32 androidTest.assets.srcDir '../../testdata/src/test/assets/' 33 test.assets.srcDir '../../testdata/src/test/assets/' 34 } 35} 36 37dependencies { 38 api project(modulePrefix + 'library-common') 39 // TODO(b/203754886): Revisit which modules are exported as API dependencies. 40 api project(modulePrefix + 'library-datasource') 41 api project(modulePrefix + 'library-decoder') 42 api project(modulePrefix + 'library-extractor') 43 api project(modulePrefix + 'library-database') 44 implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion 45 implementation 'androidx.core:core:' + androidxCoreVersion 46 compileOnly 'com.google.code.findbugs:jsr305:' + jsr305Version 47 compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion 48 compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion 49 compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion 50 compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion 51 androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion 52 androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion 53 androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion 54 androidTestImplementation(project(modulePrefix + 'testutils')) { 55 exclude module: modulePrefix.substring(1) + 'library-core' 56 } 57 androidTestImplementation 'com.squareup.okhttp3:mockwebserver:' + okhttpVersion 58 testImplementation 'com.squareup.okhttp3:mockwebserver:' + okhttpVersion 59 testImplementation 'org.robolectric:robolectric:' + robolectricVersion 60 testImplementation project(modulePrefix + 'testutils') 61 testImplementation project(modulePrefix + 'robolectricutils') 62} 63 64ext { 65 javadocTitle = 'Core module' 66} 67apply from: '../../javadoc_library.gradle' 68 69ext { 70 releaseArtifactId = 'exoplayer-core' 71 releaseDescription = 'The ExoPlayer library core module.' 72} 73apply from: '../../publish.gradle' 74