[Native] Add simple symbol mechanism to konan.properties

Java Properties format is extremely trivial and does not support any
kind of references or variables. It makes konan.properties repetitive.
This commits adds support of perl-like `$` sigil which allows to
reference properties inside values.
This commit is contained in:
Sergey Bogolepov
2020-09-14 22:05:09 +07:00
parent fc35b5398c
commit 5a0a853d9b
3 changed files with 54 additions and 1 deletions
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.gradle.plugin.PropertiesProvider
import org.jetbrains.kotlin.gradle.plugin.mpp.isAtLeast
import org.jetbrains.kotlin.gradle.utils.NativeCompilerDownloader
import org.jetbrains.kotlin.konan.CompilerVersion
import org.jetbrains.kotlin.konan.properties.resolvablePropertyString
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.KonanTarget
import org.jetbrains.kotlin.konan.util.DependencyDirectories
@@ -104,7 +105,7 @@ internal abstract class AbstractKotlinNativeCInteropRunner(toolName: String, pro
project.file("${project.konanHome}/konan/konan.properties").inputStream().use(::load)
}
konanProperties.getProperty("llvmHome.mingw_x64")?.let { toolchainDir ->
konanProperties.resolvablePropertyString("llvmHome.mingw_x64")?.let { toolchainDir ->
DependencyDirectories.defaultDependenciesRoot
.resolve("$toolchainDir/bin")
.absolutePath