[Gradle] Added test for addKotlinNativeBundleConfiguration

This commit is contained in:
Dmitrii Krasnov
2024-02-07 13:08:23 +01:00
committed by Space Team
parent af872b5692
commit 18c08eb9ff
@@ -9,6 +9,7 @@ import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.testbase.TestVersions.Kotlin.STABLE_RELEASE
import org.jetbrains.kotlin.gradle.util.capitalize
import org.jetbrains.kotlin.gradle.util.replaceFirst
import org.jetbrains.kotlin.konan.target.HostManager
import org.jetbrains.kotlin.konan.target.presetName
import org.junit.jupiter.api.DisplayName
@@ -100,6 +101,39 @@ class KotlinNativeCompilerDownloadIT : KGPBaseTest() {
}
}
@DisplayName("KT-65617: check that `addKotlinNativeBundleConfiguration` does not configure dependencies after configuration has been resolved")
@GradleTest
fun checkThatKonanConfigurationCouldBeConfiguredOnlyOnce(gradleVersion: GradleVersion, @TempDir konanTemp: Path) {
nativeProject(
"commonize-native-distribution",
gradleVersion,
buildOptions = defaultBuildOptions.copy(
konanDataDir = konanTemp,
),
) {
buildGradleKts.replaceFirst(
"plugins {",
"""
@file:Suppress("INVISIBLE_REFERENCE", "INVISIBLE_MEMBER")
import org.jetbrains.kotlin.gradle.targets.native.toolchain.KotlinNativeBundleArtifactFormat
plugins {
""".trimIndent()
)
buildGradleKts.appendText(
"""
tasks.create("taskWithConfigurationResolvedConfiguration") {
dependsOn(":commonizeNativeDistribution")
doFirst {
KotlinNativeBundleArtifactFormat.addKotlinNativeBundleConfiguration(project.rootProject)
}
}
""".trimIndent()
)
build(":commonizeNativeDistribution", "taskWithConfigurationResolvedConfiguration")
}
}
@DisplayName("KT-58303: Downloading Kotlin Native on configuration phase(deprecated version)")
@GradleTest
fun shouldDownloadKotlinNativeOnConfigurationPhaseWithToolchainDisabled(gradleVersion: GradleVersion, @TempDir konanTemp: Path) {