118 lines
3.3 KiB
Kotlin
118 lines
3.3 KiB
Kotlin
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
|
|
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
|
|
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
|
|
|
|
|
|
|
val ktorVersion = "3.0.2"
|
|
val exposedVersion = "0.55.0"
|
|
val h2Version = "2.3.232"
|
|
val hikariCpVersion = "5.1.0"
|
|
val flywayVersion = "10.20.1"
|
|
val logbackVersion = "1.5.12"
|
|
val assertjVersion = "3.26.3"
|
|
val restAssuredVersion = "5.5.0"
|
|
val junitVersion = "5.11.3"
|
|
val psqlVersion = "42.7.4"
|
|
|
|
plugins {
|
|
alias(libs.plugins.kotlinMultiplatform)
|
|
alias(libs.plugins.androidLibrary)
|
|
kotlin("plugin.serialization")
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
|
|
}
|
|
|
|
|
|
kotlin {
|
|
androidTarget {
|
|
@OptIn(ExperimentalKotlinGradlePluginApi::class)
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.JVM_11)
|
|
}
|
|
}
|
|
|
|
iosX64()
|
|
iosArm64()
|
|
iosSimulatorArm64()
|
|
|
|
jvm()
|
|
|
|
@OptIn(ExperimentalWasmDsl::class)
|
|
wasmJs {
|
|
browser {
|
|
val rootDirPath = project.rootDir.path
|
|
val projectDirPath = project.projectDir.path
|
|
commonWebpackConfig {
|
|
devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply {
|
|
static = (static ?: mutableListOf()).apply {
|
|
// Serve sources to debug inside browser
|
|
add(rootDirPath)
|
|
add(projectDirPath)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
// put your Multiplatform dependencies here
|
|
implementation(libs.kotlinx.serialization.json.jvm)
|
|
implementation(libs.kotlinx.serialization.core)
|
|
|
|
implementation(libs.io.ktor.ktor.server.core)
|
|
implementation(libs.ktor.serialization)
|
|
implementation(libs.ktor.ktor.server.netty)
|
|
implementation(libs.ktor.server.call.logging)
|
|
implementation(libs.ktor.server.default.headers)
|
|
implementation(libs.ktor.server.websockets)
|
|
implementation(libs.ktor.server.content.negotiation)
|
|
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
|
|
|
|
implementation(libs.ktor.serialization)
|
|
implementation(libs.kotlinx.serialization.core)
|
|
|
|
implementation(libs.kotlin.stdlib)
|
|
implementation(libs.kotliquery)
|
|
implementation(libs.h2)
|
|
implementation(libs.postgresql)
|
|
|
|
implementation(libs.exposed.core)
|
|
implementation(libs.exposed.dao)
|
|
implementation(libs.exposed.jdbc)
|
|
implementation(libs.exposed.json)
|
|
implementation(libs.hikaricp)
|
|
implementation(libs.flyway.core)
|
|
implementation(libs.logback)
|
|
implementation(libs.kformat)
|
|
implementation(project.dependencies.platform(libs.koin.bom))
|
|
implementation(libs.koin.core)
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
android {
|
|
namespace = "org.neutrino.ktans.shared"
|
|
compileSdk = libs.versions.android.compileSdk.get().toInt()
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
defaultConfig {
|
|
minSdk = libs.versions.android.minSdk.get().toInt()
|
|
}
|
|
}
|