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(":recyclerview-v7"))
    api(CONSTRAINT_LAYOUT)

    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
}
