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.annotation:annotation:1.1.0")
    api(project(":swiperefreshlayout"))
    api(project(":fragment"))
    api(project(":recyclerview"))
    api(CONSTRAINT_LAYOUT, { transitive = true })

    androidTestImplementation(ANDROIDX_TEST_EXT_JUNIT)
    androidTestImplementation(ANDROIDX_TEST_CORE)
    androidTestImplementation(ANDROIDX_TEST_RUNNER)
    androidTestImplementation(ANDROIDX_TEST_RULES)
    androidTestImplementation(ESPRESSO_CORE, 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

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

android {
    defaultConfig {
        minSdkVersion 23
    }

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

androidx {
    name = "Android Wear Support UI"
    publish = Publish.SNAPSHOT_AND_RELEASE
    mavenVersion = LibraryVersions.WEAR
    mavenGroup = LibraryGroups.WEAR
    inceptionYear = "2016"
    description = "Android Wear Support UI"
    failOnDeprecationWarnings = false
    trackRestrictedAPIs = false
}
