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("androidx.core:core:1.1.0")
    implementation("androidx.collection:collection:1.0.0")

    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-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 = Publish.SNAPSHOT_AND_RELEASE
    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."
    failOnDeprecationWarnings = false
}
