apply plugin: android.support.SupportLibraryPlugin

dependencies {
    api project(':support-annotations')
    api project(':support-core-ui')
    api project(':percent')
    api project(':recyclerview-v7')

    androidTestImplementation libs.test_runner,      { exclude module: 'support-annotations' }
    androidTestImplementation libs.espresso_core,    { exclude module: 'support-annotations' }
    androidTestImplementation libs.mockito_core,     { exclude group: 'net.bytebuddy' } // DexMaker has it"s own MockMaker
    androidTestImplementation libs.dexmaker_mockito, { exclude group: 'net.bytebuddy' } // DexMaker has it"s own MockMaker
}

android {
    defaultConfig {
        minSdkVersion 23
    }

    sourceSets {
        main.java.srcDir 'src'
        main.res.srcDirs 'res', 'res-public'
    }

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

supportLibrary {
    name 'Android Wear Support UI'
    inceptionYear '2016'
    description 'Android Wear Support UI'
}
