11import org.jetbrains.compose.desktop.application.dsl.TargetFormat
22import org.jetbrains.compose.ExperimentalComposeLibrary
3- import org.jetbrains.kotlin.gradle.dsl.KotlinVersion.Companion.fromVersion
43import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
54import 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
1623kotlin {
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