From 13782a263c7525da281cf821d5b5134d112db65b Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Sun, 7 Mar 2021 21:22:27 +0600 Subject: [PATCH] add mppJsProject --- README.md | 40 ++++++++++++++++++++++++++++++++++++++++ extensions.gradle | 1 + mppJsProject.gradle | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 mppJsProject.gradle diff --git a/README.md b/README.md index 0bb24a5..7b39e2c 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,46 @@ kotlin { } ``` +### `mppJsProject` + +This type of preset have only `JS` target and available using `apply from: "mppJsProjectPresetPath"`. Template for +project with this preset looks like next snippet: + +```groovy +plugins { + id "org.jetbrains.kotlin.multiplatform" +} + +apply from: "$mppJsProjectPresetPath" + +// The code below is optional + +kotlin { + sourceSets { + commonMain { + dependencies { + // common dependencies + } + } + commonTest { + dependencies { + // common test dependencies + } + } + jsMain { + dependencies { + // jvm dependencies + } + } + jsTest { + dependencies { + // jvm test dependencies + } + } + } +} +``` + ### `mppAndroidProject` This type of preset have only `Android` target and available using `apply from: "$mppAndroidProjectPresetPath"`. Template for diff --git a/extensions.gradle b/extensions.gradle index 0c108ed..2e89947 100644 --- a/extensions.gradle +++ b/extensions.gradle @@ -15,6 +15,7 @@ allprojects { mppProjectWithSerializationPresetPath = "${rootProject.projectDir.absolutePath}/mppProjectWithSerialization.gradle" mppJavaProjectPresetPath = "${rootProject.projectDir.absolutePath}/mppJavaProject.gradle" + mppJsProjectPresetPath = "${rootProject.projectDir.absolutePath}/mppJsProject.gradle" mppAndroidProjectPresetPath = "${rootProject.projectDir.absolutePath}/mppAndroidProject.gradle" defaultAndroidSettingsPresetPath = "${rootProject.projectDir.absolutePath}/defaultAndroidSettings.gradle" diff --git a/mppJsProject.gradle b/mppJsProject.gradle new file mode 100644 index 0000000..49ba8f5 --- /dev/null +++ b/mppJsProject.gradle @@ -0,0 +1,32 @@ +project.version = "$version" +project.group = "$group" + +// apply from: "$publishGradlePath" + +kotlin { + js (BOTH) { + browser() + nodejs() + } + + sourceSets { + commonMain { + dependencies { + implementation kotlin('stdlib') + api "org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlin_serialisation_core_version" + } + } + commonTest { + dependencies { + implementation kotlin('test-common') + implementation kotlin('test-annotations-common') + } + } + jsTest { + dependencies { + implementation kotlin('test-js') + implementation kotlin('test-junit') + } + } + } +}