Minor, generate trailing comma in enums in Gradle compiler types
This both simplifies the generator code and makes the generated code conform to the style guide (see https://kotlinlang.org/docs/coding-conventions.html#trailing-commas), in particular it improves version control diffs for generated enums.
This commit is contained in:
@@ -22,11 +22,10 @@ internal fun generateJsMainFunctionExecutionMode(
|
|||||||
K2JsArgumentConstants::NO_CALL.name to K2JsArgumentConstants.NO_CALL
|
K2JsArgumentConstants::NO_CALL.name to K2JsArgumentConstants.NO_CALL
|
||||||
)
|
)
|
||||||
|
|
||||||
val lastIndex = modes.size - 1
|
for ((key, value) in modes) {
|
||||||
modes.entries.forEachIndexed { index, mode ->
|
println("$key(\"$value\"),")
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
@@ -55,11 +54,10 @@ internal fun generateJsModuleKind(
|
|||||||
K2JsArgumentConstants::MODULE_ES.name to K2JsArgumentConstants.MODULE_ES
|
K2JsArgumentConstants::MODULE_ES.name to K2JsArgumentConstants.MODULE_ES
|
||||||
)
|
)
|
||||||
|
|
||||||
val lastIndex = kinds.size - 1
|
for ((key, value) in kinds) {
|
||||||
kinds.entries.forEachIndexed { index, mode ->
|
println("$key(\"$value\"),")
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
@@ -86,11 +84,10 @@ internal fun generateJsSourceMapEmbedMode(
|
|||||||
K2JsArgumentConstants::SOURCE_MAP_SOURCE_CONTENT_INLINING.name to K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING,
|
K2JsArgumentConstants::SOURCE_MAP_SOURCE_CONTENT_INLINING.name to K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING,
|
||||||
)
|
)
|
||||||
|
|
||||||
val lastIndex = modes.size - 1
|
for ((key, value) in modes) {
|
||||||
modes.entries.forEachIndexed { index, mode ->
|
println("$key(\"$value\"),")
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
@@ -111,16 +108,15 @@ internal fun generateJsDiagnosticMode(
|
|||||||
val diagnosticModeFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JsDiagnosticMode")
|
val diagnosticModeFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JsDiagnosticMode")
|
||||||
filePrinter(fileFromFqName(apiDir, diagnosticModeFqName)) {
|
filePrinter(fileFromFqName(apiDir, diagnosticModeFqName)) {
|
||||||
generateDeclaration("enum class", diagnosticModeFqName, afterType = "(val mode: String)") {
|
generateDeclaration("enum class", diagnosticModeFqName, afterType = "(val mode: String)") {
|
||||||
val mods = hashMapOf(
|
val modes = hashMapOf(
|
||||||
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_EXCEPTION.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_EXCEPTION,
|
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_EXCEPTION.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_EXCEPTION,
|
||||||
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_LOG.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_LOG,
|
K2JsArgumentConstants::RUNTIME_DIAGNOSTIC_LOG.name to K2JsArgumentConstants.RUNTIME_DIAGNOSTIC_LOG,
|
||||||
)
|
)
|
||||||
|
|
||||||
val lastIndex = mods.size - 1
|
for ((key, value) in modes) {
|
||||||
mods.entries.forEachIndexed { index, mode ->
|
println("$key(\"$value\"),")
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
println("${mode.key}(\"${mode.value}\")$lastChar")
|
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
|
|||||||
@@ -17,13 +17,10 @@ internal fun generateJvmTarget(
|
|||||||
val jvmTargetFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JvmTarget")
|
val jvmTargetFqName = FqName("org.jetbrains.kotlin.gradle.dsl.JvmTarget")
|
||||||
filePrinter(fileFromFqName(apiDir, jvmTargetFqName)) {
|
filePrinter(fileFromFqName(apiDir, jvmTargetFqName)) {
|
||||||
generateDeclaration("enum class", jvmTargetFqName, afterType = "(val target: String)") {
|
generateDeclaration("enum class", jvmTargetFqName, afterType = "(val target: String)") {
|
||||||
val jvmTargetValues = JvmTarget.supportedValues()
|
for (jvmTarget in JvmTarget.supportedValues()) {
|
||||||
|
println("${jvmTarget.name}(\"${jvmTarget.description}\"),")
|
||||||
val lastIndex = jvmTargetValues.size - 1
|
|
||||||
jvmTargetValues.forEachIndexed { index, jvmTarget ->
|
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
println("${jvmTarget.name}(\"${jvmTarget.description}\")$lastChar")
|
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
@@ -35,4 +32,4 @@ internal fun generateJvmTarget(
|
|||||||
println("}")
|
println("}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-6
@@ -21,19 +21,16 @@ internal fun generateKotlinVersion(
|
|||||||
val kotlinVersionFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinVersion")
|
val kotlinVersionFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinVersion")
|
||||||
filePrinter(fileFromFqName(apiDir, kotlinVersionFqName)) {
|
filePrinter(fileFromFqName(apiDir, kotlinVersionFqName)) {
|
||||||
generateDeclaration("enum class", kotlinVersionFqName, afterType = "(val version: String)") {
|
generateDeclaration("enum class", kotlinVersionFqName, afterType = "(val version: String)") {
|
||||||
val languageVersions = LanguageVersion.values()
|
for (languageVersion in LanguageVersion.values()) {
|
||||||
|
|
||||||
val lastIndex = languageVersions.size - 1
|
|
||||||
languageVersions.forEachIndexed { index, languageVersion ->
|
|
||||||
val lastChar = if (index == lastIndex) ";" else ","
|
|
||||||
val prefix = when {
|
val prefix = when {
|
||||||
languageVersion.isUnsupported -> "@Deprecated(\"Unsupported\", level = DeprecationLevel.ERROR) "
|
languageVersion.isUnsupported -> "@Deprecated(\"Unsupported\", level = DeprecationLevel.ERROR) "
|
||||||
languageVersion.isDeprecated -> "@Deprecated(\"Will be removed soon\") "
|
languageVersion.isDeprecated -> "@Deprecated(\"Will be removed soon\") "
|
||||||
else -> ""
|
else -> ""
|
||||||
}
|
}
|
||||||
|
|
||||||
println("${prefix}KOTLIN_${languageVersion.major}_${languageVersion.minor}(\"${languageVersion.versionString}\")$lastChar")
|
println("${prefix}KOTLIN_${languageVersion.major}_${languageVersion.minor}(\"${languageVersion.versionString}\"),")
|
||||||
}
|
}
|
||||||
|
println(";")
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("companion object {")
|
println("companion object {")
|
||||||
|
|||||||
+2
-1
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
|||||||
|
|
||||||
enum class JsDiagnosticMode(val mode: String) {
|
enum class JsDiagnosticMode(val mode: String) {
|
||||||
RUNTIME_DIAGNOSTIC_EXCEPTION("exception"),
|
RUNTIME_DIAGNOSTIC_EXCEPTION("exception"),
|
||||||
RUNTIME_DIAGNOSTIC_LOG("log");
|
RUNTIME_DIAGNOSTIC_LOG("log"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromMode(mode: String): JsDiagnosticMode =
|
fun fromMode(mode: String): JsDiagnosticMode =
|
||||||
|
|||||||
+2
-1
@@ -7,7 +7,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
|||||||
|
|
||||||
enum class JsMainFunctionExecutionMode(val mode: String) {
|
enum class JsMainFunctionExecutionMode(val mode: String) {
|
||||||
CALL("call"),
|
CALL("call"),
|
||||||
NO_CALL("noCall");
|
NO_CALL("noCall"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromMode(mode: String): JsMainFunctionExecutionMode =
|
fun fromMode(mode: String): JsMainFunctionExecutionMode =
|
||||||
|
|||||||
+2
-1
@@ -10,7 +10,8 @@ enum class JsModuleKind(val kind: String) {
|
|||||||
MODULE_PLAIN("plain"),
|
MODULE_PLAIN("plain"),
|
||||||
MODULE_ES("es"),
|
MODULE_ES("es"),
|
||||||
MODULE_COMMONJS("commonjs"),
|
MODULE_COMMONJS("commonjs"),
|
||||||
MODULE_UMD("umd");
|
MODULE_UMD("umd"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromKind(kind: String): JsModuleKind =
|
fun fromKind(kind: String): JsModuleKind =
|
||||||
|
|||||||
+2
-1
@@ -8,7 +8,8 @@ package org.jetbrains.kotlin.gradle.dsl
|
|||||||
enum class JsSourceMapEmbedMode(val mode: String) {
|
enum class JsSourceMapEmbedMode(val mode: String) {
|
||||||
SOURCE_MAP_SOURCE_CONTENT_INLINING("inlining"),
|
SOURCE_MAP_SOURCE_CONTENT_INLINING("inlining"),
|
||||||
SOURCE_MAP_SOURCE_CONTENT_NEVER("never"),
|
SOURCE_MAP_SOURCE_CONTENT_NEVER("never"),
|
||||||
SOURCE_MAP_SOURCE_CONTENT_ALWAYS("always");
|
SOURCE_MAP_SOURCE_CONTENT_ALWAYS("always"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromMode(mode: String): JsSourceMapEmbedMode =
|
fun fromMode(mode: String): JsSourceMapEmbedMode =
|
||||||
|
|||||||
+2
-1
@@ -16,7 +16,8 @@ enum class JvmTarget(val target: String) {
|
|||||||
JVM_15("15"),
|
JVM_15("15"),
|
||||||
JVM_16("16"),
|
JVM_16("16"),
|
||||||
JVM_17("17"),
|
JVM_17("17"),
|
||||||
JVM_18("18");
|
JVM_18("18"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromTarget(target: String): JvmTarget =
|
fun fromTarget(target: String): JvmTarget =
|
||||||
|
|||||||
+2
-1
@@ -15,7 +15,8 @@ enum class KotlinVersion(val version: String) {
|
|||||||
KOTLIN_1_6("1.6"),
|
KOTLIN_1_6("1.6"),
|
||||||
KOTLIN_1_7("1.7"),
|
KOTLIN_1_7("1.7"),
|
||||||
KOTLIN_1_8("1.8"),
|
KOTLIN_1_8("1.8"),
|
||||||
KOTLIN_1_9("1.9");
|
KOTLIN_1_9("1.9"),
|
||||||
|
;
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
fun fromVersion(version: String): KotlinVersion =
|
fun fromVersion(version: String): KotlinVersion =
|
||||||
|
|||||||
Reference in New Issue
Block a user