[Gradle, JS] Fix link task options for IR tooling

This commit is contained in:
Ilya Goncharov
2020-03-26 15:51:25 +03:00
parent f011d2794a
commit bc22489aab
3 changed files with 20 additions and 4 deletions
@@ -23,6 +23,7 @@ import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsSubTargetContainerDsl
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsTargetDsl
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import org.jetbrains.kotlin.gradle.utils.matchingIsInstance
import javax.inject.Inject
open class KotlinJsIrTarget
@@ -126,8 +127,8 @@ constructor(
it.compileKotlinTask.configureCommonJsOptions()
binaries
.filterIsInstance<JsIrBinary>()
.forEach {
.matchingIsInstance<JsIrBinary>()
.all {
it.linkTask.configure { linkTask ->
linkTask.configureCommonJsOptions()
}
@@ -15,6 +15,7 @@ import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
import org.jetbrains.kotlin.gradle.testing.internal.kotlinTestRegistry
import org.jetbrains.kotlin.gradle.testing.testTaskName
import org.jetbrains.kotlin.gradle.utils.matchingIsInstance
open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) :
KotlinOnlyTargetConfigurator<KotlinJsIrCompilation, KotlinJsIrTarget>(true, true, kotlinPluginVersion),
@@ -74,8 +75,8 @@ open class KotlinJsIrTargetConfigurator(kotlinPluginVersion: String) :
}
it.binaries
.filterIsInstance<JsIrBinary>()
.forEach {
.matchingIsInstance<JsIrBinary>()
.all {
it.linkTask.configure { linkTask ->
linkTask.kotlinOptions.configureOptions()
}
@@ -0,0 +1,14 @@
/*
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.utils
import org.gradle.api.DomainObjectSet
inline fun <reified R> DomainObjectSet<*>.matchingIsInstance(): DomainObjectSet<R> {
return matching {
it is R
} as DomainObjectSet<R>
}