plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    // TODO: 1202468796234411
    // id 'org.jetbrains.kotlin.plugin.serialization'
    id 'com.google.devtools.ksp'
    id 'org.sirekanyan.version-checker'
}

android {
    namespace 'com.sirekanian.warmongr'
    compileSdk 34
    defaultConfig {
        applicationId "com.sirekanian.warmongr"
        minSdk 21
        targetSdk 34
        versionCode appVersionCode as int
        versionName appVersionName
        archivesBaseName = "$applicationId-$versionName-$versionCode"
        vectorDrawables {
            useSupportLibrary true
        }
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard.pro'
            signingConfig signingConfigs.debug
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }
    kotlin {
        jvmToolchain(11)
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion composeCompilerVersion
    }
    packagingOptions {
        resources {
            excludes += '/META-INF/{AL2.0,LGPL2.1}'
        }
    }
    kotlinOptions {
        allWarningsAsErrors = true
    }
    lint {
        warningsAsErrors true
    }
}

ksp {
    arg('room.schemaLocation', "$projectDir/schemas")
}

dependencies {

    // androidx compose
    implementation "androidx.compose.material:material:$composeMaterialVersion"
    implementation 'androidx.activity:activity-compose:1.7.2'

    // androidx room
    implementation "androidx.room:room-runtime:$roomVersion"
    implementation "androidx.room:room-ktx:$roomVersion"
    ksp "androidx.room:room-compiler:$roomVersion"

    /* TODO: 1202468796234411
    implementation "io.ktor:ktor-client-cio:$ktorVersion"
    implementation "io.ktor:ktor-client-content-negotiation:$ktorVersion"
    implementation "io.ktor:ktor-client-encoding:$ktorVersion"
    implementation "io.ktor:ktor-serialization-kotlinx-json:$ktorVersion"
     */

    // tests
    androidTestImplementation("androidx.test.ext:junit:1.1.5")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0")

}
