smalltalk-matrix/app/build.gradle
2022-08-31 20:34:40 +01:00

115 lines
3.6 KiB
Groovy

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
}