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:fragment"))
    api(project(":recyclerview: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'
    }
}

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