import static android.support.dependencies.DependenciesKt.*
import android.support.LibraryGroups
import android.support.LibraryVersions

plugins {
    id("SupportAndroidLibraryPlugin")
}

dependencies {
    api(project(":support-annotations"))
    api(project(":support-compat"))

    androidTestImplementation(TEST_RUNNER)
    androidTestImplementation(ESPRESSO_CORE)
    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(':support-testutils')
}

android {
    sourceSets {
        main.java.srcDirs = [
                'api21',
                'api22',
                'api23',
                'api24',
                'api26',
                'java'
        ]
        main.aidl.srcDirs = ['java']
        main.res.srcDirs 'res', 'res-public'
    }

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

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