mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
added wrapping tasks with spaces and cleanup configurator
This commit is contained in:
committed by
Sergei Vorobyov
parent
7990de5559
commit
a7c4f869f3
+18
-14
@@ -76,33 +76,37 @@ fun <T> ExternalSystemTaskExecutionSettings.applyTestConfiguration(
|
||||
if (testRunConfigurations.size > 1) {
|
||||
unorderedParameters.add("--continue")
|
||||
}
|
||||
setFrom(taskSettings, unorderedParameters)
|
||||
return true
|
||||
}
|
||||
|
||||
private fun ExternalSystemTaskExecutionSettings.setFrom(taskSettings: List<Pair<String, List<String>>>, unorderedParameters: List<String>) {
|
||||
val hasTasksAfterTaskWithArguments = taskSettings.dropWhile { it.second.isEmpty() }.size > 1
|
||||
if (hasTasksAfterTaskWithArguments) {
|
||||
val joiner = StringJoiner(" ")
|
||||
for ((task, arguments) in taskSettings) {
|
||||
joiner.add(task)
|
||||
for (argument in arguments) {
|
||||
joiner.add(argument)
|
||||
when {
|
||||
task.contains(' ') -> joiner.add("'$task'")
|
||||
else -> joiner.add(task)
|
||||
}
|
||||
joiner.addAll(arguments)
|
||||
}
|
||||
for (argument in unorderedParameters) {
|
||||
joiner.add(argument)
|
||||
}
|
||||
joiner.addAll(unorderedParameters)
|
||||
taskNames = emptyList()
|
||||
scriptParameters = joiner.toString()
|
||||
}
|
||||
else {
|
||||
val arguments = taskSettings.lastOrNull()?.second ?: emptyList()
|
||||
val joiner = StringJoiner(" ")
|
||||
for (argument in arguments) {
|
||||
joiner.add(argument)
|
||||
}
|
||||
for (argument in unorderedParameters) {
|
||||
joiner.add(argument)
|
||||
}
|
||||
joiner.addAll(taskSettings.lastOrNull()?.second ?: emptyList())
|
||||
joiner.addAll(unorderedParameters)
|
||||
taskNames = taskSettings.map { it.first }
|
||||
scriptParameters = joiner.toString()
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
private fun StringJoiner.addAll(elements: Iterable<String>) = apply {
|
||||
for (element in elements) {
|
||||
add(element)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user