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

plugins {
    id("SupportAndroidLibraryPlugin")
}

dependencies {
    api(project(":annotation"))
    api(project(":collection"))
    api(ARCH_LIFECYCLE_RUNTIME, libs.exclude_annotations_transitive)

    androidTestImplementation(TEST_RUNNER_TMP, libs.exclude_for_espresso)
    androidTestImplementation(ESPRESSO_CORE_TMP, libs.exclude_for_espresso)
    androidTestImplementation(MOCKITO_CORE, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
    androidTestImplementation(DEXMAKER_MOCKITO, libs.exclude_bytebuddy) // DexMaker has it"s own MockMaker
    androidTestImplementation project(':internal-testutils'), {
        exclude group: 'androidx.core', module: 'core'
    }
}

android {
    sourceSets {
        main.res.srcDirs 'res', 'res-public'
    }

    aaptOptions {
        noCompress 'ttf'
    }
}

supportLibrary {
    name = "Android Support Library compat"
    publish = true
    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
    mavenGroup = LibraryGroups.CORE
    inceptionYear = "2015"
    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
}
