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


android {
    compileSdkVersion 28


    defaultConfig {
        applicationId "net.dankito.banking.fints4java.android"
        minSdkVersion 16
        targetSdkVersion 28
        versionCode appVersionCode
        versionName appVersionName

        multiDexEnabled true

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

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

    signingConfigs {
        debug {
            // so that all machines have the same signing key, no matter if app is installed from developer's machine or from Jenkins
            storeFile file('debug-keystore.jks')
            storePassword 'find_my_bugs_before_releasing_me'
            keyAlias 'DebugKey'
            keyPassword 'find_my_bugs_before_releasing_me'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    lintOptions {
        abortOnError false
    }

}

dependencies {
    implementation project(':BankingUiCommon')

    implementation project(':fints4javaBankingClient')

    implementation project(':BankingPersistenceJson')
    implementation project(':LuceneBankingPersistence')

    implementation "com.github.clans:fab:$clansFloatingActionButtonVersion"

    implementation "com.otaliastudios:autocomplete:$autocompleteVersion"

    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlinCoroutinesVersion"

    implementation "net.dankito.utils:android-utils:$androidUtilsVersion", {
        exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
        exclude group: 'com.android.support', module: 'appcompat-v7'
        exclude group: 'com.android.support', module: 'design'
    }

    implementation "org.slf4j:slf4j-android:$slf4jVersion"


    implementation "androidx.multidex:multidex:$multiDexVersion"

    implementation "androidx.appcompat:appcompat:$appCompatVersion"
    implementation "androidx.recyclerview:recyclerview:$appCompatVersion"
    implementation "androidx.annotation:annotation:$appCompatVersion"
    implementation "com.google.android.material:material:$materialComponentsVersion"
    implementation "androidx.constraintlayout:constraintlayout:$constraintLayoutVersion"

    // for MaterialDrawer
    implementation "com.mikepenz:materialdrawer:$materialDrawerVersion"
    implementation "com.mikepenz:materialdrawer-nav:$materialDrawerVersion"

    implementation "com.mikepenz:materialdrawer-iconics:$materialDrawerVersion"
    implementation "com.mikepenz:google-material-typeface:3.0.1.4.original-kotlin@aar"
    implementation "com.mikepenz:fontawesome-typeface:5.9.0.0-kotlin@aar"


    kapt "com.google.dagger:dagger-compiler:$daggerVersion"
    implementation "com.google.dagger:dagger:$daggerVersion"


    implementation 'androidx.navigation:navigation-fragment:2.0.0-rc02'
    implementation 'androidx.navigation:navigation-ui:2.0.0-rc02'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.0.0-rc02'
    implementation 'androidx.navigation:navigation-ui-ktx:2.0.0-rc02'
}