Skip to content

Commit

Permalink
Unzip wix to build directory (#2838)
Browse files Browse the repository at this point in the history
Resolves #2804
  • Loading branch information
AlexeyTsvetkov authored Apr 4, 2023
1 parent f2fbc7e commit 3483fee
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import org.gradle.api.tasks.Copy
import org.jetbrains.compose.desktop.application.tasks.AbstractJPackageTask
import org.jetbrains.compose.internal.utils.OS
import org.jetbrains.compose.internal.utils.currentOS
import org.jetbrains.compose.internal.utils.ioFile
import java.io.File

internal const val DOWNLOAD_WIX_TOOLSET_TASK_NAME = "downloadWix"
Expand All @@ -37,7 +38,7 @@ internal fun JvmApplicationContext.configureWix() {
val wixDir = project.gradle.gradleUserHomeDir.resolve("compose-jb")
val fileName = "wix311"
val zipFile = wixDir.resolve("$fileName.zip")
val unzipDir = root.projectDir.resolve(fileName)
val unzipDir = root.layout.buildDirectory.dir(fileName)
val download = root.tasks.maybeCreate(DOWNLOAD_WIX_TOOLSET_TASK_NAME, Download::class.java).apply {
onlyIf { !zipFile.isFile }
src("https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311-binaries.zip")
Expand All @@ -46,7 +47,7 @@ internal fun JvmApplicationContext.configureWix() {
val unzip = root.tasks.maybeCreate(UNZIP_WIX_TOOLSET_TASK_NAME, Copy::class.java).apply {
dependsOn(download)
from(project.zipTree(zipFile))
destinationDir = unzipDir
destinationDir = unzipDir.ioFile
}
project.eachWindowsPackageTask {
dependsOn(unzip)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -503,4 +503,19 @@ class DesktopApplicationTest : GradlePluginTestBase() {
check.taskSuccessful(":runDistributable")
}
}

@Test
fun testWixUnzip() {
Assumptions.assumeTrue(currentOS == OS.Windows) { "The test is only relevant for Windows" }

with(testProject(TestProjects.jvm)) {
gradle(":unzipWix").checks {
check.taskSuccessful(":unzipWix")

file("build/wix311").checkExists()
file("build/wix311/light.exe").checkExists()
file("wix311").checkNotExists()
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,8 @@ fun File.checkExists(): File = apply {
}
}
}
}

fun File.checkNotExists(): File = apply {
check(!exists()) { "File must not exist: $absolutePath" }
}

0 comments on commit 3483fee

Please sign in to comment.