From 290e50eebf174cc4a3a52f70bca23c0726e91336 Mon Sep 17 00:00:00 2001 From: Anton Lakotka Date: Mon, 5 Dec 2022 14:11:21 +0100 Subject: [PATCH] [Gradle, Test] Test that sourcesJar is available during configuration ^KT-55230 --- .../kotlin/gradle/MppPublicationTest.kt | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/MppPublicationTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/MppPublicationTest.kt index cb32914e5d4..338cc56cab7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/MppPublicationTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/MppPublicationTest.kt @@ -18,10 +18,7 @@ import org.gradle.api.publish.PublishingExtension import org.gradle.api.publish.maven.MavenPublication import org.gradle.testfixtures.ProjectBuilder import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension -import kotlin.test.Test -import kotlin.test.assertEquals -import kotlin.test.assertTrue -import kotlin.test.fail +import kotlin.test.* class MppPublicationTest { @@ -129,6 +126,24 @@ class MppPublicationTest { } } + + @Test + fun `sourcesJar task should be available during configuration time`() { + kotlin.linuxX64("linux") + + val sourcesJars = listOf( + "sourcesJar", // sources of common source sets i.e. root module + "jvmSourcesJar", + "jsSourcesJar", + "linuxSourcesJar" + ) + + for (sourcesJarTaskName in sourcesJars) { + val sourcesJar = project.tasks.findByName(sourcesJarTaskName) + assertNotNull(sourcesJar, "Task '$sourcesJarTaskName' should exist during project configuration time") + } + } + private fun SoftwareComponent.attributesOfUsageContext(usageContextName: String): AttributeContainer { this as SoftwareComponentInternal return usages.first { it.name == usageContextName }.attributes