apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "me.gilo.woodroid.app"
        minSdkVersion 16
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

    compileOptions {
        sourceCompatibility = '1.8'
        targetCompatibility = '1.8'
    }

    dataBinding {
        enabled = true
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
    }

    defaultConfig {
        vectorDrawables.useSupportLibrary = true
    }
// To inline the bytecode built with JVM target 1.8 into
// bytecode that is being built with JVM target 1.6. (e.g. navArgs)


}

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == "com.android.support") {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion "26.+"
            }
        }
    }

    all*.exclude group: 'com.google.guava', module: 'listenablefuture'
}

ext {
    arch_version = '1.1.1'
    firebase_version = '11.8.0'
    support_lib_version = '28.0.0'
    dagger_version = '2.14.1'
    play_services = '15.0.1'
    roomVersion = '1.1.1'

    coroutinesVersion = "1.1.1"

}

kapt {
    generateStubs = true
}


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
    implementation 'androidx.paging:paging-runtime-ktx:2.1.0'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

    implementation 'androidx.appcompat:appcompat:1.1.0'

    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    // Support Libs
    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.vectordrawable:vectordrawable-animated:1.1.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.browser:browser:1.0.0'
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.viewpager2:viewpager2:1.0.0-rc01'

    //firebase stuff
    implementation 'com.google.firebase:firebase-database:19.2.0'
    implementation 'com.google.firebase:firebase-auth:19.1.0'
    implementation 'com.google.firebase:firebase-core:17.2.1'
    implementation 'com.google.firebase:firebase-firestore:21.3.0'
    implementation 'com.google.firebase:firebase-storage:19.1.0'
    implementation 'com.firebaseui:firebase-ui-database:4.2.0'
    implementation 'com.firebaseui:firebase-ui-firestore:4.2.0'
    implementation 'com.firebaseui:firebase-ui-storage:4.2.0'
    implementation 'com.google.firebase:firebase-messaging:20.0.1'


    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    implementation 'io.github.inflationx:calligraphy3:3.0.0'
    implementation 'io.github.inflationx:viewpump:2.0.3'

    implementation 'org.greenrobot:eventbus:3.1.1'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'de.hdodenhof:circleimageview:2.1.0'

    implementation 'com.romandanylyk:pageindicatorview:0.2.0@aar'

    // Android architecture components
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02"
    kapt "androidx.lifecycle:lifecycle-compiler:2.2.0-rc02"

    implementation 'androidx.core:core-ktx:1.1.0'
    implementation "androidx.lifecycle:lifecycle-extensions:2.2.0-rc02"
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0-rc02"

    // Room components
    implementation "androidx.room:room-runtime:2.2.1"
    kapt "androidx.room:room-compiler:2.2.1"
    androidTestImplementation "androidx.room:room-testing:2.2.1"

    // Dagger.
    implementation "com.google.dagger:dagger:2.15"
    implementation "com.google.dagger:dagger-android:2.15"
    implementation "com.google.dagger:dagger-android-support:2.15"
    kapt "com.google.dagger:dagger-android-processor:2.15"
    kapt "com.google.dagger:dagger-compiler:2.15"

    // Third-party libraries

    implementation 'net.danlew:android.joda:2.9.9.4'

    implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    implementation 'com.akexorcist:googledirectionlibrary:1.0.5'
    //noinspection GradleDynamicVersion
    implementation 'com.google.maps.android:android-maps-utils:0.5+'
    implementation 'com.github.aarsy.googlemapsanimations:googlemapsanimations:1.0.5'

    implementation 'com.squareup.retrofit2:retrofit:2.5.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'

    implementation 'com.google.code.gson:gson:2.8.5'

    implementation 'com.jakewharton.retrofit:retrofit1-okhttp3-client:1.1.0'

    implementation 'io.reactivex:rxandroid:1.2.1'
    implementation 'io.reactivex:rxjava:1.3.0'

    implementation 'androidx.multidex:multidex:2.0.1'

    implementation 'androidx.room:room-runtime:2.2.2'
    kapt 'androidx.room:room-compiler:2.2.2'


    implementation 'org.greenrobot:eventbus:3.1.1'

    implementation "com.hootsuite.android:nachos:1.1.1"

    implementation 'me.relex:circleindicator:1.2.2@aar'

    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutinesVersion"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion"

    implementation project(path: ':woodroid')
    implementation project(path: ':firebasecart')
    implementation project(path: ':core')
    implementation project(path: ':cocart')
    implementation project(path: ':offlinecart')

    debugImplementation 'im.dino:dbinspector:3.4.1@aar'

    implementation 'org.fabiomsr:moneytextview:1.1.0'

}


apply plugin: 'com.google.gms.google-services'
googleServices { disableVersionCheck = true }
