From d809b76a7dccdb4a9c7250c40832aae6e2c92c95 Mon Sep 17 00:00:00 2001 From: Danil Pavlov Date: Sat, 17 Jun 2023 13:19:19 +0200 Subject: [PATCH] update: kotlin multiplatform plugin --- build.gradle.kts | 47 ++++++++++++----------- src/{main => jsMain}/kotlin/App.kt | 0 src/{main => jsMain}/kotlin/Main.kt | 0 src/{main => jsMain}/kotlin/VideoList.kt | 0 src/{main => jsMain}/resources/index.html | 0 5 files changed, 25 insertions(+), 22 deletions(-) rename src/{main => jsMain}/kotlin/App.kt (100%) rename src/{main => jsMain}/kotlin/Main.kt (100%) rename src/{main => jsMain}/kotlin/VideoList.kt (100%) rename src/{main => jsMain}/resources/index.html (100%) diff --git a/build.gradle.kts b/build.gradle.kts index 9b99a45..6c629e6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,6 @@ plugins { - kotlin("js") version "1.8.20" - kotlin("plugin.serialization") version "1.8.20" + kotlin("multiplatform") version "1.8.22" + kotlin("plugin.serialization") version "1.8.22" } group = "org.example" @@ -21,26 +21,29 @@ kotlin { } binaries.executable() } -} - -dependencies { - //React, React DOM + Wrappers (chapter 3) - implementation(enforcedPlatform("org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:1.0.0-pre.430")) - implementation("org.jetbrains.kotlin-wrappers:kotlin-react") - implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom") - - //Kotlin React Emotion (CSS) (chapter 3) - implementation("org.jetbrains.kotlin-wrappers:kotlin-emotion") - - //Video Player (chapter 7) - implementation(npm("react-player", "2.12.0")) - - //Share Buttons (chapter 7) - implementation(npm("react-share", "4.4.1")) - - //Coroutines & serialization (chapter 8) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") - implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") + sourceSets { + val jsMain by getting { + dependencies { + //React, React DOM + Wrappers (chapter 3) + implementation(enforcedPlatform("org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:1.0.0-pre.430")) + implementation("org.jetbrains.kotlin-wrappers:kotlin-react") + implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom") + + //Kotlin React Emotion (CSS) (chapter 3) + implementation("org.jetbrains.kotlin-wrappers:kotlin-emotion") + + //Video Player (chapter 7) + implementation(npm("react-player", "2.12.0")) + + //Share Buttons (chapter 7) + implementation(npm("react-share", "4.4.1")) + + //Coroutines & serialization (chapter 8) + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4") + implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0") + } + } + } } // Heroku Deployment (chapter 9) diff --git a/src/main/kotlin/App.kt b/src/jsMain/kotlin/App.kt similarity index 100% rename from src/main/kotlin/App.kt rename to src/jsMain/kotlin/App.kt diff --git a/src/main/kotlin/Main.kt b/src/jsMain/kotlin/Main.kt similarity index 100% rename from src/main/kotlin/Main.kt rename to src/jsMain/kotlin/Main.kt diff --git a/src/main/kotlin/VideoList.kt b/src/jsMain/kotlin/VideoList.kt similarity index 100% rename from src/main/kotlin/VideoList.kt rename to src/jsMain/kotlin/VideoList.kt diff --git a/src/main/resources/index.html b/src/jsMain/resources/index.html similarity index 100% rename from src/main/resources/index.html rename to src/jsMain/resources/index.html