[Gradle, JS] Add attribute for IR target

This commit is contained in:
Ilya Goncharov
2020-01-23 19:42:18 +03:00
parent 9833e2202e
commit 8f8eaa28d5
3 changed files with 8 additions and 1 deletions
@@ -29,7 +29,9 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
import org.jetbrains.kotlin.gradle.plugin.mpp.*
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget.Companion.IR
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget.Companion.LEGACY
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
import java.util.concurrent.Callable
import kotlin.reflect.KMutableProperty1
@@ -451,6 +453,10 @@ fun Configuration.usesPlatformOf(target: KotlinTarget): Configuration {
attributes.attribute(KotlinJsTarget.jsLegacyAttribute, LEGACY)
}
if (target is KotlinJsIrTarget) {
attributes.attribute(KotlinJsTarget.jsLegacyAttribute, IR)
}
// TODO: Provide an universal way to copy attributes from the target.
if (target is KotlinNativeTarget) {
attributes.attribute(KotlinNativeTarget.konanTargetAttribute, target.konanTarget.name)
@@ -34,7 +34,7 @@ open class KotlinJsCompilation(
override val defaultSourceSetName: String
get() = lowerCamelCaseName(
target.disambiguationClassifier?.removePrefix(LEGACY_DISAMBIGUATION_CLASSIFIER),
target.disambiguationClassifier?.removePrefix(LEGACY_DISAMBIGUATION_CLASSIFIER)?.toLowerCase(),
compilationName
)
}
@@ -182,6 +182,7 @@ constructor(
)
const val LEGACY = "legacy"
const val IR = "ir"
fun setupAttributesMatchingStrategy(attributesSchema: AttributesSchema) {
attributesSchema.attribute(jsLegacyAttribute)