New Gradle module :shared (pure Kotlin/JVM) containing @Serializable DTO classes for use by both the Android app and future Ktor server. shared/src/main/kotlin/de/krisenvorrat/shared/model/: - InventoryDto: root DTO replacing ExportData (version, categories, locations, items, settings) - CategoryDto, LocationDto, ItemDto, SettingDto: extracted from the former *Export data classes in :app Migration in :app: - ExportData.kt deleted (classes moved to :shared) - ImportExportRepositoryImpl now imports from de.krisenvorrat.shared.model - app/build.gradle.kts adds implementation(project(:shared)) Build config: - libs.versions.toml: added kotlin-jvm plugin entry - build.gradle.kts (root): registered kotlin-jvm plugin - settings.gradle.kts: include(:shared) JSON wire format is unchanged; all 165 existing tests pass. Closes #39
21 lines
418 B
Text
21 lines
418 B
Text
plugins {
|
|
alias(libs.plugins.kotlin.jvm)
|
|
alias(libs.plugins.kotlin.serialization)
|
|
}
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation(libs.kotlinx.serialization.json)
|
|
|
|
testImplementation(libs.junit)
|
|
}
|