@@ -5,7 +5,9 @@ import org.jetbrains.compose.ExperimentalComposeLibrary
55import org.jetbrains.compose.desktop.application.dsl.TargetFormat
66import org.jetbrains.compose.desktop.application.tasks.AbstractJPackageTask
77import org.jetbrains.compose.internal.de.undercouch.gradle.tasks.download.Download
8- import processing.gradle.SignResourcesTask
8+ import java.io.FileOutputStream
9+ import java.util.zip.ZipEntry
10+ import java.util.zip.ZipOutputStream
911
1012// TODO: Update to 2.10.20 and add hot-reloading: https://github.com/JetBrains/compose-hot-reload
1113
@@ -433,8 +435,15 @@ tasks.register<Copy>("includeJavaMode") {
433435 duplicatesStrategy = DuplicatesStrategy .EXCLUDE
434436 dirPermissions { unix(" rwx------" ) }
435437}
438+ val enableWebGPU = findProperty(" enableWebGPU" )?.toString()?.toBoolean() ? : false
439+
436440tasks.register<Copy >(" includeJdk" ) {
437- from(Jvm .current().javaHome.absolutePath)
441+ val jdkVersion = if (enableWebGPU) 24 else 17
442+ val jdkHome = project.the<JavaToolchainService >().launcherFor {
443+ languageVersion.set(JavaLanguageVersion .of(jdkVersion))
444+ }.map { it.metadata.installationPath.asFile }
445+
446+ from(jdkHome)
438447 destinationDir = composeResources(" jdk" ).get().asFile
439448
440449 fileTree(destinationDir).files.forEach { file ->
@@ -517,7 +526,7 @@ tasks.register("includeProcessingResources"){
517526 finalizedBy(" signResources" )
518527}
519528
520- tasks.register< SignResourcesTask > (" signResources" ) {
529+ tasks.register(" signResources" ) {
521530 onlyIf {
522531 OperatingSystem .current().isMacOsX
523532 &&
@@ -562,10 +571,11 @@ tasks.register<SignResourcesTask>("signResources") {
562571 exclude(" *.jar" )
563572 exclude(" *.so" )
564573 exclude(" *.dll" )
565- }.forEach{ file ->
566- exec {
567- commandLine(" codesign" , " --timestamp" , " --force" , " --deep" ," --options=runtime" , " --sign" , " Developer ID Application" , file)
568- }
574+ }.forEach{ f ->
575+ ProcessBuilder (" codesign" , " --timestamp" , " --force" , " --deep" , " --options=runtime" , " --sign" , " Developer ID Application" , f.absolutePath)
576+ .inheritIO()
577+ .start()
578+ .waitFor()
569579 }
570580 jars.forEach { file ->
571581 FileOutputStream (File (file.parentFile, file.nameWithoutExtension)).use { fos ->
0 commit comments