plugins { id 'com.android.application' id 'kotlin-android' } applyCommonAndroidParameters(project) applyCrashlyticsIfRelease(project) android { ndkVersion "25.0.8141415" defaultConfig { applicationId "app.dapk.st" def versionJson = new groovy.json.JsonSlurper().parseText(rootProject.file('version.json').text) versionCode versionJson.code versionName versionJson.name if (isDebugBuild) { resConfigs "en", "xxhdpi" variantFilter { variant -> if (variant.buildType.name == "release") { setIgnore(true) } } } else { resConfigs "en" } if (isFoss()) { archivesBaseName = "$archivesBaseName-foss" } } bundle { abi.enableSplit true density.enableSplit true language.enableSplit true } buildTypes { debug { versionNameSuffix = " [debug]" matchingFallbacks = ['release'] signingConfig.storeFile rootProject.file("tools/debug.keystore") } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard/app.pro', "proguard/serializationx.pro", "proguard/olm.pro" if (project.hasProperty("unsigned")) { // releases are signed externally } else { signingConfig = buildTypes.debug.signingConfig } } } compileOptions { coreLibraryDesugaringEnabled true } packagingOptions { resources.excludes += "DebugProbesKt.bin" } } dependencies { coreLibraryDesugaring Dependencies.google.jdkLibs implementation project(":features:home") implementation project(":features:directory") implementation project(":features:login") implementation project(":features:settings") implementation project(":features:notifications") implementation project(":features:messenger") implementation project(":features:profile") implementation project(":features:navigator") implementation project(":features:share-entry") implementation project(':domains:store') implementation project(":domains:android:compose-core") implementation project(":domains:android:core") implementation project(":domains:android:tracking") implementation project(":domains:android:push") implementation project(":domains:android:work") implementation project(":domains:android:imageloader") implementation project(":domains:olm") firebase(it, "messaging") implementation project(":matrix:matrix") implementation project(":matrix:matrix-http-ktor") implementation project(":matrix:services:auth") implementation project(":matrix:services:sync") implementation project(":matrix:services:room") implementation project(":matrix:services:push") implementation project(":matrix:services:message") implementation project(":matrix:services:device") implementation project(":matrix:services:crypto") implementation project(":matrix:services:profile") implementation project(":core") implementation Dependencies.google.androidxComposeUi implementation Dependencies.mavenCentral.ktorAndroid implementation Dependencies.mavenCentral.sqldelightAndroid implementation Dependencies.mavenCentral.matrixOlm implementation Dependencies.mavenCentral.kotlinSerializationJson debugImplementation Dependencies.mavenCentral.leakCanary }