plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.plugin.serialization' version '2.2.20' id 'org.jetbrains.kotlin.plugin.compose' version '2.2.20' } android { namespace 'net.helcel.fidelity' compileSdk 36 defaultConfig { applicationId 'net.helcel.fidelity' versionName "1.0d" buildConfigField("String", "APP_NAME", "\"Keepass Fidelity\"") manifestPlaceholders["APP_NAME"] = "Keepass Fidelity" minSdk 28 targetSdk 36 } 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 { initWith(buildTypes.release) matchingFallbacks = ['release'] signingConfig = signingConfigs.getByName("release") } } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_21 targetCompatibility JavaVersion.VERSION_21 encoding 'utf-8' } buildFeatures { viewBinding true compose true buildConfig true } dependenciesInfo { // Disables dependency metadata when building APKs. includeInApk = false // Disables dependency metadata when building Android App Bundles. includeInBundle = false } composeOptions { kotlinCompilerExtensionVersion = "2.2.20" } kotlin { jvmToolchain(21) } lint { disable 'UsingMaterialAndMaterial3Libraries' disable 'PreviewAnnotationInFunctionWithParameters' } } dependencies { implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.material3:material3:1.4.0' implementation 'androidx.compose.material:material:1.9.3' implementation 'androidx.compose.material:material-icons-extended:1.7.8' implementation 'androidx.navigation:navigation-compose:2.9.5' implementation 'androidx.preference:preference-ktx:1.2.1' implementation "androidx.biometric:biometric:1.2.0-alpha05" implementation "androidx.security:security-crypto:1.1.0" implementation "androidx.datastore:datastore-preferences:1.1.7" implementation "androidx.security:security-crypto:1.1.0" coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.1.5' implementation 'androidx.camera:camera-lifecycle:1.5.1' implementation 'androidx.camera:camera-view:1.5.1' runtimeOnly 'androidx.camera:camera-camera2:1.5.1' implementation 'com.google.android.material:material:1.13.0' implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0' implementation 'com.google.zxing:core:3.5.3' implementation project(":database") implementation project(":crypto") implementation platform('androidx.compose:compose-bom:2025.10.00') implementation 'androidx.compose.ui:ui-tooling:1.9.3' implementation 'androidx.compose.ui:ui-tooling-preview' //Submodule //noinspection NewerVersionAvailable implementation 'joda-time:joda-time:2.14.0' implementation 'org.joda:joda-convert:3.0.1' }