import static androidx.build.dependencies.DependenciesKt.*
import androidx.build.LibraryGroups
import androidx.build.LibraryVersions
import androidx.build.Publish

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

dependencies {
    api(project(":media:media"))
    api(GUAVA_LISTENABLE_FUTURE)
    implementation("androidx.concurrent:concurrent-futures:1.0.0")
    implementation("androidx.collection:collection:1.0.0")
    compileOnly(CHECKER_FRAMEWORK)

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

android {
    defaultConfig {
        minSdkVersion 19
    }

    buildTypes.all {
        consumerProguardFiles 'proguard-rules.pro'
    }
}

androidx {
    name = "AndroidX media2 common library"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenGroup = LibraryGroups.MEDIA2
    inceptionYear = "2018"
    description = "Media2 Common"
    // TODO: Remove these (b/130838274)
    failOnDeprecationWarnings = false
}
