apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.josh.trackcovid19v2"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        vectorDrawables.useSupportLibrary = true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

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

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.navigation:navigation-fragment:2.0.0'
    implementation 'androidx.navigation:navigation-ui:2.0.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    implementation 'androidx.preference:preference:1.1.0-rc01'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation "androidx.appcompat:appcompat:$support_version"
    implementation "androidx.legacy:legacy-support-v4:$legacy_support_version"
    implementation "com.google.android.material:material:$legacy_support_version"

    // Lifecycle
    implementation "androidx.lifecycle:lifecycle-runtime:$room_version"
    implementation "androidx.lifecycle:lifecycle-extensions:$room_version"
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$room_version"

    // Room
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"

    // Retrofit2
    implementation "com.squareup.retrofit2:retrofit:$retrofit_version"
    implementation "com.squareup.retrofit2:converter-gson:$retrofit_version"
    implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"

    // RxJava
    implementation "io.reactivex.rxjava2:rxjava:$rxjava_version"
    implementation "io.reactivex.rxjava2:rxandroid:$rxandroid_version"

    implementation 'com.fasterxml.jackson.core:jackson-core:2.9.8'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.8'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.8'

    // Gson
    implementation "com.google.code.gson:gson:$gson_version"

    // TableView
    implementation "com.evrencoskun.library:tableview:$tableview_version"

    // MoneyView
    implementation "org.fabiomsr:moneytextview:$moneyview_version"

    // Instrumentation dependencies use androidTestCompile"
    // (as opposed to testCompile for local unit tests run in the JVM"
    androidTestImplementation "junit:junit:$junit_version"
    androidTestImplementation "androidx.annotation:annotation:$support_test_version"
    androidTestImplementation "androidx.test:runner:$support_test_runner_version"
    androidTestImplementation "androidx.test:rules:$support_test_runner_version"
    androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_test_version"
}
