build.gradle.kts (3628B)
1 plugins { 2 alias(libs.plugins.android.application) 3 alias(libs.plugins.kotlin.android) 4 alias(libs.plugins.kotlin.compose) 5 alias(libs.plugins.ksp) 6 alias(libs.plugins.hilt.android) 7 alias(libs.plugins.kotlin.serialization) 8 } 9 10 android { 11 namespace = "space.midnightthoughts.nordiccalendar" 12 compileSdk = 36 13 14 defaultConfig { 15 applicationId = "space.midnightthoughts.nordiccalendar" 16 minSdk = 26 17 targetSdk = 36 18 versionCode = 1 19 versionName = "0.1.0-exp" 20 21 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 22 } 23 24 signingConfigs { 25 create("release") { 26 storeFile = file(System.getenv("RELEASE_KEYSTORE_PATH") ?: "release.jks") 27 storePassword = System.getenv("RELEASE_KEYSTORE_PASSWORD") 28 keyAlias = System.getenv("RELEASE_KEY_ALIAS") 29 keyPassword = System.getenv("RELEASE_KEY_PASSWORD") 30 } 31 } 32 buildTypes { 33 release { 34 isMinifyEnabled = false 35 isShrinkResources = false 36 proguardFiles( 37 getDefaultProguardFile("proguard-android-optimize.txt"), 38 "proguard-rules.pro" 39 ) 40 signingConfig = signingConfigs.getByName("release") 41 } 42 } 43 compileOptions { 44 sourceCompatibility = JavaVersion.VERSION_11 45 targetCompatibility = JavaVersion.VERSION_11 46 } 47 kotlinOptions { 48 jvmTarget = "11" 49 } 50 buildFeatures { 51 compose = true 52 } 53 androidResources { 54 generateLocaleConfig = true 55 } 56 testOptions { 57 unitTests { 58 isIncludeAndroidResources = true 59 } 60 } 61 } 62 63 dependencies { 64 implementation(libs.androidx.core.ktx) 65 implementation(libs.androidx.lifecycle.runtime.ktx) 66 implementation(libs.androidx.activity.compose) 67 implementation(platform(libs.androidx.compose.bom)) 68 implementation(libs.androidx.ui) 69 implementation(libs.androidx.ui.graphics) 70 implementation(libs.androidx.ui.tooling.preview) 71 implementation(libs.androidx.material3) 72 implementation(libs.accompanist.permissions) 73 implementation(libs.androidx.navigation.compose) 74 implementation(libs.androidx.foundation.foundation) 75 implementation(libs.androidx.material.icons.extended) 76 implementation(libs.autolinktext) 77 implementation(libs.hilt.android) 78 implementation(libs.androidx.work.runtime.ktx) 79 implementation(libs.androidx.hilt.common) 80 implementation(libs.androidx.hilt.work) 81 implementation(libs.androidx.uiautomator) 82 ksp(libs.google.hilt.compiler) 83 ksp(libs.hilt.android.compiler) 84 implementation(libs.hilt.navigation.compose) 85 implementation(libs.maplibre.composeMaterial3) 86 implementation(libs.ktor.client.core) 87 implementation(libs.ktor.client.content.negotiation) 88 implementation(libs.ktor.serialization.kotlinx.json) 89 implementation(libs.ktor.client.logging) 90 implementation(libs.ktor.client.android) 91 implementation(libs.compose.preference) 92 93 testImplementation(libs.junit) 94 testImplementation(libs.robolectric) 95 testImplementation(libs.androidx.test.core) 96 androidTestImplementation(libs.androidx.junit) 97 androidTestImplementation(libs.androidx.espresso.core) 98 androidTestImplementation(platform(libs.androidx.compose.bom)) 99 androidTestImplementation(libs.androidx.ui.test.junit4) 100 androidTestImplementation(libs.androidx.compose.ui.accessibility.test) 101 androidTestImplementation(libs.androidx.test.rules) 102 debugImplementation(libs.androidx.ui.tooling) 103 debugImplementation(libs.androidx.ui.test.manifest) 104 }