plugins {
    id 'kotlin-android'
    id 'com.android.application'
}

repositories {
    mavenCentral()
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.alibaba.fastjson2.android"
        minSdk 26
        targetSdk 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

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

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildFeatures {
        viewBinding true
    }
    namespace 'com.alibaba.fastjson2.android'
}

dependencies {
    implementation 'com.alibaba:fastjson:1.1.73.android'
    implementation 'com.alibaba.fastjson2:fastjson2:2.0.41-SNAPSHOT'
    implementation ('com.alibaba.fastjson2:fastjson2-codegen:2.0.40') {
        exclude group: 'com.alibaba.fastjson2', module: 'fastjson2'
    }
    implementation ('com.alibaba.fastjson2:fastjson2-kotlin:2.0.40') {
        exclude group: 'com.alibaba.fastjson2', module: 'fastjson2'
    }

    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10'
    implementation 'org.jetbrains.kotlin:kotlin-reflect:1.8.10'

    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.14.2'
    implementation 'com.fasterxml.jackson.core:jackson-core:2.14.2'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.14.2'
    implementation 'com.google.code.gson:gson:2.10.1'

    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
    testImplementation 'junit:junit:5.9.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
