diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt index 239d1c6b22c..1be2daf35ad 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/ir/KotlinBrowserJsIr.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.gradle.targets.js.webpack.WebpackDevtool import org.jetbrains.kotlin.gradle.tasks.dependsOn import org.jetbrains.kotlin.gradle.utils.archivesName import org.jetbrains.kotlin.gradle.utils.doNotTrackStateCompat +import org.jetbrains.kotlin.gradle.utils.domainObjectSet import org.jetbrains.kotlin.gradle.utils.relativeOrAbsolute import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly import javax.inject.Inject @@ -41,10 +42,8 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : private val nodeJs = project.rootProject.kotlinNodeJsExtension - private val webpackTaskConfigurations: DomainObjectSet> = project.objects.domainObjectSet(Action::class.java) - as DomainObjectSet> - private val runTaskConfigurations: DomainObjectSet> = project.objects.domainObjectSet(Action::class.java) - as DomainObjectSet> + private val webpackTaskConfigurations = project.objects.domainObjectSet>() + private val runTaskConfigurations = project.objects.domainObjectSet>() override val testTaskDescription: String get() = "Run all ${target.name} tests inside browser using karma and webpack" @@ -76,13 +75,13 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : runTaskConfigurations.add { it.webpackConfigApplier(body) } - testTask(Action { + testTask { it.onTestFrameworkSet { if (it is KotlinKarma) { body.execute(it.webpackConfig) } } - }) + } } override fun runTask(body: Action) { @@ -242,7 +241,7 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) : ) } - copy.into(binary.distribution.directory) + copy.into(binary.distribution.outputDirectory) } if (mode == KotlinJsBinaryMode.PRODUCTION) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/objectFactoryExt.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/objectFactoryExt.kt index ac43dbe3918..502f7470fb3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/objectFactoryExt.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/utils/objectFactoryExt.kt @@ -13,3 +13,6 @@ internal inline fun ObjectFactory.named(name: String): T = internal inline fun ObjectFactory.newInstance(vararg args: Any?): T = newInstance(T::class.java, *args) + +internal inline fun ObjectFactory.domainObjectSet() = + domainObjectSet(T::class.java) \ No newline at end of file