Skip to content

Commit 4ffd132

Browse files
author
Abduqodiri Qurbonzoda
committed
KotlinJsCompilation -> KotlinJsIrCompilation as legacy compiler is not supported
1 parent 361596a commit 4ffd132

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

plugin/main/src/kotlinx/benchmark/gradle/BenchmarkConfiguration.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ enum class JsBenchmarksExecutor {
7171
class JsBenchmarkTarget(
7272
extension: BenchmarksExtension,
7373
name: String,
74-
val compilation: KotlinJsCompilation
74+
val compilation: KotlinJsIrCompilation
7575
) : BenchmarkTarget(extension, name) {
7676
var jsBenchmarksExecutor: JsBenchmarksExecutor = JsBenchmarksExecutor.BenchmarkJs
7777
}

plugin/main/src/kotlinx/benchmark/gradle/BenchmarksExtension.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ open class BenchmarksExtension(val project: Project) {
6262
KotlinJvmBenchmarkTarget(this, name, compilation)
6363
}
6464
is KotlinJsCompilation -> {
65+
check(compilation is KotlinJsIrCompilation) {
66+
"Legacy Kotlin/JS backend is not supported. Please migrate to the Kotlin/JS IR compiler backend."
67+
}
6568
if (compilation.target.platformType != KotlinPlatformType.wasm) {
6669
JsBenchmarkTarget(this, name, compilation)
6770
} else {
68-
check(compilation is KotlinJsIrCompilation)
6971
WasmBenchmarkTarget(this, name, compilation)
7072
}
7173
}

plugin/main/src/kotlinx/benchmark/gradle/JsEngineExecTasks.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import org.gradle.api.file.RegularFile
66
import org.gradle.api.provider.Provider
77
import org.gradle.api.tasks.TaskProvider
88
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
9-
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
109
import org.jetbrains.kotlin.gradle.targets.js.d8.D8Exec
1110
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
1211
import org.jetbrains.kotlin.gradle.targets.js.ir.*
@@ -15,13 +14,11 @@ import org.jetbrains.kotlin.gradle.targets.js.nodejs.*
1514
fun Project.createJsEngineBenchmarkExecTask(
1615
config: BenchmarkConfiguration,
1716
target: BenchmarkTarget,
18-
compilation: KotlinJsCompilation
17+
compilation: KotlinJsIrCompilation
1918
) {
2019
val taskName = "${target.name}${config.capitalizedName()}${BenchmarksPlugin.BENCHMARK_EXEC_SUFFIX}"
2120
val compilationTarget = compilation.target
2221

23-
check(compilation is KotlinJsIrCompilation) { "Legacy Kotlin/JS backend is not supported. Please migrate to the Kotlin/JS IR compiler backend." }
24-
2522
if (compilationTarget is KotlinJsSubTargetContainerDsl) {
2623
compilationTarget.whenNodejsConfigured {
2724
val execTask = createNodeJsExec(config, target, compilation, taskName)
@@ -40,7 +37,7 @@ fun Project.createJsEngineBenchmarkExecTask(
4037
}
4138
}
4239

43-
private fun Project.getExecutableFile(compilation: KotlinJsCompilation): Provider<RegularFile> {
40+
private fun Project.getExecutableFile(compilation: KotlinJsIrCompilation): Provider<RegularFile> {
4441
val executableFile = when (val kotlinTarget = compilation.target) {
4542
is KotlinJsIrTarget -> {
4643
val binary = kotlinTarget.binaries.executable(compilation)
@@ -54,7 +51,7 @@ private fun Project.getExecutableFile(compilation: KotlinJsCompilation): Provide
5451
return project.layout.file(executableFile)
5552
}
5653

57-
private val KotlinJsCompilation.isWasmCompilation: Boolean get() =
54+
private val KotlinJsIrCompilation.isWasmCompilation: Boolean get() =
5855
target.platformType == KotlinPlatformType.wasm
5956

6057
private fun MutableList<String>.addWasmArguments() {
@@ -70,7 +67,7 @@ private fun MutableList<String>.addJsArguments() {
7067
private fun Project.createNodeJsExec(
7168
config: BenchmarkConfiguration,
7269
target: BenchmarkTarget,
73-
compilation: KotlinJsCompilation,
70+
compilation: KotlinJsIrCompilation,
7471
taskName: String
7572
): TaskProvider<NodeJsExec> = NodeJsExec.create(compilation, taskName) {
7673
if (compilation.target.platformType == KotlinPlatformType.wasm) {

plugin/main/src/kotlinx/benchmark/gradle/JsMultiplatformTasks.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ fun Project.processJsCompilation(target: JsBenchmarkTarget) {
1818
}
1919
}
2020

21-
private fun Project.createJsBenchmarkCompileTask(target: JsBenchmarkTarget): KotlinJsCompilation {
21+
private fun Project.createJsBenchmarkCompileTask(target: JsBenchmarkTarget): KotlinJsIrCompilation {
2222
val compilation = target.compilation
2323
val benchmarkBuildDir = benchmarkBuildDir(target)
2424
val benchmarkCompilation =
25-
compilation.target.compilations.create(target.name + BenchmarksPlugin.BENCHMARK_COMPILATION_SUFFIX) as KotlinJsCompilation
25+
compilation.target.compilations.create(target.name + BenchmarksPlugin.BENCHMARK_COMPILATION_SUFFIX) as KotlinJsIrCompilation
2626

2727
(compilation.target as KotlinJsTargetDsl).apply {
2828
//force to create executable: required for IR, do nothing on Legacy
@@ -66,7 +66,7 @@ private fun Project.createJsBenchmarkCompileTask(target: JsBenchmarkTarget): Kot
6666

6767
private fun Project.createJsBenchmarkGenerateSourceTask(
6868
target: JsBenchmarkTarget,
69-
compilationOutput: KotlinJsCompilation
69+
compilationOutput: KotlinJsIrCompilation
7070
) {
7171
val benchmarkBuildDir = benchmarkBuildDir(target)
7272
task<JsSourceGeneratorTask>("${target.name}${BenchmarksPlugin.BENCHMARK_GENERATE_SUFFIX}") {

0 commit comments

Comments
 (0)