[Gradle] Test commonize native distribution and compile task with GCC
It should be possible to commonize native distribution from clean state and compile shared native code in the same gradle build with enabled configuration cache. ^KT-61359 In Progress
This commit is contained in:
committed by
Space Team
parent
657dd31493
commit
e16f03fc49
+31
@@ -90,6 +90,37 @@ open class CommonizerIT : KGPBaseTest() {
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("KT-61359: commonize native distribution and compile with configuration cache")
|
||||
@GradleTest
|
||||
fun testCleanCommonizationWithConfigurationCache(gradleVersion: GradleVersion) {
|
||||
project("commonizeNativeDistributionWithConfigurationCache", gradleVersion) {
|
||||
val buildOptionsWithConfigurationCache = buildOptions.copy(configurationCache = true)
|
||||
// Clean native distribution -> capture configuration cache state
|
||||
build(":cleanNativeDistributionCommonization")
|
||||
build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) {
|
||||
assertTasksExecuted(":commonizeNativeDistribution")
|
||||
assertTasksExecuted(":compileNativeMainKotlinMetadata")
|
||||
assertConfigurationCacheStored()
|
||||
}
|
||||
|
||||
// Clean task outputs -> reuse configuration cache
|
||||
build(":clean")
|
||||
build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) {
|
||||
assertTasksUpToDate(":commonizeNativeDistribution")
|
||||
assertTasksExecuted(":compileNativeMainKotlinMetadata")
|
||||
assertConfigurationCacheReused()
|
||||
}
|
||||
|
||||
// full clean -> reuse configuration cache
|
||||
build("clean", ":cleanNativeDistributionCommonization")
|
||||
build(":compileNativeMainKotlinMetadata", buildOptions = buildOptionsWithConfigurationCache) {
|
||||
assertTasksExecuted(":commonizeNativeDistribution")
|
||||
assertTasksExecuted(":compileNativeMainKotlinMetadata")
|
||||
assertConfigurationCacheReused()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@DisplayName("Commonize Curl Interop UP-TO-DATE check")
|
||||
@GradleTest
|
||||
fun testCommonizeCurlInteropUTDCheck(gradleVersion: GradleVersion) {
|
||||
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
}
|
||||
|
||||
kotlin {
|
||||
linuxX64()
|
||||
linuxArm64()
|
||||
}
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package lib
|
||||
|
||||
fun main() {
|
||||
platform.zlib.ZLIB_VERNUM
|
||||
}
|
||||
Reference in New Issue
Block a user