plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.23'
    id 'com.mikepenz.aboutlibraries.plugin' version '11.1.3'
}


android {
    namespace 'net.helcel.beans'
    compileSdk 34

    defaultConfig {
        applicationId 'net.helcel.beans'
        minSdk 28
        targetSdk 34
        versionCode 1
        versionName "0.1a"
    }
    signingConfigs {
        create("release") {
            try {
                def keystorePropertiesFile = rootProject.file("app/keystore.properties")
                def keystoreProperties = new Properties()
                keystoreProperties.load(new FileInputStream(keystorePropertiesFile))

                keyAlias keystoreProperties['keyAlias']
                keyPassword keystoreProperties['keyPassword']
                storeFile file(keystoreProperties['storeFile'])
                storePassword keystoreProperties['storePassword']
            } catch (FileNotFoundException e) {
                println("File not found: ${e.message}")
            }
        }
    }


    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        signedRelease {
            minifyEnabled true
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig = signingConfigs.getByName("release")
        }
    }
    compileOptions {
        coreLibraryDesugaringEnabled true

        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
        encoding 'utf-8'
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17
    }

    buildFeatures {
        viewBinding true
    }

    dependenciesInfo {
        // Disables dependency metadata when building APKs.
        includeInApk = false
        // Disables dependency metadata when building Android App Bundles.
        includeInBundle = false
    }

}
aboutLibraries {
    exclusionPatterns = [~"androidx.*", ~"com.google.android.*", ~"org.jetbrains.*"]
}

dependencies {
    coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.4'
    implementation 'androidx.preference:preference-ktx:1.2.1'
    implementation 'com.google.android.material:material:1.11.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3'

    implementation 'com.caverock:androidsvg-aar:1.4'
    implementation 'com.github.chrisbanes:PhotoView:2.3.0'
    implementation 'com.mikepenz:aboutlibraries:11.1.3'
}