apply plugin: 'com.android.library'
apply from: '../prepare-robolectric.gradle'

android {
    compileSdkVersion 26
    buildToolsVersion '27.0.3'

    defaultConfig {
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
        }
        debug {
            minifyEnabled false
        }
    }
    lintOptions {
        abortOnError false
    }

    testOptions {
        unitTests.all { t ->
            reports {
                html.enabled true
            }
            testLogging {
                events "PASSED", "SKIPPED", "FAILED", "standardOut", "standardError"
            }
            afterSuite { desc, result ->
                if (!desc.parent) { // will match the outermost suite
                    def output = "      ${result.resultType} (${result.successfulTestCount} successes, ${result.failedTestCount} failures, ${result.skippedTestCount} skipped)     "
                    def repeatLength = output.length()
                    println '\n\n' + ('-' * repeatLength) + '\n' + output + '\n' + ('-' * repeatLength) + '\n'

                    println "see report at file://${t.reports.html.destination}/index.html"
                }
            }
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    flavorDimensions "RNN.reactNativeVersion"
    productFlavors {
        reactNative51 {
            dimension "RNN.reactNativeVersion"
            buildConfigField("int", "REACT_NATVE_VERSION_MINOR", "51")
        }
        reactNative55 {
            dimension "RNN.reactNativeVersion"
            buildConfigField("int", "REACT_NATVE_VERSION_MINOR", "55")
        }
        reactNative56 {
            dimension "RNN.reactNativeVersion"
            buildConfigField("int", "REACT_NATVE_VERSION_MINOR", "56")
        }
        reactNative57 {
            dimension "RNN.reactNativeVersion"
            buildConfigField("int", "REACT_NATVE_VERSION_MINOR", "57")
        }
        reactNative57_5 {
            dimension "RNN.reactNativeVersion"
            buildConfigField("int", "REACT_NATVE_VERSION_MINOR", "57")
        }
    }
}

allprojects { p ->
    p.afterEvaluate {
        p.android.compileOptions.sourceCompatibility JavaVersion.VERSION_1_8
        p.android.compileOptions.targetCompatibility JavaVersion.VERSION_1_8
    }
    p.repositories {
        maven { url "https://jitpack.io" }
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:support-v4:26.1.0'

    implementation 'com.github.wix-playground:ahbottomnavigation:2.4.9'
    implementation 'com.github.wix-playground:reflow-animator:1.0.4'
    implementation 'com.github.clans:fab:1.6.4'

    //noinspection GradleDynamicVersion
    implementation 'com.facebook.react:react-native:+'

    // tests
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.robolectric:robolectric:3.5.1'
    testImplementation 'org.assertj:assertj-core:3.8.0'
    testImplementation 'com.squareup.assertj:assertj-android:1.1.1'
    testImplementation 'org.mockito:mockito-core:2.13.0'
}