114 lines
3.6 KiB
Kotlin
114 lines
3.6 KiB
Kotlin
plugins {
|
|
alias(libs.plugins.androidApplication)
|
|
alias(libs.plugins.kotlinAndroid)
|
|
alias(libs.plugins.sentry)
|
|
alias(libs.plugins.ruler)
|
|
alias(libs.plugins.appVersioning)
|
|
}
|
|
|
|
kotlin {
|
|
jvmToolchain(17)
|
|
}
|
|
|
|
android {
|
|
namespace = "com.hadisatrio.apps.android.journal3"
|
|
|
|
compileSdk = 34
|
|
defaultConfig {
|
|
applicationId = "com.hadisatrio.apps.android.journal3"
|
|
minSdk = 23
|
|
targetSdk = 33
|
|
}
|
|
|
|
signingConfigs {
|
|
getByName("debug") {
|
|
storeFile = File(projectDir, "debug_signing.jks")
|
|
storePassword = "(debug)"
|
|
keyAlias = "debug"
|
|
keyPassword = "(debug)"
|
|
}
|
|
create("release") {
|
|
storeFile = File(projectDir, "release_signing.jks")
|
|
storePassword = System.getenv("RELEASE_KEY_STORE_PASSWORD")
|
|
keyAlias = System.getenv("RELEASE_KEY_ALIAS")
|
|
keyPassword = System.getenv("RELEASE_KEY_PASSWORD")
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
isDebuggable = true
|
|
isMinifyEnabled = false
|
|
isShrinkResources = false
|
|
signingConfig = signingConfigs.getByName("debug")
|
|
applicationIdSuffix = "canary"
|
|
buildConfigField("String", "KEY_GOOGLE_API", "\"${System.getenv("DEBUG_KEY_GOOGLE_API")}\"")
|
|
buildConfigField("String", "KEY_HERE_API", "\"${System.getenv("DEBUG_KEY_HERE_API")}\"")
|
|
buildConfigField("String", "KEY_OAI_API", "\"${System.getenv("DEBUG_KEY_OAI_API")}\"")
|
|
buildConfigField("String", "KEY_SENTRY", "\"${System.getenv("DEBUG_KEY_SENTRY")}\"")
|
|
}
|
|
release {
|
|
isDebuggable = false
|
|
isMinifyEnabled = true
|
|
isShrinkResources = true
|
|
signingConfig = signingConfigs.getByName("release")
|
|
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
|
buildConfigField("String", "KEY_GOOGLE_API", "\"${System.getenv("RELEASE_KEY_GOOGLE_API")}\"")
|
|
buildConfigField("String", "KEY_HERE_API", "\"${System.getenv("RELEASE_KEY_HERE_API")}\"")
|
|
buildConfigField("String", "KEY_OAI_API", "\"${System.getenv("RELEASE_KEY_OAI_API")}\"")
|
|
buildConfigField("String", "KEY_SENTRY", "\"${System.getenv("RELEASE_KEY_SENTRY")}\"")
|
|
}
|
|
}
|
|
|
|
packaging {
|
|
resources.excludes += "**/*"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(project(":app-kmm-journal3"))
|
|
implementation(libs.androidx.fragment)
|
|
implementation(libs.androidx.startup)
|
|
implementation(libs.androidx.workmanager)
|
|
implementation(libs.androidx.recyclerview)
|
|
implementation(libs.androidx.viewpager2)
|
|
implementation(libs.glide)
|
|
implementation(libs.ktor)
|
|
implementation(libs.ktor.android)
|
|
implementation(libs.material)
|
|
implementation(libs.sentry)
|
|
implementation(libs.tflite)
|
|
implementation(libs.recycler.view.spacing)
|
|
testImplementation(libs.androidx.test.runner)
|
|
testImplementation(libs.junit4)
|
|
testImplementation(libs.mockk)
|
|
testImplementation(libs.kotest.assertions)
|
|
testImplementation(libs.robolectric)
|
|
}
|
|
|
|
ruler {
|
|
abi.set("arm64-v8a")
|
|
locale.set("en")
|
|
screenDensity.set(422)
|
|
sdkVersion.set(34)
|
|
|
|
verification {
|
|
downloadSizeThreshold = 15_000_000
|
|
installSizeThreshold = 35_000_000
|
|
}
|
|
}
|
|
|
|
tasks.named("check").configure {
|
|
val isOnCi = providers.environmentVariable("CI").isPresent
|
|
|
|
dependsOn("analyzeDebugBundle")
|
|
if (isOnCi) dependsOn("analyzeReleaseBundle")
|
|
}
|
|
|
|
sentry {
|
|
org.set("mrhadisatrio")
|
|
projectName.set("journal3")
|
|
authToken.set(System.getenv("SENTRY_TOKEN"))
|
|
includeSourceContext.set(true)
|
|
}
|