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-core-ui"))
    api(project(":support-fragment"))
    api(project(":percent"))
    api(project(":recyclerview-v7"))

    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

    compileOnly fileTree(dir: 'wear_stubs', include: ['com.google.android.wearable-stubs.jar'])
}

android {
    sourceSets {
        main.res.srcDirs 'res', 'res-public'
        main.resources {
            includes = ["wear_stubs/LICENSE"]
        }
    }

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

supportLibrary {
    name = "Android Wear Support UI"
    publish = true
    mavenVersion = LibraryVersions.SUPPORT_LIBRARY
    mavenGroup = LibraryGroups.SUPPORT
    inceptionYear = "2016"
    description = "Android Wear Support UI"
    minSdkVersion = 23
}
