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


def CORE_VERSION = "1.2.1"
def LUAMIRAI_VERSION = "0.5.0"

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.2"

    defaultConfig {
        applicationId "io.github.mzdluo123.mirai.android"
        minSdkVersion 21
        targetSdkVersion 29
        versionCode 30
        versionName "2.10.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        buildConfigField("String", "COREVERSION", "\"$CORE_VERSION\"")
        buildConfigField("String", "LUAMIRAI_VERSION", "\"$LUAMIRAI_VERSION\"")
    }
    buildFeatures {
        dataBinding = true
    }

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

// To inline the bytecode built with JVM target 1.8 into
// bytecode that is being built with JVM target 1.6. (e.g. navArgs)
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = "1.8"
    }
    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'
        exclude("META-INF/*.kotlin_module")
    }

    lintOptions {
        abortOnError false
    }



    testOptions {
        animationsDisabled = true
    }
}

dependencies {
    implementation (fileTree(dir: 'libs', include: ['*.jar']))
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.google.android.material:material:1.2.0'

    //androidx-core-ktx
    implementation 'androidx.core:core-ktx:1.3.1'

    //androidx-appcompat
    implementation 'androidx.appcompat:appcompat:1.1.0'

    //androidx-legacy
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'

    //androidx-constraintlayout
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    //androidx-navigation
    implementation 'androidx.navigation:navigation-fragment:2.3.0'
    implementation 'androidx.navigation:navigation-ui:2.3.0'
    implementation 'androidx.navigation:navigation-fragment-ktx:2.3.0'
    implementation 'androidx.navigation:navigation-ui-ktx:2.3.0'

    //androidx-lifecycle
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

    //androidx-preference
    implementation 'androidx.preference:preference:1.1.1'

    //kotlinx-coroutines
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.4'

    //zip
    implementation 'net.lingala.zip4j:zip4j:2.5.2'

    //BaseRecyclerViewAdapterHelper
    implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.2'

    //mirai-core
    implementation "net.mamoe:mirai-core-qqandroid:$CORE_VERSION"

    //mirai-lua
    implementation "com.ooooonly:luaMirai:$LUAMIRAI_VERSION"
    //noinspection DuplicatePlatformClasses
    //implementation 'org.json:json:20160212'
    //{
        //exclude module: 'okio'
        //exclude module: 'okhttp3'
    //}
    //implementation 'com.ooooonly:giteeman:0.1.1'

    //splitties
    implementation("com.louiscad.splitties:splitties-fun-pack-android-base:3.0.0-alpha06")
    implementation("com.louiscad.splitties:splitties-fun-pack-android-appcompat:3.0.0-alpha06")

    //acra
    implementation "ch.acra:acra-core:5.1.3"
    implementation "ch.acra:acra-toast:5.1.3"

    //glide
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

    //yaml
    implementation group: 'org.yaml', name: 'snakeyaml', version: '1.26'
    implementation group: 'com.moandjiezana.toml', name: 'toml4j', version: '0.7.2'

    //okhttp3
    implementation 'com.squareup.okhttp3:okhttp:4.7.2'



    //test
    implementation 'androidx.test.espresso:espresso-idling-resource:3.2.0'


    debugImplementation 'androidx.fragment:fragment-testing:1.2.4'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test:rules:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
    androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'



//  https://mvnrepository.com/artifact/net.mamoe/mirai-console
// implementation group: 'net.mamoe', name: 'mirai-console', version: '0.5.1'
// implementation "net.mamoe:mirai-core:0.39.1"
// https://mvnrepository.com/artifact/org.yaml/snakeyaml
// https://mvnrepository.com/artifact/com.moandjiezana.toml/toml4j

}
