Reputation: 153
I need to convert existing multi-module jvm project into a multiplatform project.
//Exisiting Modules: (JVM Project)
core
data
app
app_server
utils
db
//Need to add:
app_frontend (Kotlin/JS)
Need to share data module between JVM and JS Thanks in advance.
Upvotes: 3
Views: 464
Reputation: 251
I'm assuming you want to share your data module between JVM and JS. For this, your data module has to be a multiplatform project targeting JVM and JS. The most basic setup would be:
// build.gradle.kts
plugins {
kotlin("multiplatform")
}
group = "data"
kotlin {
jvm()
js { browser { binaries.executable() } }
sourceSets["commonMain"].dependencies {
// Your dependencies...
}
}
Other modules can be built with "regular" plugins targeting a specific platform, so your JVM modules won't need any adjustments. The basic setup for JS would be:
plugins {
id("org.jetbrains.kotlin.js")
}
group = "app_frontend"
dependencies {
implementation(project(":data"))
implementation(kotlin("stdlib-js"))
}
kotlin {
js {
browser { binaries.executable() }
}
}
Also checkout the official documentation about multiplatform programming:
Upvotes: 4