mirror of
https://github.com/jlengrand/compose-multiplatform.git
synced 2026-03-10 08:11:20 +00:00
@@ -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"
|
||||
@@ -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")
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,4 +25,8 @@ fun File.checkExists(): File = apply {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun File.checkNotExists(): File = apply {
|
||||
check(!exists()) { "File must not exist: $absolutePath" }
|
||||
}
|
||||
Reference in New Issue
Block a user