summaryrefslogtreecommitdiff
path: root/integration-test/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'integration-test/build.gradle')
-rw-r--r--integration-test/build.gradle91
1 files changed, 68 insertions, 23 deletions
diff --git a/integration-test/build.gradle b/integration-test/build.gradle
index 911cee18..6c4e700f 100644
--- a/integration-test/build.gradle
+++ b/integration-test/build.gradle
@@ -5,23 +5,31 @@ buildscript {
ext.serialization_version = mainLibVersion
repositories {
- mavenLocal()
mavenCentral()
maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" }
+ mavenLocal() {
+ mavenContent {
+ snapshotsOnly()
+ }
+ }
}
}
-// see ../settings.gradle so this plugins could be resolved
+// Versions substituted in settings.gradle
plugins {
- id 'kotlin-multiplatform'
- id 'kotlinx-serialization'
- id 'org.jetbrains.kotlin.kapt'
+ id 'org.jetbrains.kotlin.multiplatform' version '0'
+ id 'org.jetbrains.kotlin.plugin.serialization' version '0'
+ id 'org.jetbrains.kotlin.kapt' version '0'
}
repositories {
- mavenLocal()
mavenCentral()
maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" }
+ mavenLocal() {
+ mavenContent {
+ snapshotsOnly()
+ }
+ }
}
group 'com.example'
@@ -37,23 +45,33 @@ kotlin {
kotlinOptions {
sourceMap = true
moduleKind = "umd"
- metaInfo = true
}
}
}
+ wasmJs {
+ nodejs()
+ }
+ wasmWasi {
+ nodejs()
+ }
jvm {
withJava()
}
- // For ARM, should be changed to iosArm32 or iosArm64
- // For Linux, should be changed to e.g. linuxX64
- // For MacOS, should be changed to e.g. macosX64
- // For Windows, should be changed to e.g. mingwX64
- macosX64("macos")
- linuxX64("linux")
+ macosX64()
+ macosArm64()
+ linuxX64()
+ mingwX64()
+
sourceSets {
+ all {
+ languageSettings {
+ optIn('kotlinx.serialization.ExperimentalSerializationApi')
+ }
+ }
+
commonMain {
dependencies {
- implementation kotlin('stdlib-common')
+ implementation kotlin('stdlib')
implementation "org.jetbrains.kotlinx:kotlinx-serialization-core:$serialization_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization_version"
implementation "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization_version"
@@ -89,21 +107,38 @@ kotlin {
implementation kotlin('test-js')
}
}
- macosMain {
+ wasmJsMain {
dependencies {
+ api 'org.jetbrains.kotlin:kotlin-stdlib-wasm-js'
}
}
- macosTest {}
- linuxMain {
- kotlin.srcDirs = ["src/macosMain/kotlin"]
+ wasmJsTest {
+ dependencies {
+ api 'org.jetbrains.kotlin:kotlin-test-wasm-js'
+ }
}
- linuxTest {
- kotlin.srcDirs = ["src/macosTest/kotlin"]
+ wasmWasiMain {
+ dependencies {
+ api 'org.jetbrains.kotlin:kotlin-stdlib-wasm-wasi'
+ }
+ }
+ wasmWasiTest {
+ dependencies {
+ api 'org.jetbrains.kotlin:kotlin-test-wasm-wasi'
+ }
}
}
- sourceSets.all {
- languageSettings {
- useExperimentalAnnotation('kotlin.Experimental') // annotation FQ-name
+
+ targets.all {
+ compilations.all {
+ kotlinOptions {
+ freeCompilerArgs += "-Xexpect-actual-classes"
+ }
+ }
+ compilations.main {
+ kotlinOptions {
+ allWarningsAsErrors = true
+ }
}
}
}
@@ -113,3 +148,13 @@ dependencies {
}
task run dependsOn "check"
+
+rootProject.extensions.findByType(org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension.class).with {
+ // canary nodejs that supports recent Wasm GC changes
+ it.nodeVersion = "21.0.0-v8-canary202309167e82ab1fa2"
+ it.nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
+}
+
+tasks.withType(org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask).configureEach {
+ args.add("--ignore-engines")
+}