// SPDX-License-Identifier: GPL-3.0-only plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.hilt) alias(libs.plugins.ksp) alias(libs.plugins.sqldelight) } android { namespace = "no.naiv.implausibly" compileSdk = 35 defaultConfig { applicationId = "no.naiv.implausibly" minSdk = 26 targetSdk = 35 versionCode = 1 versionName = "0.1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } buildFeatures { compose = true } } sqldelight { databases { create("ImplausiblyDatabase") { packageName.set("no.naiv.implausibly.data.local") } } } dependencies { // AndroidX implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.androidx.activity.compose) implementation(libs.androidx.navigation.compose) implementation(libs.androidx.datastore.preferences) implementation(libs.androidx.security.crypto) // Compose implementation(platform(libs.compose.bom)) implementation(libs.compose.ui) implementation(libs.compose.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) implementation(libs.compose.material.icons.extended) debugImplementation(libs.compose.ui.tooling) // Hilt implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.hilt.navigation.compose) // Ktor implementation(libs.ktor.client.core) implementation(libs.ktor.client.okhttp) implementation(libs.ktor.client.content.negotiation) implementation(libs.ktor.serialization.kotlinx.json) // SQLDelight implementation(libs.sqldelight.android.driver) implementation(libs.sqldelight.coroutines) // Coil (favicon loading) implementation(libs.coil.compose) implementation(libs.coil.network.okhttp) implementation(libs.coil.svg) // Reorderable (drag-to-reorder sites) implementation(libs.reorderable) // Serialization implementation(libs.kotlinx.serialization.json) // Testing testImplementation(libs.junit) testImplementation(libs.mockk) testImplementation(libs.turbine) testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.ktor.client.mock) }