@@ -11,7 +11,7 @@ plugins {
1111 kotlin(" plugin.power-assert" )
1212// kotlin("plugin.parcelize")
1313 id(" dev.reformator.stacktracedecoroutinator" )
14- id(" org.bytedeco.gradle-javacpp-platform" ) version " 1.5.10"
14+ // id("org.bytedeco.gradle-javacpp-platform") version "1.5.10"
1515}
1616
1717// val appVersionCode = 1
@@ -24,6 +24,14 @@ repositories {
2424 maven(" https://maven.pkg.jetbrains.space/public/p/compose/dev" )
2525 google()
2626}
27+
28+ java {
29+ toolchain {
30+ vendor = JvmVendorSpec .ADOPTIUM
31+ languageVersion = JavaLanguageVersion .of(21 )
32+ }
33+ }
34+
2735kotlin {
2836 jvm(" desktop" )
2937 sourceSets {
@@ -34,7 +42,7 @@ kotlin {
3442 implementation(compose.foundation)
3543 implementation(compose.material)
3644 implementation(compose.material3)
37- // // implementation(compose.material3AdaptiveNavigationSuite)
45+ implementation(compose.material3AdaptiveNavigationSuite)
3846 implementation(compose.materialIconsExtended)
3947// implementation(compose.material3AdaptiveNavigationSuite)
4048
@@ -54,19 +62,23 @@ kotlin {
5462 }
5563
5664 desktopMain.dependencies {
57- implementation(compose.desktop.currentOs)
65+ implementation(compose.desktop.currentOs){
66+ exclude(" org.jetbrains.compose.material" )
67+ }
5868
5969 implementation(Kotlin .stdlib)
6070 implementation(Kotlin .stdlib.common)
6171
6272 implementation(KotlinX .coroutines.core)
73+ // explicit include to fix proguard warning
74+ implementation(KotlinX .serialization.core)
6375 implementation(KotlinX .serialization.json)
6476 implementation(KotlinX .datetime)
6577
6678 implementation(Ktor .client.core)
6779 implementation(Ktor .client.json)
6880 implementation(Ktor .client.cio)
69- implementation(" io.ktor:ktor-network:_" )
81+ // implementation("io.ktor:ktor-network:_")
7082
7183// implementation("org.deepsymmetry:lib-carabiner:_")
7284
@@ -75,20 +87,18 @@ kotlin {
7587
7688// implementation("org.jetbrains.kotlinx:kotlinx-collections-immutable:_")
7789
78- // MIDI xperiments .. WIP
79- implementation(" dev.atsushieno:ktmidi:_" )
80- implementation(" dev.atsushieno:ktmidi-jvm-desktop:_" )
81- api(" dev.atsushieno:libremidi-javacpp:_" )
82- api(" dev.atsushieno:libremidi-javacpp-platform:_" )
90+ // MIDI experiments .. WIP
91+ // implementation("dev.atsushieno:ktmidi:_")
92+ // implementation("dev.atsushieno:ktmidi-jvm-desktop:_")
93+ // api("dev.atsushieno:libremidi-javacpp:_")
94+ // api("dev.atsushieno:libremidi-javacpp-platform:_")
8395
8496 implementation(" io.github.pdvrieze.xmlutil:serialization:_" )
8597// implementation("com.ryanharter.kotlinx.serialization:kotlinx-serialization-xml:_")
8698 implementation(" io.github.xn32:json5k:_" )
8799
88100 implementation(" com.github.doyaaaaaken:kotlin-csv-jvm:_" )
89101
90- implementation(" io.obs-websocket.community:client:_" )
91-
92102 implementation(" io.github.cdimascio:dotenv-kotlin:_" )
93103
94104 implementation(" io.github.oshai:kotlin-logging:_" )
@@ -98,12 +108,16 @@ kotlin {
98108
99109 implementation(" io.github.kdroidfilter:platformtools.core:_" )
100110 implementation(" io.github.kdroidfilter:platformtools.appmanager:_" )
101- implementation(" io.github.kdroidfilter:platformtools.releasefetcher:_" )
111+ implementation(" io.github.kdroidfilter:platformtools.releasefetcher:_" ) {
112+ exclude(" org.slf4j" , " slf4j-simple" )
113+ }
102114 implementation(" io.github.kdroidfilter:platformtools.darkmodedetector:_" )
103115 implementation(" io.github.kdroidfilter:platformtools.permissionhandler:_" )
104116
105117 implementation(" org.jetbrains.kotlinx:kotlinx-coroutines-debug:_" )
106- implementation(" dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm-legacy:_" )
118+ implementation(" io.projectreactor.tools:blockhound:_" )
119+
120+ // implementation("dev.reformator.stacktracedecoroutinator:stacktrace-decoroutinator-jvm-legacy:_")
107121
108122 // Include the Test API
109123// testImplementation(compose.desktop.uiTestJUnit4)
@@ -166,10 +180,14 @@ compose.desktop {
166180 application {
167181 buildTypes.release {
168182 proguard {
169- isEnabled = false
170- version = " 7.4 .0" // may break with compose-navigation
183+ // isEnabled = false
184+ version = " 7.7 .0"
171185// optimize = false
172186// obfuscate = false
187+
188+ configurationFiles.from(
189+ project.file(" compose-desktop.pro" )
190+ )
173191 }
174192 }
175193 mainClass = " Main"
@@ -179,7 +197,9 @@ compose.desktop {
179197 )
180198 jvmArgs + = listOf (
181199 " -Xmx1G" ,
182- " --add-opens" , " java.base/java.lang=ALL-UNNAMED"
200+ " --add-opens" , " java.base/java.lang=ALL-UNNAMED" ,
201+ // required by blockhound
202+ " -XX:+AllowRedefinitionToAddDeleteMethods" ,
183203 )
184204
185205// nativeDistributions {
@@ -208,7 +228,7 @@ compose.desktop {
208228// TargetFormat.Exe,
209229// TargetFormat.Deb,
210230 )
211- packageName = " moe.nikky. nestctrl"
231+ packageName = " nestctrl"
212232 packageVersion = appVersion
213233 vendor = " nikkyai"
214234// this.vendor = null
@@ -249,7 +269,7 @@ project.afterEvaluate {
249269 val runDistributable by getting(AbstractRunDistributableTask ::class ) {
250270// appImageRootDir.
251271 }
252- val packageJar by creating {
272+ val packageJar by registering {
253273 group = " package"
254274 dependsOn(getByName(" packageUberJarForCurrentOS" ))
255275 doLast {
@@ -267,8 +287,9 @@ project.afterEvaluate {
267287 }
268288 }
269289 }
270- val packageDistributable by creating (Zip ::class ) {
290+ val packageDistributable by registering (Zip ::class ) {
271291 group = " package"
292+ // from(createDistributable)
272293 from(createReleaseDistributable)
273294 from(project.file(" README.md" ))
274295 archiveBaseName.set(" nestctrl" )
@@ -288,7 +309,7 @@ project.afterEvaluate {
288309// }
289310// }
290311 }
291- val deployDistributable by creating (Copy ::class ) {
312+ val deployDistributable by registering (Copy ::class ) {
292313 group = " package"
293314 doFirst {
294315 File (System .getProperty(" user.home" )).resolve(" VJ" ).resolve(" nestctrl" ).deleteRecursively()
0 commit comments