diff --git a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/RuntimeClasspathProvider.kt b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/RuntimeClasspathProvider.kt index 5729831889d..e19658cffa5 100644 --- a/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/RuntimeClasspathProvider.kt +++ b/compiler/test-infrastructure/tests/org/jetbrains/kotlin/test/services/RuntimeClasspathProvider.kt @@ -12,6 +12,14 @@ abstract class RuntimeClasspathProvider(val testServices: TestServices) { abstract fun runtimeClassPaths(module: TestModule): List } +abstract class RuntimeClasspathJsProvider(testServices: TestServices) : RuntimeClasspathProvider(testServices) { + override fun runtimeClassPaths(module: TestModule): List { + return listOf( + File(System.getProperty("kotlin.js.dom.api.compat")!!) + ) + } +} + class RuntimeClasspathProvidersContainer(val providers: List) : TestService private val TestServices.runtimeClasspathProviderContainer: RuntimeClasspathProvidersContainer by TestServices.testServiceAccessor() diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index c4157be8a35..9587e7e970d 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -4264,22 +4264,22 @@ - - - - - - - - - - + + + + + + + + + + @@ -4294,18 +4294,18 @@ - - - - - - + + + + + + @@ -4318,22 +4318,22 @@ - - - - - - - - - - + + + + + + + + + + @@ -4342,18 +4342,18 @@ - - - - - - + + + + + + diff --git a/plugins/atomicfu/atomicfu-compiler/test/org/jetbrains/kotlinx/atomicfu/AbstractAtomicfuJsIrTest.kt b/plugins/atomicfu/atomicfu-compiler/test/org/jetbrains/kotlinx/atomicfu/AbstractAtomicfuJsIrTest.kt index d8da0a35ebb..a304abe8708 100644 --- a/plugins/atomicfu/atomicfu-compiler/test/org/jetbrains/kotlinx/atomicfu/AbstractAtomicfuJsIrTest.kt +++ b/plugins/atomicfu/atomicfu-compiler/test/org/jetbrains/kotlinx/atomicfu/AbstractAtomicfuJsIrTest.kt @@ -12,6 +12,7 @@ import org.jetbrains.kotlin.js.test.ir.AbstractJsIrTest import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.services.EnvironmentConfigurator +import org.jetbrains.kotlin.test.services.RuntimeClasspathJsProvider import org.jetbrains.kotlin.test.services.RuntimeClasspathProvider import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlinx.atomicfu.compiler.extensions.AtomicfuLoweringExtension @@ -41,8 +42,8 @@ class AtomicfuEnvironmentConfigurator(testServices: TestServices) : EnvironmentC class AtomicfuJsRuntimeClasspathProvider( testServices: TestServices -) : RuntimeClasspathProvider(testServices) { +) : RuntimeClasspathJsProvider(testServices) { override fun runtimeClassPaths(module: TestModule): List { - return listOf(atomicfuJsCompileDependency, atomicfuJsIrRuntime).map { File(it) } + return super.runtimeClassPaths(module) + listOf(atomicfuJsCompileDependency, atomicfuJsIrRuntime).map { File(it) } } -} \ No newline at end of file +} diff --git a/plugins/kotlinx-serialization/build.gradle.kts b/plugins/kotlinx-serialization/build.gradle.kts index 9135d8da4cd..57200174e92 100644 --- a/plugins/kotlinx-serialization/build.gradle.kts +++ b/plugins/kotlinx-serialization/build.gradle.kts @@ -50,11 +50,11 @@ dependencies { testImplementation(project(":kotlinx-serialization-compiler-plugin.backend")) testImplementation(project(":kotlinx-serialization-compiler-plugin.cli")) - testImplementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1") - testImplementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1") + testImplementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.0") + testImplementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0") - coreJsIrRuntimeForTests("org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1") { isTransitive = false } - jsonJsIrRuntimeForTests("org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1") { isTransitive = false } + coreJsIrRuntimeForTests("org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.0") { isTransitive = false } + jsonJsIrRuntimeForTests("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0") { isTransitive = false } testRuntimeOnly(intellijCore()) testRuntimeOnly(commonDependency("org.jetbrains.kotlin:kotlin-reflect")) { isTransitive = false } diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt index 9bc69c3b086..b911190b663 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.kt @@ -8,7 +8,7 @@ import kotlinx.serialization.encoding.* enum class SimpleEnum { A, B } // Annotated enums do not require @Serializable if runtime has proper factory funciton (runtime ver. >= 1.5.0) -enum class MarkedNameEnum { @SerialName("a") A, B} +enum class MarkedNameEnum { @SerialName("a") A, B} @Serializable enum class ExplicitlyMarkedEnum { @SerialName("a") A, B} diff --git a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.txt b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.txt index 480e2c0c9b4..8418809a389 100644 --- a/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.txt +++ b/plugins/kotlinx-serialization/testData/diagnostics/SerializableEnums.txt @@ -62,18 +62,6 @@ public object EnumSerializer : kotlinx.serialization.KSerializer { - private constructor `$serializer`() - public open override /*1*/ /*synthesized*/ val descriptor: kotlinx.serialization.descriptors.SerialDescriptor - public open override /*1*/ /*synthesized*/ fun childSerializers(): kotlin.Array> - public open override /*1*/ /*synthesized*/ fun deserialize(/*0*/ decoder: kotlinx.serialization.encoding.Decoder): ExplicitlyMarkedEnum - public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean - public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int - public open override /*1*/ /*synthesized*/ fun serialize(/*0*/ encoder: kotlinx.serialization.encoding.Encoder, /*1*/ value: ExplicitlyMarkedEnum): kotlin.Unit - public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String - public open override /*1*/ /*fake_override*/ fun typeParametersSerializers(): kotlin.Array> - } - public companion object Companion { private constructor Companion() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean diff --git a/plugins/kotlinx-serialization/testData/firMembers/enums.fir.txt b/plugins/kotlinx-serialization/testData/firMembers/enums.fir.txt index e26c94fd16e..6b76f15fbd5 100644 --- a/plugins/kotlinx-serialization/testData/firMembers/enums.fir.txt +++ b/plugins/kotlinx-serialization/testData/firMembers/enums.fir.txt @@ -53,22 +53,6 @@ FILE: enums.kt } - public final object $serializer : R|kotlinx/serialization/internal/GeneratedSerializer| { - public final fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|WithNames|): R|kotlin/Unit| - - public final fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|WithNames| - - public final val descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| - public get(): R|kotlinx/serialization/descriptors/SerialDescriptor| - - public final fun childSerializers(): R|kotlin/Array>| - - private constructor(): R|WithNames.$serializer| { - super() - } - - } - } @R|kotlinx/serialization/Serializable|() public final class Holder : R|kotlin/Any| { public constructor(p: R|Plain|, w: R|WithNames|): R|Holder| { diff --git a/plugins/kotlinx-serialization/testData/firMembers/metaSerializable.fir.txt b/plugins/kotlinx-serialization/testData/firMembers/metaSerializable.fir.txt index adb25dc8452..57bf6d0db74 100644 --- a/plugins/kotlinx-serialization/testData/firMembers/metaSerializable.fir.txt +++ b/plugins/kotlinx-serialization/testData/firMembers/metaSerializable.fir.txt @@ -378,22 +378,6 @@ FILE: metaSerializable.kt } - public final object $serializer : R|kotlinx/serialization/internal/GeneratedSerializer| { - public final fun serialize(encoder: R|kotlinx/serialization/encoding/Encoder|, value: R|TestEnum|): R|kotlin/Unit| - - public final fun deserialize(decoder: R|kotlinx/serialization/encoding/Decoder|): R|TestEnum| - - public final val descriptor: R|kotlinx/serialization/descriptors/SerialDescriptor| - public get(): R|kotlinx/serialization/descriptors/SerialDescriptor| - - public final fun childSerializers(): R|kotlin/Array>| - - private constructor(): R|TestEnum.$serializer| { - super() - } - - } - } @R|MySerializableWithInfo|(value = Int(123), kclass = (Q|kotlin/String|)) public final object TestObject : R|kotlin/Any| { private constructor(): R|TestObject| { diff --git a/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/serializationConfiguration.kt b/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/serializationConfiguration.kt index 7a96b2ca93a..fb0460268f2 100644 --- a/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/serializationConfiguration.kt +++ b/plugins/kotlinx-serialization/tests/org/jetbrains/kotlinx/serialization/serializationConfiguration.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.runners.codegen.configureModernJavaTest import org.jetbrains.kotlin.test.services.EnvironmentConfigurator +import org.jetbrains.kotlin.test.services.RuntimeClasspathJsProvider import org.jetbrains.kotlin.test.services.RuntimeClasspathProvider import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegistrar @@ -47,9 +48,9 @@ class SerializationRuntimeClasspathJvmProvider(testServices: TestServices) : Run } } -class SerializationRuntimeClasspathJsProvider(testServices: TestServices) : RuntimeClasspathProvider(testServices) { +class SerializationRuntimeClasspathJsProvider(testServices: TestServices) : RuntimeClasspathJsProvider(testServices) { override fun runtimeClassPaths(module: TestModule): List { - return listOf( + return super.runtimeClassPaths(module) + listOf( File(System.getProperty("serialization.core.path")!!), File(System.getProperty("serialization.json.path")!!), ) diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt index e5d7c6a6f70..1bdb782b002 100644 --- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt +++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/setupIrJsBoxTests.kt @@ -9,17 +9,20 @@ fun Test.useJsIrBoxTests( buildDir: String = "", fullStdLib: String = "libraries/stdlib/build/classes/kotlin/js/main", reducedStdlibPath: String = "libraries/stdlib/js-ir-minimal-for-test/build/classes/kotlin/js/main", - kotlinJsTestPath: String = "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main" + kotlinJsTestPath: String = "libraries/kotlin.test/js-ir/build/classes/kotlin/js/main", + domApiCompatPath: String = "libraries/kotlin-dom-api-compat/build/classes/kotlin/main" ) { setupV8() dependsOn(":kotlin-stdlib:jsJar") dependsOn(":kotlin-stdlib:jsJarForTests") // TODO: think how to remove dependency on the artifact in this place dependsOn(":kotlin-test:kotlin-test-js-ir:compileKotlinJs") dependsOn(":kotlin-stdlib-js-ir-minimal-for-test:compileKotlinJs") + dependsOn(":kotlin-dom-api-compat:compileKotlinJs") systemProperty("kotlin.js.test.root.out.dir", buildDir) systemProperty("kotlin.js.full.stdlib.path", fullStdLib) systemProperty("kotlin.js.reduced.stdlib.path", reducedStdlibPath) systemProperty("kotlin.js.kotlin.test.path", kotlinJsTestPath) systemProperty("kotlin.js.stdlib.klib.path", "libraries/stdlib/build/libs/kotlin-stdlib-js-$version.klib") -} \ No newline at end of file + systemProperty("kotlin.js.dom.api.compat", domApiCompatPath) +}