apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "eu.faircode.email"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 6
        versionName "0.6"
        archivesBaseName = "SafeEmail-v$versionName"

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled = true
            useProguard = true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled = true
            useProguard = true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        pickFirst 'META-INF/LICENSE.txt'
    }
}

repositories {
    jcenter()
    maven {
        url "https://repo1.maven.org/maven2/"
    }
}

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

    // TODO: AndroidX

    def support_version = "28.0.0-alpha1"
    def constraintlayout_version = "1.1.2" // 2.0.0-alpha1
    def lifecycle_version = "1.1.1"
    def room_version = "1.1.1"
    def paging_version = "1.0.0"
    def javamail_version = "1.6.0"
    def jsoup_version = "1.11.3"

    // https://developer.android.com/topic/libraries/support-library/revisions.html
    implementation "com.android.support:appcompat-v7:$support_version"
    implementation "com.android.support.constraint:constraint-layout:$constraintlayout_version"
    implementation "com.android.support:recyclerview-v7:$support_version"
    implementation "com.android.support:design:$support_version"

    // https://developer.android.com/topic/libraries/architecture/adding-components.html
    implementation "android.arch.lifecycle:extensions:$lifecycle_version"
    implementation "android.arch.persistence.room:runtime:$room_version"
    annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version"
    annotationProcessor "android.arch.persistence.room:compiler:$room_version"

    implementation "android.arch.paging:runtime:$paging_version"

    // https://javaee.github.io/javamail/
    implementation "com.sun.mail:android-mail:$javamail_version"
    implementation "com.sun.mail:android-activation:$javamail_version"

    // https://jsoup.org/
    implementation "org.jsoup:jsoup:$jsoup_version"
}