apply plugin: "com.android.application"
apply plugin: "kotlin-android-extensions"
apply plugin: "kotlin-android"
apply from: "${rootDir}/jdee.gradle"

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "org.dystopia.email"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 115
        versionName "1.3.0"
        archivesBaseName = "SimpleEmail-v$versionName"

        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
            }
        }
    }

    buildTypes {
        debug {
            applicationIdSuffix ".debug"
            debuggable = true
            minifyEnabled !rootProject.ext.ci
            useProguard = true
        }
        release {
            debuggable = false
            minifyEnabled = true
            useProguard = true
            shrinkResources true
        }
    }


    lintOptions {
        xmlReport false
        htmlReport true
        textReport true
        lintConfig file("${rootProject.getRootDir()}/lint.xml")
        warningsAsErrors true
        abortOnError false
        explainIssues true
        absolutePaths false
    }

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

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

configurations {
  implementationDeps.extendsFrom implementation
}

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

    def androidx_version = "1.0.0"
    def constraintlayout_version = "1.1.3"
    def lifecycle_version = "2.0.0"
    def room_version = "2.0.0"
    def paging_version = "2.0.0"
    def javamail_version = "1.6.2"
    def jsoup_version = "1.11.3"
    def jcharset_version = "2.0"
    def dnsjava_version = "2.1.8"
    def openpgp_version = "12.0"

    // https://mvnrepository.com/artifact/androidx.appcompat/appcompat
    implementation "androidx.appcompat:appcompat:$androidx_version"
    // https://mvnrepository.com/artifact/androidx.annotation/annotation
    implementation "androidx.annotation:annotation:$androidx_version"
    // https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
    implementation "androidx.recyclerview:recyclerview:$androidx_version"
    implementation "androidx.recyclerview:recyclerview-selection:$androidx_version"
    // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout
    implementation "androidx.coordinatorlayout:coordinatorlayout:$androidx_version"
    implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
    // https://mvnrepository.com/artifact/com.google.android.material/material
    implementation "com.google.android.material:material:$androidx_version"
    // https://mvnrepository.com/artifact/androidx.browser/browser
    implementation "androidx.browser:browser:$androidx_version"

    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"

    // https://mvnrepository.com/artifact/androidx.room/room-runtime
    implementation "androidx.room:room-runtime:$room_version"
    annotationProcessor "androidx.room:room-compiler:$room_version"

    // https://mvnrepository.com/artifact/androidx.paging/paging-runtime
    implementation "androidx.paging: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"

    // http://www.freeutils.net/source/jcharset/
    implementation "net.freeutils:jcharset:$jcharset_version"

    // http://www.xbill.org/dnsjava/
    implementation "dnsjava:dnsjava:$dnsjava_version"

    // https://github.com/open-keychain/openpgp-api
    implementation "org.sufficientlysecure:openpgp-api:$openpgp_version"

    // https://android.googlesource.com/platform/frameworks/opt/colorpicker
    implementation project(path: ':colorpicker', configuration: 'default')

    // Kotlin support
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}
