plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
}

android {
    namespace 'cn.haidong.zzb.rmsys'
    compileSdk 34

    // 国密数据包主密钥：从 gradle.properties 注入到 BuildConfig，
    // 与后端数据库 sysconfigs.PackageSm4Key 保持一致（轮换需两端同时改）
    buildFeatures {
        buildConfig true
    }

    defaultConfig {
        applicationId 'cn.haidong.zzb.rmsys'
        minSdk 26
        targetSdk 34
        versionCode 1
        versionName '1.0.0'

        // 只保留中文资源，减小包体
        resourceConfigurations += ['zh', 'zh-rCN']

        def pkgKey = project.findProperty('RMSYS_PKG_KEY') ?: ''
        buildConfigField 'String', 'PKG_MASTER_KEY', "\"${pkgKey}\""
    }

    buildTypes {
        debug {
            applicationIdSuffix '.debug'
            versionNameSuffix '-debug'
        }
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            // 正式签名（keystore 见 android/keystore/，口令在 gradle.properties）
            if (project.hasProperty('RMSYS_STORE_FILE')) {
                signingConfig signingConfigs.create('release') {
                    storeFile file(project.property('RMSYS_STORE_FILE').toString())
                    storePassword project.property('RMSYS_STORE_PASSWORD').toString()
                    keyAlias project.property('RMSYS_KEY_ALIAS').toString()
                    keyPassword project.property('RMSYS_KEY_PASSWORD').toString()
                }
            }
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = '17'
    }

    // assets 不打压缩，保证 WebView 通过 file:// 读取正常
    androidResources {
        noCompress += ['html', 'js', 'css', 'png', 'jpg']
    }
}

dependencies {
    // 不引第三方库：WebView + SQLite 均为系统能力，包体最小、离线可控
    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.9.22'
}
