Files
singlechat/android/app/build.gradle.kts
Torsten Schulz (local) 10e6e7a80a
All checks were successful
Deploy SingleChat / deploy (push) Successful in 27s
videochat integriert
2026-06-17 12:53:03 +02:00

120 lines
3.5 KiB
Kotlin

import java.util.Properties
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.plugin.compose")
}
val localProperties = Properties().apply {
val file = rootProject.file("local.properties")
if (file.exists()) {
file.inputStream().use(::load)
}
}
val keyProperties = Properties().apply {
val file = rootProject.file("key.properties")
if (file.exists()) {
file.inputStream().use(::load)
}
}
val releaseStoreFile = keyProperties.getProperty("storeFile")?.let { rootProject.file(it) }
val defaultBaseUrl = "https://www.ypchat.net"
val appBaseUrl = localProperties.getProperty("ypchat.baseUrl", defaultBaseUrl)
val hasReleaseSigning = releaseStoreFile?.exists() == true
android {
namespace = "de.ypchat.android"
compileSdk = 36
defaultConfig {
applicationId = "de.ypchat.android"
minSdk = 26
targetSdk = 36
versionCode = 2
versionName = "1.1.0"
}
lint {
checkReleaseBuilds = false
abortOnError = false
}
signingConfigs {
if (hasReleaseSigning) {
create("release") {
storeFile = releaseStoreFile
storePassword = keyProperties.getProperty("storePassword")
keyAlias = keyProperties.getProperty("keyAlias")
keyPassword = keyProperties.getProperty("keyPassword")
}
}
}
buildTypes {
debug {
buildConfigField("String", "BASE_URL", "\"$appBaseUrl\"")
manifestPlaceholders["usesCleartextTraffic"] = true
}
release {
buildConfigField("String", "BASE_URL", "\"$appBaseUrl\"")
isMinifyEnabled = true
isShrinkResources = true
manifestPlaceholders["usesCleartextTraffic"] = false
if (hasReleaseSigning) {
signingConfig = signingConfigs.getByName("release")
}
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
buildFeatures {
compose = true
buildConfig = true
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
}
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2026.03.01")
implementation(composeBom)
androidTestImplementation(composeBom)
implementation("androidx.activity:activity-compose:1.13.0")
implementation("androidx.compose.foundation:foundation")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.lifecycle:lifecycle-runtime-compose:2.10.0")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0")
implementation("com.squareup.okhttp3:okhttp:5.3.2")
implementation("com.squareup.retrofit2:retrofit:3.0.0")
implementation("com.squareup.retrofit2:converter-gson:3.0.0")
implementation("io.socket:socket.io-client:2.1.2") {
exclude(group = "org.json", module = "json")
}
implementation("io.coil-kt.coil3:coil-compose:3.4.0")
implementation("io.coil-kt.coil3:coil-network-okhttp:3.4.0")
implementation("io.github.webrtc-sdk:android:125.6422.07")
debugImplementation("androidx.compose.ui:ui-tooling")
}