• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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