apply plugin: android.support.SupportLibraryPlugin

dependencies {
    api project(':support-annotations')
    api project(':support-compat')
    compileOnly project(':support-fragment')

    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
    androidTestImplementation project(':support-v4')
    androidTestImplementation project(':appcompat-v7')
}

android {
    defaultConfig {
        minSdkVersion 14
    }

    sourceSets {
        main.java.srcDirs = [
                'base',
                'api14',
                'api18',
                'api19',
                'api21',
                'api22',
                'src'
        ]
        main.res.srcDirs = [
                'res',
                'res-public'
        ]
    }

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

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

supportLibrary {
    name 'Android Transition Support Library'
    inceptionYear '2016'
    description 'Android Transition Support Library'
}
