// Copyright (C) 2020 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
apply from: "$gradle.ext.exoplayerSettingsDir/common_library_config.gradle"

android {
    buildTypes {
        debug {
            testCoverageEnabled = true
        }
    }
}

dependencies {
    api ('com.google.guava:guava:' + guavaVersion) {
        // Exclude dependencies that are only used by Guava at compile time
        // (but declared as runtime deps) [internal b/168188131].
        exclude group: 'com.google.code.findbugs', module: 'jsr305'
        exclude group: 'org.checkerframework', module: 'checker-compat-qual'
        exclude group: 'org.checkerframework', module: 'checker-qual'
        exclude group: 'com.google.errorprone', module: 'error_prone_annotations'
        exclude group: 'com.google.j2objc', module: 'j2objc-annotations'
        exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
    }
    implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
    compileOnly 'com.google.code.findbugs:jsr305:' + jsr305Version
    compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion
    compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion
    compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
    compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
    androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
    androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion
    androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion
    androidTestImplementation(project(modulePrefix + 'testutils')) {
        exclude module: modulePrefix.substring(1) + 'library-core'
    }
    testImplementation 'org.mockito:mockito-core:' + mockitoVersion
    testImplementation 'androidx.test:core:' + androidxTestCoreVersion
    testImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion
    testImplementation 'junit:junit:' + junitVersion
    testImplementation 'com.google.truth:truth:' + truthVersion
    testImplementation 'org.robolectric:robolectric:' + robolectricVersion
    testImplementation project(modulePrefix + 'testutils')
}

ext {
    javadocTitle = 'Common module'
}
apply from: '../../javadoc_library.gradle'

ext {
    releaseArtifactId = 'exoplayer-common'
    releaseDescription = 'The ExoPlayer library common module.'
}
apply from: '../../publish.gradle'
