* update version catalog * remove convention plugin * create :core:di module * migrate android and ios apps * migrate :shared module * migrate core modules * migrate domain modules * migrate feature modules * migrate unit modules * update licences screen * update documentation * add a test for ProfileSideMenuViewModel
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
|
|
|
|
plugins {
|
|
id("com.livefast.eattrash.kotlinMultiplatform")
|
|
id("com.livefast.eattrash.composeMultiplatform")
|
|
id("com.livefast.eattrash.androidTest")
|
|
alias(libs.plugins.kotlinx.kover)
|
|
}
|
|
|
|
kotlin {
|
|
sourceSets {
|
|
val commonMain by getting {
|
|
dependencies {
|
|
implementation(libs.kodein)
|
|
implementation(projects.core.di)
|
|
implementation(projects.core.l10n)
|
|
implementation(projects.core.resources)
|
|
|
|
implementation(projects.domain.identity)
|
|
implementation(projects.domain.lemmy.data)
|
|
implementation(projects.domain.lemmy.repository)
|
|
}
|
|
}
|
|
val androidMain by getting {
|
|
dependencies {
|
|
implementation(libs.androidx.core)
|
|
implementation(libs.androidx.work.runtime)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// both :feature:inbox and :domain:inbox are called "inbox" so this causes a name clash
|
|
kotlin {
|
|
metadata {
|
|
compilations.configureEach {
|
|
if (name == KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME) {
|
|
compileTaskProvider {
|
|
this as KotlinCompileCommon
|
|
moduleName.set("${project.group}:${moduleName.get()}")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|