// DO NOT EDIT MANUALLY!
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
// To regenerate run 'generateGradleOptions' task
@file:Suppress("RemoveRedundantQualifierName", "Deprecation", "Deprecation_Error", "DuplicatedCode")

package org.jetbrains.kotlin.gradle.dsl

enum class KotlinVersion(val version: String) {
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_0("1.0"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_1("1.1"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_2("1.2"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_3("1.3"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_4("1.4"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_5("1.5"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_6("1.6"),
    @Deprecated("Unsupported", level = DeprecationLevel.ERROR) KOTLIN_1_7("1.7"),
    @Deprecated("Will be removed soon") KOTLIN_1_8("1.8"),
    @Deprecated("Will be removed soon") KOTLIN_1_9("1.9"),
    KOTLIN_2_0("2.0"),
    KOTLIN_2_1("2.1"),
    KOTLIN_2_2("2.2"),
    KOTLIN_2_3("2.3"),
    KOTLIN_2_4("2.4"),
    KOTLIN_2_5("2.5"),
    ;

    companion object {
        @JvmStatic
        fun fromVersion(version: String): KotlinVersion =
            KotlinVersion.values().firstOrNull { it.version == version }
                ?: throw IllegalArgumentException(
                    "Unknown Kotlin version: $version,\navailable versions are ${KotlinVersion.values().joinToString { it.version }}\n" +
                            "Prefer configuring 'apiVersion' or 'languageVersion' values via 'compilerOptions' DSL: https://kotl.in/compiler-options-dsl"
                )

        @JvmStatic
        val DEFAULT = KOTLIN_2_2
    }
}
