mirror of
https://github.com/InsanusMokrassar/KotlinMultiplatformProjectTemplate.git
synced 2025-09-04 15:49:36 +00:00
rework templates
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
kotlin = "2.1.20"
|
kotlin = "2.1.20"
|
||||||
kotlin-serialization = "1.8.1"
|
kotlin-serialization = "1.8.1"
|
||||||
|
kotlin-coroutines = "1.10.2"
|
||||||
|
|
||||||
dokka = "2.0.0"
|
dokka = "2.0.0"
|
||||||
|
|
||||||
@@ -19,12 +20,14 @@ android-buildTools = "35.0.0"
|
|||||||
|
|
||||||
kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
kotlin = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" }
|
||||||
kotlin-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlin-serialization" }
|
kotlin-serialization = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlin-serialization" }
|
||||||
|
kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlin-coroutines" }
|
||||||
|
kotlin-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
|
||||||
kotlin-test-common = { module = "org.jetbrains.kotlin:kotlin-test-common", version.ref = "kotlin" }
|
kotlin-test-common = { module = "org.jetbrains.kotlin:kotlin-test-common", version.ref = "kotlin" }
|
||||||
kotlin-test-annotations-common = { module = "org.jetbrains.kotlin:kotlin-test-annotations-common", version.ref = "kotlin" }
|
kotlin-test-annotations-common = { module = "org.jetbrains.kotlin:kotlin-test-annotations-common", version.ref = "kotlin" }
|
||||||
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
|
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
|
||||||
kotlin-test-js = { module = "org.jetbrains.kotlin:kotlin-test-js", version.ref = "kotlin" }
|
kotlin-test-js = { module = "org.jetbrains.kotlin:kotlin-test-js", version.ref = "kotlin" }
|
||||||
android-test-junit = { module = "androidx.test.ext:junit", version.ref = "test_ext_junit_version" }
|
android-test-junit = { module = "androidx.test.ext:junit", version.ref = "test_ext_junit_version" }
|
||||||
android-test-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso_core" }
|
android-test-espresso = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso_core" }
|
||||||
|
|
||||||
# buildscript classpaths
|
# buildscript classpaths
|
||||||
|
|
||||||
|
@@ -4,14 +4,13 @@ android {
|
|||||||
compileSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
compileSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
||||||
buildToolsVersion libs.versions.android.buildTools.get()
|
buildToolsVersion libs.versions.android.buildTools.get()
|
||||||
|
|
||||||
namespace "${group}.${project.name}"
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
minSdkVersion libs.versions.android.minSdk.get().toInteger()
|
minSdkVersion libs.versions.android.minSdk.get().toInteger()
|
||||||
compileSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
compileSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
||||||
targetSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
targetSdkVersion libs.versions.android.compileSdk.get().toInteger()
|
||||||
versionCode "${android_code_version}".toInteger()
|
versionCode "${android_code_version}".toInteger()
|
||||||
versionName "$version"
|
versionName "$version"
|
||||||
|
namespace "${project.group}.${project.name}"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
@@ -32,9 +31,4 @@ android {
|
|||||||
sourceCompatibility JavaVersion.VERSION_17
|
sourceCompatibility JavaVersion.VERSION_17
|
||||||
targetCompatibility JavaVersion.VERSION_17
|
targetCompatibility JavaVersion.VERSION_17
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
String sep = File.separator
|
|
||||||
main.java.srcDirs += "src${sep}main${sep}kotlin"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
24
gradle/templates/defaultProject.gradle
Normal file
24
gradle/templates/defaultProject.gradle
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
project.version = "$version"
|
||||||
|
project.group = "$group"
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
sourceSets {
|
||||||
|
commonMain {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('stdlib')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
commonTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-common')
|
||||||
|
implementation kotlin('test-annotations-common')
|
||||||
|
implementation libs.kotlin.coroutines.test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
}
|
25
gradle/templates/defaultProjectWithSerialization.gradle
Normal file
25
gradle/templates/defaultProjectWithSerialization.gradle
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
project.version = "$version"
|
||||||
|
project.group = "$group"
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
sourceSets {
|
||||||
|
commonMain {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('stdlib')
|
||||||
|
api libs.kotlin.serialization
|
||||||
|
}
|
||||||
|
}
|
||||||
|
commonTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-common')
|
||||||
|
implementation kotlin('test-annotations-common')
|
||||||
|
implementation libs.kotlin.coroutines.test
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
}
|
31
gradle/templates/enableMPPAndroid.gradle
Normal file
31
gradle/templates/enableMPPAndroid.gradle
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
kotlin {
|
||||||
|
androidTarget {
|
||||||
|
publishAllLibraryVariants()
|
||||||
|
compilations.all {
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "17"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
androidUnitTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-junit')
|
||||||
|
implementation libs.android.test.junit
|
||||||
|
implementation libs.android.test.espresso
|
||||||
|
}
|
||||||
|
}
|
||||||
|
androidInstrumentedTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-junit')
|
||||||
|
implementation libs.android.test.junit
|
||||||
|
implementation libs.android.test.espresso
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
androidMain.dependsOn jvmMain
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
apply from: "$defaultAndroidSettings"
|
30
gradle/templates/enableMPPJs.gradle
Normal file
30
gradle/templates/enableMPPJs.gradle
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
kotlin {
|
||||||
|
js (IR) {
|
||||||
|
browser {
|
||||||
|
testTask {
|
||||||
|
useMocha {
|
||||||
|
timeout = "240000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nodejs {
|
||||||
|
testTask {
|
||||||
|
useMocha {
|
||||||
|
timeout = "240000"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
jsMain {
|
||||||
|
dependencies {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
jsTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-js')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
21
gradle/templates/enableMPPJvm.gradle
Normal file
21
gradle/templates/enableMPPJvm.gradle
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
kotlin {
|
||||||
|
jvm {
|
||||||
|
compilations.main {
|
||||||
|
kotlinOptions {
|
||||||
|
jvmTarget = "17"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
jvmMain {
|
||||||
|
dependencies {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
jvmTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-junit')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
8
gradle/templates/enableMPPNativeArm64.gradle
Normal file
8
gradle/templates/enableMPPNativeArm64.gradle
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
kotlin {
|
||||||
|
linuxArm64()
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
nativeMain.dependsOn commonMain
|
||||||
|
linuxArm64Main.dependsOn nativeMain
|
||||||
|
}
|
||||||
|
}
|
10
gradle/templates/enableMPPNativeX64.gradle
Normal file
10
gradle/templates/enableMPPNativeX64.gradle
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
kotlin {
|
||||||
|
linuxX64()
|
||||||
|
mingwX64()
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
nativeMain.dependsOn commonMain
|
||||||
|
linuxX64Main.dependsOn nativeMain
|
||||||
|
mingwX64Main.dependsOn nativeMain
|
||||||
|
}
|
||||||
|
}
|
27
gradle/templates/enableMPPWasmJs.gradle
Normal file
27
gradle/templates/enableMPPWasmJs.gradle
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
kotlin {
|
||||||
|
wasmJs {
|
||||||
|
browser {
|
||||||
|
testTask {
|
||||||
|
useKarma {
|
||||||
|
useChromeHeadless()
|
||||||
|
useConfigDirectory(rootProject.relativeProjectPath("gradle/karma.config.d"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
nodejs {
|
||||||
|
testTask {
|
||||||
|
timeout = Duration.ofSeconds(240)
|
||||||
|
nodeJsArgs.add("--unhandled-rejections=warn")
|
||||||
|
nodeJsArgs.add("--trace-warnings")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
wasmJsTest {
|
||||||
|
dependencies {
|
||||||
|
implementation kotlin('test-wasm-js')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,39 +1,5 @@
|
|||||||
project.version = "$version"
|
apply from: "$defaultProject"
|
||||||
project.group = "$group"
|
apply from: "$enableMPPJvm"
|
||||||
|
apply from: "$enableMPPJs"
|
||||||
// apply from: "$publishGradlePath"
|
apply from: "$enableMPPWasmJs"
|
||||||
|
apply from: "$enableMPPAndroid"
|
||||||
kotlin {
|
|
||||||
androidTarget {
|
|
||||||
publishAllLibraryVariants()
|
|
||||||
compilations.all {
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin
|
|
||||||
api libs.kotlin.serialization
|
|
||||||
}
|
|
||||||
}
|
|
||||||
commonTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.common
|
|
||||||
implementation libs.kotlin.test.annotations.common
|
|
||||||
}
|
|
||||||
}
|
|
||||||
androidUnitTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.junit
|
|
||||||
implementation libs.android.test.junit
|
|
||||||
implementation libs.android.test.espresso.core
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "$defaultAndroidSettings"
|
|
||||||
|
@@ -1,39 +1,2 @@
|
|||||||
project.version = "$version"
|
apply from: "$defaultProject"
|
||||||
project.group = "$group"
|
apply from: "$enableMPPJvm"
|
||||||
|
|
||||||
// apply from: "$publishGradlePath"
|
|
||||||
|
|
||||||
kotlin {
|
|
||||||
jvm {
|
|
||||||
compilations.main {
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin
|
|
||||||
api libs.kotlin.serialization
|
|
||||||
}
|
|
||||||
}
|
|
||||||
commonTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.common
|
|
||||||
implementation libs.kotlin.test.annotations.common
|
|
||||||
}
|
|
||||||
}
|
|
||||||
jvmTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.junit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
java {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
|
||||||
targetCompatibility = JavaVersion.VERSION_17
|
|
||||||
}
|
|
||||||
|
@@ -1,31 +1,2 @@
|
|||||||
project.version = "$version"
|
apply from: "$defaultProject"
|
||||||
project.group = "$group"
|
apply from: "$enableMPPJs"
|
||||||
|
|
||||||
// apply from: "$publishGradlePath"
|
|
||||||
|
|
||||||
kotlin {
|
|
||||||
js (IR) {
|
|
||||||
browser()
|
|
||||||
nodejs()
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin
|
|
||||||
api libs.kotlin.serialization
|
|
||||||
}
|
|
||||||
}
|
|
||||||
commonTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.common
|
|
||||||
implementation libs.kotlin.test.annotations.common
|
|
||||||
}
|
|
||||||
}
|
|
||||||
jsTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.js
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@@ -1,65 +1,5 @@
|
|||||||
project.version = "$version"
|
apply from: "$defaultProjectWithSerialization"
|
||||||
project.group = "$group"
|
apply from: "$enableMPPJvm"
|
||||||
|
apply from: "$enableMPPJs"
|
||||||
// apply from: "$publishGradlePath"
|
apply from: "$enableMPPWasmJs"
|
||||||
|
apply from: "$enableMPPAndroid"
|
||||||
kotlin {
|
|
||||||
jvm {
|
|
||||||
compilations.main {
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
js (IR) {
|
|
||||||
browser()
|
|
||||||
nodejs()
|
|
||||||
}
|
|
||||||
androidTarget {
|
|
||||||
publishAllLibraryVariants()
|
|
||||||
compilations.all {
|
|
||||||
kotlinOptions {
|
|
||||||
jvmTarget = "17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
|
||||||
commonMain {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin
|
|
||||||
api libs.kotlin.serialization
|
|
||||||
}
|
|
||||||
}
|
|
||||||
commonTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.common
|
|
||||||
implementation libs.kotlin.test.annotations.common
|
|
||||||
}
|
|
||||||
}
|
|
||||||
jvmTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.junit
|
|
||||||
}
|
|
||||||
}
|
|
||||||
jsTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.js
|
|
||||||
}
|
|
||||||
}
|
|
||||||
androidUnitTest {
|
|
||||||
dependencies {
|
|
||||||
implementation libs.kotlin.test.junit
|
|
||||||
implementation libs.android.test.junit
|
|
||||||
implementation libs.android.test.espresso.core
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
java {
|
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
|
||||||
targetCompatibility = JavaVersion.VERSION_17
|
|
||||||
}
|
|
||||||
|
|
||||||
apply from: "$defaultAndroidSettings"
|
|
||||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
Reference in New Issue
Block a user