@@ -50,7 +50,6 @@ import org.gradle.kotlin.dsl.register
5050import org.gradle.kotlin.dsl.withType
5151import org.jetbrains.dokka.gradle.DokkaExtension
5252import org.jetbrains.kotlin.gradle.dsl.JvmTarget
53- import org.jetbrains.kotlin.gradle.dsl.KotlinJsProjectExtension
5453import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
5554import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension
5655import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
@@ -231,7 +230,7 @@ class WireBuildPlugin : Plugin<Project> {
231230 tasks.withType(KotlinJvmCompile ::class .java).configureEach {
232231 compilerOptions {
233232 jvmTarget.set(JvmTarget .fromTarget(javaVersion.toString()))
234- freeCompilerArgs.add(" -Xjvm -default=all " )
233+ freeCompilerArgs.add(" -jvm -default=no-compatibility " )
235234 }
236235 }
237236 // Kotlin requires the Java compatibility matches.
@@ -252,48 +251,46 @@ class WireBuildPlugin : Plugin<Project> {
252251 kotlin.configureWebKotlinLibraries()
253252 }
254253 plugins.withId(" org.jetbrains.kotlin.js" ) {
255- val kotlin = extensions.getByName(" kotlin" ) as KotlinJsProjectExtension
256- kotlin.configureWebKotlinLibraries ()
254+ val kotlin = extensions.getByName(" kotlin" ) as KotlinProjectExtension
255+ kotlin.configureJsKotlinLibraries ()
257256 }
258257 }
259258
260259 // For KotlinWasm/Js, versions of toolchain and stdlib need to be the same:
261260 // https://youtrack.jetbrains.com/issue/KT-71032
262- private fun KotlinProjectExtension.configureWebKotlinLibraries () {
261+ private fun KotlinProjectExtension.configureJsKotlinLibraries () {
263262 val kotlinVersion = project.getVersionByName(" kotlin" )
264263
265- when (this ) {
266- is KotlinJsProjectExtension -> {
267- val suffix = " js"
268- sourceSets.apply {
269- getByName(" main" ).dependencies {
270- implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
271- }
272- getByName(" test" ).dependencies {
273- implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
274- implementation(" org.jetbrains.kotlin:kotlin-test-$suffix :$kotlinVersion " )
275- }
276- }
264+ val suffix = " js"
265+ sourceSets.apply {
266+ getByName(" main" ).dependencies {
267+ implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
277268 }
269+ getByName(" test" ).dependencies {
270+ implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
271+ implementation(" org.jetbrains.kotlin:kotlin-test-$suffix :$kotlinVersion " )
272+ }
273+ }
274+ }
278275
279- is KotlinMultiplatformExtension -> {
280- targets.matching { it.platformType in listOf (KotlinPlatformType .js, KotlinPlatformType .wasm) }.configureEach {
281- val suffix = when (platformType) {
282- KotlinPlatformType .js -> " js"
283- KotlinPlatformType .wasm -> if (targetName.contains(" wasi" , true )) " wasm-wasi" else " wasm-js"
284- else -> return @configureEach
285- }
276+ private fun KotlinMultiplatformExtension.configureWebKotlinLibraries () {
277+ val kotlinVersion = project.getVersionByName(" kotlin" )
286278
287- this @configureWebKotlinLibraries.sourceSets.apply {
288- getByName(" ${targetName} Main" ).dependencies {
289- implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
290- }
279+ targets.matching { it.platformType in listOf (KotlinPlatformType .js, KotlinPlatformType .wasm) }.configureEach {
280+ val suffix = when (platformType) {
281+ KotlinPlatformType .js -> " js"
282+ KotlinPlatformType .wasm -> if (targetName.contains(" wasi" , true )) " wasm-wasi" else " wasm-js"
283+ else -> return @configureEach
284+ }
291285
292- getByName(" ${targetName} Test" ).dependencies {
293- implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
294- implementation(" org.jetbrains.kotlin:kotlin-test-$suffix :$kotlinVersion " )
295- }
296- }
286+ this @configureWebKotlinLibraries.sourceSets.apply {
287+ getByName(" ${targetName} Main" ).dependencies {
288+ implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
289+ }
290+
291+ getByName(" ${targetName} Test" ).dependencies {
292+ implementation(" org.jetbrains.kotlin:kotlin-stdlib-$suffix :$kotlinVersion " )
293+ implementation(" org.jetbrains.kotlin:kotlin-test-$suffix :$kotlinVersion " )
297294 }
298295 }
299296 }
0 commit comments