[Gradle, JS] Migrate in KotlinJsIrTest
This commit is contained in:
+16
-11
@@ -10,8 +10,10 @@ import org.jetbrains.kotlin.gradle.plugin.CompilationExecutionSource
|
||||
import org.jetbrains.kotlin.gradle.plugin.CompilationExecutionSourceSupport
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetTestRun
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrSubTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinJsSubTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.testing.KotlinReportAggregatingTestRun
|
||||
@@ -22,6 +24,9 @@ import kotlin.properties.Delegates
|
||||
class JsCompilationExecutionSource(override val compilation: KotlinJsCompilation) :
|
||||
CompilationExecutionSource<KotlinJsCompilation>
|
||||
|
||||
class JsIrCompilationExecutionSource(override val compilation: KotlinJsIrCompilation) :
|
||||
CompilationExecutionSource<KotlinJsIrCompilation>
|
||||
|
||||
open class KotlinJsPlatformTestRun(testRunName: String, subtarget: KotlinJsSubTarget) :
|
||||
KotlinTaskTestRun<JsCompilationExecutionSource, KotlinJsTest>(testRunName, subtarget.target),
|
||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
||||
@@ -43,22 +48,22 @@ open class KotlinJsPlatformTestRun(testRunName: String, subtarget: KotlinJsSubTa
|
||||
}
|
||||
|
||||
open class KotlinJsIrPlatformTestRun(testRunName: String, subtarget: KotlinJsIrSubTarget) :
|
||||
KotlinTaskTestRun<JsCompilationExecutionSource, KotlinJsTest>(testRunName, subtarget.target),
|
||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
||||
KotlinTaskTestRun<JsIrCompilationExecutionSource, KotlinJsIrTest>(testRunName, subtarget.target),
|
||||
CompilationExecutionSourceSupport<KotlinJsIrCompilation> {
|
||||
|
||||
private var _executionSource: JsCompilationExecutionSource by Delegates.notNull()
|
||||
private var _executionSource: JsIrCompilationExecutionSource by Delegates.notNull()
|
||||
|
||||
final override var executionSource: JsCompilationExecutionSource
|
||||
final override var executionSource: JsIrCompilationExecutionSource
|
||||
get() = _executionSource
|
||||
set(value) {
|
||||
executionTask.configure { it.compilation = value.compilation }
|
||||
_executionSource = value
|
||||
}
|
||||
|
||||
override fun setExecutionSourceFrom(compilation: KotlinJsCompilation) {
|
||||
override fun setExecutionSourceFrom(compilation: KotlinJsIrCompilation) {
|
||||
requireCompilationOfTarget(compilation, target)
|
||||
|
||||
executionSource = JsCompilationExecutionSource(compilation)
|
||||
executionSource = JsIrCompilationExecutionSource(compilation)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,9 +75,9 @@ class JsAggregatingExecutionSource(private val aggregatingTestRun: KotlinJsRepor
|
||||
}
|
||||
|
||||
class JsIrAggregatingExecutionSource(private val aggregatingTestRun: KotlinJsIrReportAggregatingTestRun) :
|
||||
KotlinAggregateExecutionSource<JsCompilationExecutionSource> {
|
||||
KotlinAggregateExecutionSource<JsIrCompilationExecutionSource> {
|
||||
|
||||
override val executionSources: Iterable<JsCompilationExecutionSource>
|
||||
override val executionSources: Iterable<JsIrCompilationExecutionSource>
|
||||
get() = aggregatingTestRun.getConfiguredExecutions().map { it.executionSource }
|
||||
}
|
||||
|
||||
@@ -114,11 +119,11 @@ open class KotlinJsReportAggregatingTestRun(
|
||||
open class KotlinJsIrReportAggregatingTestRun(
|
||||
testRunName: String,
|
||||
override val target: KotlinJsIrTarget
|
||||
) : KotlinReportAggregatingTestRun<JsCompilationExecutionSource, JsIrAggregatingExecutionSource, KotlinJsIrPlatformTestRun>(testRunName),
|
||||
) : KotlinReportAggregatingTestRun<JsIrCompilationExecutionSource, JsIrAggregatingExecutionSource, KotlinJsIrPlatformTestRun>(testRunName),
|
||||
KotlinTargetTestRun<JsIrAggregatingExecutionSource>,
|
||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
||||
CompilationExecutionSourceSupport<KotlinJsIrCompilation> {
|
||||
|
||||
override fun setExecutionSourceFrom(compilation: KotlinJsCompilation) = configureAllExecutions {
|
||||
override fun setExecutionSourceFrom(compilation: KotlinJsIrCompilation) = configureAllExecutions {
|
||||
setExecutionSourceFrom(compilation)
|
||||
}
|
||||
|
||||
|
||||
+2
-1
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.gradle.targets.js.KotlinJsIrPlatformTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsIrReportAggregatingTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
|
||||
@@ -69,7 +70,7 @@ interface KotlinJsSubTargetDsl {
|
||||
}
|
||||
|
||||
interface KotlinJsIrSubTargetDsl {
|
||||
fun testTask(body: KotlinJsTest.() -> Unit)
|
||||
fun testTask(body: KotlinJsIrTest.() -> Unit)
|
||||
fun testTask(fn: Closure<*>) {
|
||||
testTask {
|
||||
ConfigureUtil.configure(fn, this)
|
||||
|
||||
+1
-2
@@ -13,7 +13,6 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.BrowserDistribution
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpack
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Devtool
|
||||
@@ -41,7 +40,7 @@ open class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
}
|
||||
}
|
||||
|
||||
override fun configureDefaultTestFramework(it: KotlinJsTest) {
|
||||
override fun configureDefaultTestFramework(it: KotlinJsIrTest) {
|
||||
it.useKarma {
|
||||
useChromeHeadless()
|
||||
}
|
||||
|
||||
+3
-4
@@ -17,7 +17,6 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsIrSubTargetDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmResolverPlugin
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||
import org.jetbrains.kotlin.gradle.testing.internal.configureConventions
|
||||
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
|
||||
@@ -87,7 +86,7 @@ abstract class KotlinJsIrSubTarget(
|
||||
}
|
||||
}
|
||||
|
||||
override fun testTask(body: KotlinJsTest.() -> Unit) {
|
||||
override fun testTask(body: KotlinJsIrTest.() -> Unit) {
|
||||
testRuns.getByName(KotlinTargetWithTests.DEFAULT_TEST_RUN_NAME).executionTask.configure(body)
|
||||
}
|
||||
|
||||
@@ -119,7 +118,7 @@ abstract class KotlinJsIrSubTarget(
|
||||
)
|
||||
)
|
||||
|
||||
val testJs = project.registerTask<KotlinJsTest>(testRun.subtargetTestTaskName()) { testJs ->
|
||||
val testJs = project.registerTask<KotlinJsIrTest>(testRun.subtargetTestTaskName()) { testJs ->
|
||||
val compileTask = compilation.compileKotlinTask
|
||||
|
||||
testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP
|
||||
@@ -157,7 +156,7 @@ abstract class KotlinJsIrSubTarget(
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract fun configureDefaultTestFramework(it: KotlinJsTest)
|
||||
protected abstract fun configureDefaultTestFramework(it: KotlinJsIrTest)
|
||||
|
||||
private fun configureMain() {
|
||||
target.compilations.all { compilation ->
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ interface KotlinJsIrTestFramework : RequiresNpmDependencies {
|
||||
debug: Boolean
|
||||
): TCServiceMessagesTestExecutionSpec
|
||||
|
||||
/*
|
||||
/* because KotlinJsTestFramework override it too
|
||||
override val nodeModulesRequired: Boolean
|
||||
get() = true
|
||||
*/
|
||||
|
||||
+1
-2
@@ -7,7 +7,6 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||
|
||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsIrNodeDsl
|
||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||
import javax.inject.Inject
|
||||
|
||||
open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
@@ -29,7 +28,7 @@ open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
||||
(project.tasks.getByName(runTaskName) as NodeJsExec).body()
|
||||
}
|
||||
|
||||
override fun configureDefaultTestFramework(it: KotlinJsTest) {
|
||||
override fun configureDefaultTestFramework(it: KotlinJsIrTest) {
|
||||
it.useMocha { }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user