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