Skip to content

Commit 9731618

Browse files
authored
Kotlin 1.9.20 update (#230)
* Bumped up the Kotlin version to 1.9.2 * Configure animalsniffer only when the java-base is applied * Suppress actual/expect classes warning * Get rid of default parameters from exception expect's ctors * Setup wasmJs source sets to use old wasm directory * Updated NodeJs version to v21.0.0-canary (the one with V8 supporting required GC features)
1 parent f85bebd commit 9731618

File tree

11 files changed

+47
-12
lines changed

11 files changed

+47
-12
lines changed

build-logic/src/main/kotlin/kotlinx/io/conventions/kotlinx-io-android-compat.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import ru.vyarus.gradle.plugin.animalsniffer.AnimalSnifferExtension
77

8-
pluginManager.withPlugin("java") {
8+
pluginManager.withPlugin("org.gradle.java-base") {
99
apply(plugin = "ru.vyarus.animalsniffer")
1010

1111
configure<AnimalSnifferExtension> {

build-logic/src/main/kotlin/kotlinx/io/conventions/kotlinx-io-multiplatform.gradle.kts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
77
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
88
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
9+
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
910
import kotlin.jvm.optionals.getOrNull
1011

1112
plugins {
@@ -38,7 +39,7 @@ kotlin {
3839
}
3940

4041
@OptIn(org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl::class)
41-
wasm {
42+
wasmJs {
4243
nodejs()
4344
// Disabled because we can't exclude some tests: https://youtrack.jetbrains.com/issue/KT-58291
4445
// browser()
@@ -89,6 +90,12 @@ kotlin {
8990
createSourceSet("linuxTest", parent = unixTest, children = linuxTargets())
9091
createSourceSet("androidMain", parent = unixMain, children = androidTargets())
9192
createSourceSet("androidTest", parent = unixTest, children = androidTargets())
93+
getByName("wasmJsMain") {
94+
kotlin.srcDir(File(File(projectDir, "wasm"), "src"))
95+
}
96+
getByName("wasmJsTest") {
97+
kotlin.srcDir(File(File(projectDir, "wasm"), "test"))
98+
}
9299
}
93100
}
94101

@@ -192,5 +199,10 @@ fun androidTargets() = listOf(
192199
)
193200

194201
rootProject.the<NodeJsRootExtension>().apply {
195-
nodeVersion = "20.4.0"
202+
nodeVersion = "21.0.0-v8-canary202310177990572111"
203+
nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
204+
}
205+
206+
rootProject.tasks.withType<KotlinNpmInstallTask>().configureEach {
207+
args.add("--ignore-engines")
196208
}

build.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55

66
import kotlinx.kover.gradle.plugin.dsl.MetricType
7+
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompile
78
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
89
import org.jetbrains.kotlin.gradle.tasks.KotlinNativeCompile
910

@@ -27,11 +28,19 @@ subprojects {
2728
kotlinOptions {
2829
allWarningsAsErrors = true
2930
freeCompilerArgs += "-Xjvm-default=all"
31+
freeCompilerArgs += "-Xexpect-actual-classes"
3032
}
3133
}
3234
tasks.withType<KotlinNativeCompile>().configureEach {
3335
kotlinOptions {
3436
allWarningsAsErrors = true
37+
freeCompilerArgs += "-Xexpect-actual-classes"
38+
}
39+
}
40+
tasks.withType<KotlinJsCompile>().configureEach {
41+
kotlinOptions {
42+
allWarningsAsErrors = true
43+
freeCompilerArgs += "-Xexpect-actual-classes"
3544
}
3645
}
3746
}

core/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ kotlin {
3232
}
3333

3434
@OptIn(org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl::class)
35-
wasm {
35+
wasmJs {
3636
nodejs {
3737
testTask(Action {
3838
useMocha {

core/common/src/-CommonPlatform.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,16 @@ internal expect fun String.asUtf8ToByteArray(): ByteArray
2727
* Signals about a general issue occurred during I/O operation.
2828
*/
2929
public expect open class IOException(message: String?, cause: Throwable?) : Exception {
30-
public constructor(message: String? = null)
30+
public constructor()
31+
public constructor(message: String?)
3132
}
3233

3334
/**
3435
* Signals that the end of the file or stream was reached unexpectedly during an input operation.
3536
*/
36-
public expect open class EOFException(message: String? = null) : IOException
37+
public expect open class EOFException(message: String?) : IOException {
38+
public constructor()
39+
}
3740

3841

3942
// There is no actual AutoCloseable on JVM (https://youtrack.jetbrains.com/issue/KT-55777),

core/js/src/-PlatfromJs.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ public actual open class IOException actual constructor(
1414
cause: Throwable?
1515
) : Exception(message, cause) {
1616
public actual constructor(message: String?) : this(message, null)
17+
18+
public actual constructor() : this(null)
1719
}
1820

19-
public actual open class EOFException actual constructor(message: String?) : IOException(message)
21+
public actual open class EOFException actual constructor(message: String?) : IOException(message) {
22+
public actual constructor() : this(null)
23+
}

core/jvm/src/RawSink.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@
2121
package kotlinx.io
2222

2323
import java.io.Flushable
24-
25-
@OptIn(ExperimentalStdlibApi::class)
2624
public actual interface RawSink : AutoCloseableAlias, Flushable {
2725
public actual fun write(source: Buffer, byteCount: Long)
2826

core/native/src/-NonJvmPlatform.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ public actual open class IOException actual constructor(
2929
cause: Throwable?
3030
) : Exception(message, cause) {
3131
public actual constructor(message: String?) : this(message, null)
32+
33+
public actual constructor() : this(null)
3234
}
3335

34-
public actual open class EOFException actual constructor(message: String?) : IOException(message)
36+
public actual open class EOFException actual constructor(message: String?) : IOException(message) {
37+
public actual constructor() : this(null)
38+
}

core/wasm/src/-PlatformWasm.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ public actual open class IOException actual constructor(
1414
cause: Throwable?
1515
) : Exception(message, cause) {
1616
public actual constructor(message: String?) : this(message, null)
17+
18+
public actual constructor() : this(null)
1719
}
1820

19-
public actual open class EOFException actual constructor(message: String?) : IOException(message)
21+
public actual open class EOFException actual constructor(message: String?) : IOException(message) {
22+
public actual constructor() : this(null)
23+
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ version=0.3.1-SNAPSHOT
88
kotlin.code.style=official
99
org.gradle.jvmargs=-Xmx4G
1010
nativeBenchmarksEnabled=false
11+
kotlin.mpp.applyDefaultHierarchyTemplate=false

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[versions]
2-
kotlin = "1.9.10"
2+
kotlin = "1.9.20"
33
java = "8"
44
dokka = "1.8.20"
55
kover = "0.7.3"

0 commit comments

Comments
 (0)