apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "eu.faircode.email"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 96
        versionName "1.96"
        archivesBaseName = "FairEmail-v$versionName"

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

    lintOptions {
        disable 'MissingTranslation'
    }

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

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

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

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

    // https://mvnrepository.com/artifact/androidx.appcompat/appcompat
    // https://mvnrepository.com/artifact/androidx.recyclerview/recyclerview
    // https://mvnrepository.com/artifact/com.google.android.material/material
    // https://mvnrepository.com/artifact/androidx.browser/browser
    // https://mvnrepository.com/artifact/androidx.constraintlayout/constraintlayout

    // https://mvnrepository.com/artifact/androidx.lifecycle/lifecycle-runtime
    // https://mvnrepository.com/artifact/androidx.room/room-runtime
    // https://mvnrepository.com/artifact/androidx.paging/paging-runtime

    // https://developer.android.com/google/play/billing/billing_library_releases_notes

    // https://javaee.github.io/javamail/
    // https://jsoup.org/
    // http://www.freeutils.net/source/jcharset/

    // https://developer.android.com/topic/libraries/support-library/androidx-rn
    // https://developer.android.com/topic/libraries/support-library/refactor

    // https://developer.android.com/topic/libraries/architecture/adding-components.html
    // https://developer.android.com/jetpack/docs/release-notes

    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 billingclient_version = "1.1"
    def javamail_version = "1.6.2"
    def jsoup_version = "1.11.3"
    def jcharset_version = "2.0"
    def dnsjava_version = "2.1.8"

    implementation "androidx.appcompat:appcompat:$androidx_version"
    implementation "androidx.recyclerview:recyclerview:$androidx_version"
    implementation "androidx.coordinatorlayout:coordinatorlayout:$androidx_version"
    implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
    implementation "com.google.android.material:material:$androidx_version"
    implementation "androidx.browser:browser:$androidx_version"

    implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
    annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"

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

    implementation "androidx.paging:paging-runtime:$paging_version"

    implementation "com.android.billingclient:billing:$billingclient_version"

    implementation "com.sun.mail:android-mail:$javamail_version"
    implementation "com.sun.mail:android-activation:$javamail_version"

    implementation "org.jsoup:jsoup:$jsoup_version"

    implementation "net.freeutils:jcharset:$jcharset_version"

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

    // git clone https://android.googlesource.com/platform/frameworks/opt/colorpicker
    implementation project(path: ':colorpicker')
}
