2025-04-21 17:44:40 +03:00
|
|
|
/*
|
|
|
|
* Created by sweetbread
|
|
|
|
* Copyright (c) 2025. All rights reserved.
|
|
|
|
*/
|
|
|
|
|
2025-05-23 12:12:16 +03:00
|
|
|
import java.util.Properties
|
|
|
|
|
2025-04-21 15:48:45 +03:00
|
|
|
plugins {
|
|
|
|
alias(libs.plugins.android.application)
|
|
|
|
alias(libs.plugins.kotlin.android)
|
|
|
|
alias(libs.plugins.kotlin.compose)
|
|
|
|
}
|
|
|
|
|
|
|
|
android {
|
|
|
|
namespace = "ru.risdeveau.geotracker"
|
|
|
|
compileSdk = 35
|
|
|
|
|
|
|
|
defaultConfig {
|
|
|
|
applicationId = "ru.risdeveau.geotracker"
|
2025-05-23 11:54:42 +03:00
|
|
|
minSdk = 26
|
2025-04-21 15:48:45 +03:00
|
|
|
targetSdk = 35
|
2025-05-23 12:14:12 +03:00
|
|
|
versionCode = 3
|
|
|
|
versionName = "1.2"
|
2025-05-23 11:59:26 +03:00
|
|
|
setProperty("archivesBaseName", "$applicationId-v$versionCode($versionName)")
|
2025-04-21 15:48:45 +03:00
|
|
|
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
2025-05-23 12:12:16 +03:00
|
|
|
|
|
|
|
val secretProperties = Properties().apply {
|
|
|
|
val secretFile = rootProject.file("secrets.properties")
|
|
|
|
if (secretFile.exists())
|
|
|
|
secretFile.inputStream().use { load(it) }
|
|
|
|
else
|
|
|
|
println("Warning: secrets.properties not found!")
|
|
|
|
}
|
|
|
|
manifestPlaceholders["sentry_url"] = secretProperties.getProperty("SENTRY_URL")!!
|
2025-04-21 15:48:45 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
buildTypes {
|
|
|
|
release {
|
|
|
|
isMinifyEnabled = false
|
|
|
|
proguardFiles(
|
|
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
|
|
"proguard-rules.pro"
|
|
|
|
)
|
2025-05-23 12:12:16 +03:00
|
|
|
manifestPlaceholders["sentry_env"] = "production"
|
|
|
|
}
|
|
|
|
debug {
|
|
|
|
manifestPlaceholders["sentry_env"] = "develop"
|
2025-04-21 15:48:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = "1.8"
|
|
|
|
}
|
|
|
|
buildFeatures {
|
|
|
|
compose = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation(libs.androidx.core.ktx)
|
|
|
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
|
|
|
implementation(libs.androidx.activity.compose)
|
|
|
|
implementation(platform(libs.androidx.compose.bom))
|
|
|
|
implementation(libs.androidx.ui)
|
|
|
|
implementation(libs.androidx.ui.graphics)
|
|
|
|
implementation(libs.androidx.ui.tooling.preview)
|
|
|
|
implementation(libs.androidx.material3)
|
|
|
|
testImplementation(libs.junit)
|
|
|
|
androidTestImplementation(libs.androidx.junit)
|
|
|
|
androidTestImplementation(libs.androidx.espresso.core)
|
|
|
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
|
|
|
androidTestImplementation(libs.androidx.ui.test.junit4)
|
|
|
|
debugImplementation(libs.androidx.ui.tooling)
|
|
|
|
debugImplementation(libs.androidx.ui.test.manifest)
|
|
|
|
|
|
|
|
implementation(libs.androidx.datastore.preferences)
|
|
|
|
implementation(libs.androidx.lifecycle.viewmodel.compose)
|
|
|
|
|
|
|
|
implementation(libs.ktor.client.core)
|
|
|
|
implementation(libs.ktor.client.okhttp)
|
|
|
|
implementation(libs.ktor.client.logging)
|
2025-05-03 21:34:18 +03:00
|
|
|
implementation(libs.ktor.client.json)
|
2025-04-21 15:48:45 +03:00
|
|
|
implementation(libs.logback.classic)
|
2025-04-21 17:44:40 +03:00
|
|
|
|
|
|
|
implementation(libs.splitties.base)
|
2025-05-23 12:12:16 +03:00
|
|
|
implementation(libs.sentry)
|
2025-04-21 15:48:45 +03:00
|
|
|
}
|