[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.CompilationExecutionSourceSupport
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetTestRun
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetTestRun
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
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.KotlinJsIrSubTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
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.subtargets.KotlinJsSubTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
||||||
import org.jetbrains.kotlin.gradle.testing.KotlinReportAggregatingTestRun
|
import org.jetbrains.kotlin.gradle.testing.KotlinReportAggregatingTestRun
|
||||||
@@ -22,6 +24,9 @@ import kotlin.properties.Delegates
|
|||||||
class JsCompilationExecutionSource(override val compilation: KotlinJsCompilation) :
|
class JsCompilationExecutionSource(override val compilation: KotlinJsCompilation) :
|
||||||
CompilationExecutionSource<KotlinJsCompilation>
|
CompilationExecutionSource<KotlinJsCompilation>
|
||||||
|
|
||||||
|
class JsIrCompilationExecutionSource(override val compilation: KotlinJsIrCompilation) :
|
||||||
|
CompilationExecutionSource<KotlinJsIrCompilation>
|
||||||
|
|
||||||
open class KotlinJsPlatformTestRun(testRunName: String, subtarget: KotlinJsSubTarget) :
|
open class KotlinJsPlatformTestRun(testRunName: String, subtarget: KotlinJsSubTarget) :
|
||||||
KotlinTaskTestRun<JsCompilationExecutionSource, KotlinJsTest>(testRunName, subtarget.target),
|
KotlinTaskTestRun<JsCompilationExecutionSource, KotlinJsTest>(testRunName, subtarget.target),
|
||||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
||||||
@@ -43,22 +48,22 @@ open class KotlinJsPlatformTestRun(testRunName: String, subtarget: KotlinJsSubTa
|
|||||||
}
|
}
|
||||||
|
|
||||||
open class KotlinJsIrPlatformTestRun(testRunName: String, subtarget: KotlinJsIrSubTarget) :
|
open class KotlinJsIrPlatformTestRun(testRunName: String, subtarget: KotlinJsIrSubTarget) :
|
||||||
KotlinTaskTestRun<JsCompilationExecutionSource, KotlinJsTest>(testRunName, subtarget.target),
|
KotlinTaskTestRun<JsIrCompilationExecutionSource, KotlinJsIrTest>(testRunName, subtarget.target),
|
||||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
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
|
get() = _executionSource
|
||||||
set(value) {
|
set(value) {
|
||||||
executionTask.configure { it.compilation = value.compilation }
|
executionTask.configure { it.compilation = value.compilation }
|
||||||
_executionSource = value
|
_executionSource = value
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setExecutionSourceFrom(compilation: KotlinJsCompilation) {
|
override fun setExecutionSourceFrom(compilation: KotlinJsIrCompilation) {
|
||||||
requireCompilationOfTarget(compilation, target)
|
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) :
|
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 }
|
get() = aggregatingTestRun.getConfiguredExecutions().map { it.executionSource }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,11 +119,11 @@ open class KotlinJsReportAggregatingTestRun(
|
|||||||
open class KotlinJsIrReportAggregatingTestRun(
|
open class KotlinJsIrReportAggregatingTestRun(
|
||||||
testRunName: String,
|
testRunName: String,
|
||||||
override val target: KotlinJsIrTarget
|
override val target: KotlinJsIrTarget
|
||||||
) : KotlinReportAggregatingTestRun<JsCompilationExecutionSource, JsIrAggregatingExecutionSource, KotlinJsIrPlatformTestRun>(testRunName),
|
) : KotlinReportAggregatingTestRun<JsIrCompilationExecutionSource, JsIrAggregatingExecutionSource, KotlinJsIrPlatformTestRun>(testRunName),
|
||||||
KotlinTargetTestRun<JsIrAggregatingExecutionSource>,
|
KotlinTargetTestRun<JsIrAggregatingExecutionSource>,
|
||||||
CompilationExecutionSourceSupport<KotlinJsCompilation> {
|
CompilationExecutionSourceSupport<KotlinJsIrCompilation> {
|
||||||
|
|
||||||
override fun setExecutionSourceFrom(compilation: KotlinJsCompilation) = configureAllExecutions {
|
override fun setExecutionSourceFrom(compilation: KotlinJsIrCompilation) = configureAllExecutions {
|
||||||
setExecutionSourceFrom(compilation)
|
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.KotlinJsIrReportAggregatingTestRun
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
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.nodejs.NodeJsExec
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
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.KotlinWebpack
|
||||||
@@ -69,7 +70,7 @@ interface KotlinJsSubTargetDsl {
|
|||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinJsIrSubTargetDsl {
|
interface KotlinJsIrSubTargetDsl {
|
||||||
fun testTask(body: KotlinJsTest.() -> Unit)
|
fun testTask(body: KotlinJsIrTest.() -> Unit)
|
||||||
fun testTask(fn: Closure<*>) {
|
fun testTask(fn: Closure<*>) {
|
||||||
testTask {
|
testTask {
|
||||||
ConfigureUtil.configure(fn, this)
|
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.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin
|
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.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.KotlinWebpack
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig.Devtool
|
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 {
|
it.useKarma {
|
||||||
useChromeHeadless()
|
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.nodejs.NodeJsRootPlugin
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmResolverPlugin
|
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.npm.npmProject
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||||
import org.jetbrains.kotlin.gradle.testing.internal.configureConventions
|
import org.jetbrains.kotlin.gradle.testing.internal.configureConventions
|
||||||
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
|
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)
|
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
|
val compileTask = compilation.compileKotlinTask
|
||||||
|
|
||||||
testJs.group = LifecycleBasePlugin.VERIFICATION_GROUP
|
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() {
|
private fun configureMain() {
|
||||||
target.compilations.all { compilation ->
|
target.compilations.all { compilation ->
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ interface KotlinJsIrTestFramework : RequiresNpmDependencies {
|
|||||||
debug: Boolean
|
debug: Boolean
|
||||||
): TCServiceMessagesTestExecutionSpec
|
): TCServiceMessagesTestExecutionSpec
|
||||||
|
|
||||||
/*
|
/* because KotlinJsTestFramework override it too
|
||||||
override val nodeModulesRequired: Boolean
|
override val nodeModulesRequired: Boolean
|
||||||
get() = true
|
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.dsl.KotlinJsIrNodeDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsExec
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
open class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
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()
|
(project.tasks.getByName(runTaskName) as NodeJsExec).body()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureDefaultTestFramework(it: KotlinJsTest) {
|
override fun configureDefaultTestFramework(it: KotlinJsIrTest) {
|
||||||
it.useMocha { }
|
it.useMocha { }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user