From e6fb7463d03b0feee6ae9ca7d018aee48bf3f54d Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 20 Jan 2021 08:15:17 +0300 Subject: [PATCH] Normalize all file properties on Windows Previously the `--output` argument of the jlink task was not normalized. https://github.com/JetBrains/compose-jb/issues/248 --- .../compose/desktop/application/internal/cliArgUtils.kt | 7 ++++++- .../desktop/application/tasks/AbstractJLinkTask.kt | 2 +- .../desktop/application/tasks/AbstractJPackageTask.kt | 8 ++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/cliArgUtils.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/cliArgUtils.kt index 77a60b23cc..d2af5f7f2e 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/cliArgUtils.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/cliArgUtils.kt @@ -1,5 +1,6 @@ package org.jetbrains.compose.desktop.application.internal +import org.gradle.api.file.FileSystemLocation import org.gradle.api.provider.Provider import java.io.File @@ -26,7 +27,11 @@ internal fun MutableCollection.cliArg( private fun defaultToString(): (T) -> String = { - val asString = if (it is File) it.normalizedPath() else it.toString() + val asString = when (it) { + is FileSystemLocation -> it.asFile.normalizedPath() + is File -> it.normalizedPath() + else -> it.toString() + } "\"$asString\"" } diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJLinkTask.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJLinkTask.kt index e4050fbcfe..7d48693239 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJLinkTask.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJLinkTask.kt @@ -41,7 +41,7 @@ abstract class AbstractJLinkTask : AbstractJvmToolOperationTask("jlink") { cliArg("--no-header-files", noHeaderFiles) cliArg("--no-man-pages", noManPages) cliArg("--strip-native-commands", stripNativeCommands) - cliArg("--compress", compressionLevel.orNull?.id ) + cliArg("--compress", compressionLevel.orNull?.id) cliArg("--output", destinationDir) } diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJPackageTask.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJPackageTask.kt index e342427701..734500f4e2 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJPackageTask.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/tasks/AbstractJPackageTask.kt @@ -163,12 +163,12 @@ abstract class AbstractJPackageTask @Inject constructor( cliArg("--input", tmpDir) cliArg("--type", targetFormat.id) - cliArg("--dest", destinationDir.ioFile) + cliArg("--dest", destinationDir) cliArg("--verbose", verbose) cliArg("--install-dir", installationPath) - cliArg("--license-file", licenseFile.ioFileOrNull) - cliArg("--icon", iconFile.ioFileOrNull) + cliArg("--license-file", licenseFile) + cliArg("--icon", iconFile) cliArg("--name", packageName) cliArg("--description", packageDescription) @@ -200,7 +200,7 @@ abstract class AbstractJPackageTask @Inject constructor( cliArg("--mac-package-name", macPackageName) cliArg("--mac-bundle-signing-prefix", macBundleSigningPrefix) cliArg("--mac-sign", macSign) - cliArg("--mac-signing-keychain", macSigningKeychain.ioFileOrNull) + cliArg("--mac-signing-keychain", macSigningKeychain) cliArg("--mac-signing-key-user-name", macSigningKeyUserName) } OS.Windows -> {