[Gradle] Added dependencyManagement as to Integration Tests

Also fixed found problems with k/n toolchain feature

^KT-64903 Fixed
This commit is contained in:
Dmitrii Krasnov
2024-01-30 10:49:15 +01:00
committed by Space Team
parent 4b1bbefe05
commit d4a4696baf
69 changed files with 440 additions and 330 deletions
@@ -25,6 +25,8 @@ import org.jetbrains.kotlin.gradle.utils.property
import org.jetbrains.kotlin.konan.target.KonanTarget
import java.io.File
private const val KONAN_DIRECTORY_NAME_TO_CHECK_EXISTENCE = "konan"
/**
* This is a nested provider for all native tasks
*/
@@ -57,8 +59,11 @@ internal class KotlinNativeProvider(project: Project, konanTarget: KonanTarget)
kotlinNativeVersion
}
// Gradle tries to evaluate this val during configuration cache,
// which lead to resolving configuration, even if k/n bundle is in konan home directory.
@Transient
private val kotlinNativeCompilerConfiguration: ConfigurableFileCollection = project.filesProvider {
// without enabled there is no configuration with this name, so we should return empty provider to support configuraiton cache
// without enabled there is no configuration with this name, so we should return empty provider to support configuration cache
if (project.kotlinNativeToolchainEnabled) {
project.configurations.named(
KOTLIN_NATIVE_BUNDLE_CONFIGURATION_NAME
@@ -79,7 +84,7 @@ internal class KotlinNativeProvider(project: Project, konanTarget: KonanTarget)
bundleDir.deleteRecursively()
}
if (!bundleDir.resolve("bin").exists()) {
if (!bundleDir.resolve(KONAN_DIRECTORY_NAME_TO_CHECK_EXISTENCE).exists()) {
val gradleCachesKotlinNativeDir =
kotlinNativeCompilerConfiguration
.singleOrNull()