@file:OptIn(ExperimentalKotlinGradlePluginApi::class) import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) alias(libs.plugins.ksp) id("kotlin-parcelize") alias(libs.plugins.kotlin.serialization) } repositories { mavenCentral() google() } kotlin { applyDefaultHierarchyTemplate() androidTarget { compilerOptions { freeCompilerArgs.addAll("-P", "plugin:org.jetbrains.kotlin.parcelize:additionalAnnotation=org.tasks.CommonParcelize") } compilations.all { kotlinOptions { jvmTarget = "17" } } } jvm() sourceSets { commonMain.dependencies { implementation(libs.androidx.room) implementation(libs.kotlinx.serialization) implementation(libs.kermit) } } task("testClasses") } android { namespace = "org.tasks.data" compileSdk = 34 buildFeatures { buildConfig = true } defaultConfig { minSdk = 24 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") ksp { arg("room.schemaLocation", "$projectDir/schemas") arg("room.incremental", "true") arg("room.generateKotlin", "true") } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } } dependencies { add("kspAndroid", libs.androidx.room.compiler) }