You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

27 lines
649 B

package org.jetbrains.compose.desktop.application.internal
import org.gradle.api.provider.Provider
internal fun <T : Any?> MutableCollection<String>.cliArg(
name: String,
value: T?,
fn: (T) -> String = defaultToString()
) {
if (value is Boolean) {
if (value) add(name)
} else if (value != null) {
add(name)
add(fn(value))
}
}
internal fun <T : Any?> MutableCollection<String>.cliArg(
name: String,
value: Provider<T>,
fn: (T) -> String = defaultToString()
) {
cliArg(name, value.orNull, fn)
}
private fun <T : Any?> defaultToString(): (T) -> String =
{ "\"${it.toString()}\"" }