mirror of
https://github.com/jlengrand/compose-multiplatform.git
synced 2026-03-10 08:11:20 +00:00
Gradle plugin delete unavailable simulator (#2413)
* fix gradle plugin delete unavailable simulator * apply suggestion to simpify usage of getSimctlListData()
This commit is contained in:
@@ -33,21 +33,22 @@ fun Project.registerSimulatorTasks(
|
||||
)
|
||||
|
||||
val taskSimulatorDeleteUnavailable = tasks.composeIosTask<AbstractComposeIosTask>("iosSimulatorDeleteUnavailable$id") {
|
||||
val condition = { device: DeviceData -> device.name == deviceName && device.state.contains("unavailable") }
|
||||
onlyIf {
|
||||
getSimctlListData().devices.map { it.value }.flatten().any(condition)
|
||||
}
|
||||
doLast {
|
||||
val device = getSimctlListData().devices.map { it.value }.flatten().first(condition)
|
||||
|
||||
runExternalTool(
|
||||
MacUtils.xcrun,
|
||||
listOf("simctl", "delete", device.udid)
|
||||
)
|
||||
val device = getSimctlListData().devices.map { it.value }.flatten()
|
||||
.firstOrNull { device: DeviceData ->
|
||||
val xcode13Condition = device.state.contains("unavailable")
|
||||
val xcode14Condition = device.isAvailable == false
|
||||
device.name == deviceName && (xcode13Condition || xcode14Condition)
|
||||
}
|
||||
if (device != null) {
|
||||
runExternalTool(
|
||||
MacUtils.xcrun,
|
||||
listOf("simctl", "delete", device.udid)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
val taskCreateSimulator = tasks.composeIosTask<AbstractComposeIosTask>("iosSimulatorCreate$id") {
|
||||
dependsOn(taskSimulatorDeleteUnavailable)
|
||||
onlyIf { getSimctlListData().devices.map { it.value }.flatten().none { it.name == deviceName } }
|
||||
|
||||
Reference in New Issue
Block a user