Skip to content

Commit bff655e

Browse files
committed
Add necessary properties according to KT-75078
1 parent 5239366 commit bff655e

File tree

1 file changed

+40
-4
lines changed

1 file changed

+40
-4
lines changed

composeApp/build.gradle.kts

+40-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
22
import org.jetbrains.compose.ExperimentalComposeLibrary
3-
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion.Companion.fromVersion
43
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
54
import org.jetbrains.kotlin.gradle.targets.js.webpack.KotlinWebpackConfig
65

@@ -11,7 +10,15 @@ plugins {
1110
alias(libs.plugins.pluginCompose)
1211
}
1312

14-
val language_version: String? = project.properties["language_version"] as String?
13+
val kotlinLanguageVersionOverride = providers.gradleProperty("kotlin_language_version")
14+
.map(org.jetbrains.kotlin.gradle.dsl.KotlinVersion::fromVersion)
15+
.orNull
16+
val kotlinApiVersionOverride = providers.gradleProperty("kotlin_api_version")
17+
.map(org.jetbrains.kotlin.gradle.dsl.KotlinVersion::fromVersion)
18+
.orNull
19+
val kotlinAdditionalCliOptions = providers.gradleProperty("kotlin_additional_cli_options")
20+
.map { it.split(" ") }
21+
.orNull
1522

1623
kotlin {
1724
androidTarget {
@@ -53,8 +60,37 @@ kotlin {
5360
binaries.executable()
5461
compilations.configureEach {
5562
compileTaskProvider.configure {
56-
language_version?.let {
57-
compilerOptions.languageVersion.set(fromVersion(it))
63+
if (kotlinLanguageVersionOverride != null) {
64+
compilerOptions {
65+
languageVersion.set(kotlinLanguageVersionOverride)
66+
logger.info("[KUP] ${this@configure.path} : set LV to $kotlinLanguageVersionOverride")
67+
}
68+
}
69+
if (kotlinApiVersionOverride != null) {
70+
compilerOptions {
71+
apiVersion.set(kotlinApiVersionOverride)
72+
logger.info("[KUP] ${this@configure.path} : set APIV to $kotlinApiVersionOverride")
73+
}
74+
}
75+
if (kotlinAdditionalCliOptions != null) {
76+
compilerOptions {
77+
freeCompilerArgs.addAll(kotlinAdditionalCliOptions)
78+
logger.info(
79+
"[KUP] ${this@configure.path} : added ${
80+
kotlinAdditionalCliOptions.joinToString(
81+
" "
82+
)
83+
}"
84+
)
85+
}
86+
}
87+
compilerOptions {
88+
// output reported warnings even in the presence of reported errors
89+
freeCompilerArgs.add("-Xreport-all-warnings")
90+
logger.info("[KUP] ${this@configure.path} : added -Xreport-all-warnings")
91+
// output kotlin.git-searchable names of reported diagnostics
92+
freeCompilerArgs.add("-Xrender-internal-diagnostic-names")
93+
logger.info("[KUP] ${this@configure.path} : added -Xrender-internal-diagnostic-names")
5894
}
5995
}
6096
}

0 commit comments

Comments
 (0)