import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish

import static androidx.build.dependencies.DependenciesKt.*

plugins {
    id("AndroidXPlugin")
    id("com.android.library")
}

dependencies {
    api(project(":media2:media2-common"))
    api(GUAVA_LISTENABLE_FUTURE)
    implementation("androidx.concurrent:concurrent-futures:1.0.0")
    implementation("androidx.collection:collection:1.0.0")
    compileOnly(CHECKER_FRAMEWORK)
    // Depend on media2-exoplayer so that the library groupId is set to match media2.
    implementation(project(":media2:media2-exoplayer"))

    androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
    androidTestImplementation(ANDROIDX_TEST_CORE)
    androidTestImplementation(ANDROIDX_TEST_RUNNER)
    androidTestImplementation(ANDROIDX_TEST_RULES)
    androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
    androidTestImplementation project(':internal-testutils-runtime')
    annotationProcessor(project(":versionedparcelable:versionedparcelable-compiler"))
}

android {
    lintOptions {
        // Lint bug causes the BanTargetApiAnnotation lint check to crash in this project.
        // remove when b/120615476 is fixed.
        disable("BanTargetApiAnnotation")
    }
    defaultConfig {
        minSdkVersion 16
    }
}

androidx {
    name = "AndroidX media2 player library"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenGroup = LibraryGroups.MEDIA2
    inceptionYear = "2018"
    description = "Media2 Player"
    failOnDeprecationWarnings = false
}
