[Gradle, JS] Fix tests for both mode
This commit is contained in:
+16
-12
@@ -12,15 +12,15 @@ import org.gradle.api.attributes.AttributesSchema
|
|||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
|
||||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetComponent
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.PRIMARY_SINGLE_COMPONENT_NAME
|
import org.jetbrains.kotlin.gradle.plugin.mpp.PRIMARY_SINGLE_COMPONENT_NAME
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
|
||||||
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.subtargets.KotlinBrowserJs
|
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinBrowserJs
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinJsSubTarget
|
import org.jetbrains.kotlin.gradle.targets.js.subtargets.KotlinJsSubTarget
|
||||||
@@ -101,6 +101,7 @@ constructor(
|
|||||||
|
|
||||||
override fun browser(body: KotlinJsBrowserDsl.() -> Unit) {
|
override fun browser(body: KotlinJsBrowserDsl.() -> Unit) {
|
||||||
body(browser)
|
body(browser)
|
||||||
|
irTarget?.browser(body)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val nodejsLazyDelegate = lazy {
|
private val nodejsLazyDelegate = lazy {
|
||||||
@@ -122,23 +123,22 @@ constructor(
|
|||||||
|
|
||||||
override fun nodejs(body: KotlinJsNodeDsl.() -> Unit) {
|
override fun nodejs(body: KotlinJsNodeDsl.() -> Unit) {
|
||||||
body(nodejs)
|
body(nodejs)
|
||||||
|
irTarget?.nodejs(body)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun produceKotlinLibrary() {
|
override fun produceKotlinLibrary() {
|
||||||
produce(KotlinJsProducingType.KOTLIN_LIBRARY) {
|
produce(KotlinJsProducingType.KOTLIN_LIBRARY)
|
||||||
produceKotlinLibrary()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun produceExecutable() {
|
override fun produceExecutable() {
|
||||||
produce(KotlinJsProducingType.EXECUTABLE) {
|
produce(KotlinJsProducingType.EXECUTABLE) {
|
||||||
produceExecutable()
|
(this as KotlinJsSubTarget).produceExecutable()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun produce(
|
private fun produce(
|
||||||
producingType: KotlinJsProducingType,
|
producingType: KotlinJsProducingType,
|
||||||
producer: KotlinJsSubTarget.() -> Unit
|
producer: KotlinJsSubTargetDsl.() -> Unit = {}
|
||||||
) {
|
) {
|
||||||
check(this.producingType == null || this.producingType == producingType) {
|
check(this.producingType == null || this.producingType == producingType) {
|
||||||
"Only one producing type supported. Try to set $producingType but previously ${this.producingType} found"
|
"Only one producing type supported. Try to set $producingType but previously ${this.producingType} found"
|
||||||
@@ -147,11 +147,15 @@ constructor(
|
|||||||
this.producingType = producingType
|
this.producingType = producingType
|
||||||
|
|
||||||
whenBrowserConfigured {
|
whenBrowserConfigured {
|
||||||
(this as KotlinJsSubTarget).producer()
|
if (this is KotlinBrowserJs) {
|
||||||
|
producer()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
whenNodejsConfigured {
|
whenNodejsConfigured {
|
||||||
(this as KotlinJsSubTarget).producer()
|
if (this is KotlinNodeJs) {
|
||||||
|
producer()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-8
@@ -15,10 +15,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
|||||||
import org.jetbrains.kotlin.gradle.targets.js.JsAggregatingExecutionSource
|
import org.jetbrains.kotlin.gradle.targets.js.JsAggregatingExecutionSource
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsProducingType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsProducingType
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBrowserDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsNodeDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
|
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
@@ -91,13 +88,13 @@ constructor(
|
|||||||
|
|
||||||
override fun produceExecutable() {
|
override fun produceExecutable() {
|
||||||
produce(KotlinJsProducingType.EXECUTABLE) {
|
produce(KotlinJsProducingType.EXECUTABLE) {
|
||||||
produceExecutable()
|
(this as KotlinJsIrSubTarget).produceExecutable()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun produce(
|
private fun produce(
|
||||||
producingType: KotlinJsProducingType,
|
producingType: KotlinJsProducingType,
|
||||||
producer: KotlinJsIrSubTarget.() -> Unit = {}
|
producer: KotlinJsSubTargetDsl.() -> Unit = {}
|
||||||
) {
|
) {
|
||||||
check(this.producingType == null || this.producingType == producingType) {
|
check(this.producingType == null || this.producingType == producingType) {
|
||||||
"Only one producing type supported. Try to set $producingType but previously ${this.producingType} found"
|
"Only one producing type supported. Try to set $producingType but previously ${this.producingType} found"
|
||||||
@@ -106,11 +103,11 @@ constructor(
|
|||||||
this.producingType = producingType
|
this.producingType = producingType
|
||||||
|
|
||||||
whenBrowserConfigured {
|
whenBrowserConfigured {
|
||||||
(this as KotlinJsIrSubTarget).producer()
|
producer()
|
||||||
}
|
}
|
||||||
|
|
||||||
whenNodejsConfigured {
|
whenNodejsConfigured {
|
||||||
(this as KotlinJsIrSubTarget).producer()
|
producer()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
-3
@@ -38,9 +38,6 @@ abstract class KotlinJsSubTarget(
|
|||||||
final override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsPlatformTestRun>
|
final override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsPlatformTestRun>
|
||||||
private set
|
private set
|
||||||
|
|
||||||
internal open fun produceKotlinLibrary() {
|
|
||||||
}
|
|
||||||
|
|
||||||
internal open fun produceExecutable() {
|
internal open fun produceExecutable() {
|
||||||
configureBuildVariants()
|
configureBuildVariants()
|
||||||
configureMain()
|
configureMain()
|
||||||
|
|||||||
Reference in New Issue
Block a user