diff --git a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinJsCompilerType.kt b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinJsCompilerType.kt index 6a843c4c4ed..42a3147cd14 100644 --- a/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinJsCompilerType.kt +++ b/libraries/tools/kotlin-gradle-plugin-api/src/main/kotlin/org/jetbrains/kotlin/gradle/plugin/KotlinJsCompilerType.kt @@ -15,6 +15,12 @@ enum class KotlinJsCompilerType { fun byArgumentOrNull(argument: String): KotlinJsCompilerType? = values().firstOrNull { it.name.equals(argument, ignoreCase = true) } + + fun byArgument(argument: String): KotlinJsCompilerType = + byArgumentOrNull(argument) + ?: throw IllegalArgumentException( + "Unable to find $argument setting. Use [${values().toList().joinToString()}]" + ) } } diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt index fcd4c67180c..50db1b7a0f1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinProjectExtension.kt @@ -166,10 +166,7 @@ open class KotlinJsProjectExtension : compiler: String, body: KotlinJsTargetDsl.() -> Unit = { } ): KotlinJsTargetDsl = js( - KotlinJsCompilerType.byArgumentOrNull(compiler) - ?: throw IllegalArgumentException( - "Unable to find $compiler setting. Use [${KotlinJsCompilerType.values().toList().joinToString()}]" - ), + KotlinJsCompilerType.byArgument(compiler), body ) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt index e3d920c096b..a98065dc3d7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/dsl/KotlinTargetContainerWithJsPresetFunctions.kt @@ -31,10 +31,7 @@ interface KotlinTargetContainerWithJsPresetFunctions : configure: KotlinJsTargetDsl.() -> Unit = { } ) = js( name = name, - compiler = KotlinJsCompilerType.byArgumentOrNull(compiler) - ?: throw IllegalArgumentException( - "Unable to find $compiler setting. Use [${KotlinJsCompilerType.values().toList().joinToString()}]" - ), + compiler = KotlinJsCompilerType.byArgument(compiler), configure = configure )