apply plugin: 'com.android.library'
apply plugin: 'maven'

android {
    compileSdkVersion tools.current_sdk
    buildToolsVersion tools.build_tools_version

    defaultConfig {
        minSdkVersion flatfoot.min_sdk
        targetSdkVersion tools.current_sdk
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    testOptions {
        unitTests.returnDefaultValues = true
    }
}

dependencies {
    compile project(":lifecycle:common")
    compile project(":apptoolkit:core")
    compile libs.support.core_utils
    // using classes like Pair from support core allows Lifecycle to be compatible w/ junit tests
    compile libs.support.fragments
    // necessary for IJ to resolve dependencies.
    compile libs.support.annotations

    testCompile libs.junit
    testCompile libs.mockito_core

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

    androidTestCompile(libs.test_runner) {
        exclude module: 'support-annotations'
    }
    androidTestCompile libs.support.app_compat
    androidTestCompile(libs.espresso_core, {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
}

createAndroidCheckstyle(project)

archivesBaseName = "runtime"
