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

plugins {
    id("SupportAndroidLibraryPlugin")
}

dependencies {
    api("androidx.core:core:1.1.0-alpha05")
    implementation("androidx.collection:collection:1.0.0")

    androidTestImplementation(TEST_EXT_JUNIT)
    androidTestImplementation(TEST_CORE)
    androidTestImplementation(TEST_RUNNER)
    androidTestImplementation(ESPRESSO_CORE, libs.exclude_for_espresso)
    androidTestImplementation project(':internal-testutils')
    annotationProcessor(project(":versionedparcelable-annotation"))
}

android {
    sourceSets {
        main.java.srcDirs += [
        ]
        main.res.srcDirs += 'src/main/res-public'
    }

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

androidx {
    name = "Android Support Library media compat"
    publish = true
    mavenVersion = LibraryVersions.MEDIA
    mavenGroup = LibraryGroups.MEDIA
    inceptionYear = "2011"
    description = "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren't a part of the framework APIs. Compatible on devices running API 14 or later."
    failOnUncheckedWarnings = false
    failOnDeprecationWarnings = false
    trackRestrictedAPIs = false
}
