65 lines
1.6 KiB
Kotlin
65 lines
1.6 KiB
Kotlin
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.androidMultiplatformLibrary)
|
|
}
|
|
|
|
kotlin {
|
|
iosArm64()
|
|
iosSimulatorArm64()
|
|
|
|
jvm()
|
|
|
|
js {
|
|
browser()
|
|
}
|
|
|
|
@OptIn(ExperimentalWasmDsl::class)
|
|
wasmJs {
|
|
browser()
|
|
}
|
|
|
|
androidLibrary {
|
|
namespace = "fr.ajaury.gwenedeg.core.audioplayer"
|
|
compileSdk =
|
|
libs.versions.androidCompileSdk
|
|
.get()
|
|
.toInt()
|
|
minSdk =
|
|
libs.versions.androidMinSdk
|
|
.get()
|
|
.toInt()
|
|
|
|
compilerOptions {
|
|
jvmTarget = JvmTarget.JVM_11
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
androidMain.dependencies {
|
|
// Player audio
|
|
implementation(libs.media3.exoplayer)
|
|
implementation(libs.media3.common)
|
|
}
|
|
commonMain.dependencies {
|
|
// DI
|
|
implementation(project.dependencies.platform(libs.koin.bom))
|
|
implementation(libs.koin.core)
|
|
}
|
|
// webMain is the js + wasmJs intermediate source set from the default hierarchy template.
|
|
webMain.dependencies {
|
|
// Browser audio (HTMLAudioElement, document) for js + wasmJs
|
|
implementation(libs.kotlinx.browser)
|
|
}
|
|
wasmJsMain {
|
|
// HTMLAudioElement interop on Wasm requires this opt-in.
|
|
languageSettings.optIn("kotlin.js.ExperimentalWasmJsInterop")
|
|
}
|
|
commonTest.dependencies {
|
|
implementation(libs.kotlin.test)
|
|
}
|
|
}
|
|
}
|