apply plugin: android.support.SupportLibraryPlugin
archivesBaseName = 'design'

dependencies {
    compile project(':support-v4')
    compile project(':support-appcompat-v7')
    compile project(':support-recyclerview-v7')
    compile project(':support-transition')

    androidTestCompile (libs.test_runner) {
        exclude module: 'support-annotations'
    }
    androidTestCompile (libs.espresso_core) {
        exclude module: 'support-annotations'
    }
    androidTestCompile (libs.espresso_contrib) {
        exclude group: 'com.android.support'
    }
    androidTestCompile libs.mockito_core
    androidTestCompile libs.dexmaker_mockito
    androidTestCompile project(':support-testutils')
    androidTestCompile libs.multidex

    testCompile libs.junit
    testCompile ("$libs.test_runner") {
        exclude module: 'support-annotations'
    }
}

android {
    defaultConfig {
        minSdkVersion 14
        // This disables the builds tools automatic vector -> PNG generation
        generatedDensities = []
        multiDexEnabled true
    }

    sourceSets {
        main.java.srcDirs = [
                'base',
                'gingerbread',
                'ics',
                'lollipop',
                'src'
        ]
        main.res.srcDirs = [
                'res',
                'res-public'
        ]
        main.resources.srcDir 'src'

        test.java.srcDir 'jvm-tests/src'
    }

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

    aaptOptions {
        additionalParameters "--no-version-vectors"
    }

    buildTypes {
        debug {
            pseudoLocalesEnabled true
        }
    }
}

supportLibrary {
    name 'Android Design Support Library'
    inceptionYear '2015'
    description "The Support Library is a static library that you can add to your Android application in order to use APIs that are either not available for older platform versions or utility APIs that aren\'t a part of the framework APIs. Compatible on devices running API 14 or later."
}
