From 636d4a74a58dca04e6954e12eada76f4a7521aa9 Mon Sep 17 00:00:00 2001 From: Sebastian Sellmair Date: Thu, 8 Dec 2022 10:31:26 +0100 Subject: [PATCH] [Gradle] Add convenience extensions for IdeaKotlinBinaryDependency ^KT-55289 Verification Pending --- .../api/kotlin-gradle-plugin-idea.api | 6 ++++++ .../kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependency.kt | 9 +++++++++ .../ide/IdeSourcesAndDocumentationResolutionTest.kt | 4 ++-- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-idea/api/kotlin-gradle-plugin-idea.api b/libraries/tools/kotlin-gradle-plugin-idea/api/kotlin-gradle-plugin-idea.api index b68acd44401..e9e7b45ffc4 100644 --- a/libraries/tools/kotlin-gradle-plugin-idea/api/kotlin-gradle-plugin-idea.api +++ b/libraries/tools/kotlin-gradle-plugin-idea/api/kotlin-gradle-plugin-idea.api @@ -321,6 +321,12 @@ public abstract class org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDepen public abstract fun getCoordinates ()Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryCoordinates; } +public final class org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependencyKt { + public static final fun isClasspathBinaryType (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinResolvedBinaryDependency;)Z + public static final fun isDocumentationBinaryType (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinResolvedBinaryDependency;)Z + public static final fun isSourcesBinaryType (Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinResolvedBinaryDependency;)Z +} + public abstract interface class org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency : java/io/Serializable, org/jetbrains/kotlin/tooling/core/HasMutableExtras { public static final field CLASSPATH_BINARY_TYPE Ljava/lang/String; public static final field Companion Lorg/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinDependency$Companion; diff --git a/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependency.kt b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependency.kt index 5109ec7fabd..9c8c7523223 100644 --- a/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependency.kt +++ b/libraries/tools/kotlin-gradle-plugin-idea/src/main/kotlin/org/jetbrains/kotlin/gradle/idea/tcs/IdeaKotlinBinaryDependency.kt @@ -33,3 +33,12 @@ data class IdeaKotlinUnresolvedBinaryDependency( const val serialVersionUID = 0L } } + +val IdeaKotlinResolvedBinaryDependency.isClasspathBinaryType + get() = this.binaryType == IdeaKotlinDependency.CLASSPATH_BINARY_TYPE + +val IdeaKotlinResolvedBinaryDependency.isSourcesBinaryType + get() = this.binaryType == IdeaKotlinDependency.SOURCES_BINARY_TYPE + +val IdeaKotlinResolvedBinaryDependency.isDocumentationBinaryType + get() = this.binaryType == IdeaKotlinDependency.DOCUMENTATION_BINARY_TYPE diff --git a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ide/IdeSourcesAndDocumentationResolutionTest.kt b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ide/IdeSourcesAndDocumentationResolutionTest.kt index 9ffdacc7271..17f680a58e1 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ide/IdeSourcesAndDocumentationResolutionTest.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/functionalTest/kotlin/org/jetbrains/kotlin/gradle/ide/IdeSourcesAndDocumentationResolutionTest.kt @@ -12,8 +12,8 @@ import org.jetbrains.kotlin.gradle.buildProject import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension import org.jetbrains.kotlin.gradle.enableDefaultStdlibDependency import org.jetbrains.kotlin.gradle.enableDependencyVerification -import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinResolvedBinaryDependency +import org.jetbrains.kotlin.gradle.idea.tcs.isSourcesBinaryType import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.assertMatches import org.jetbrains.kotlin.gradle.idea.testFixtures.tcs.binaryCoordinates import org.jetbrains.kotlin.gradle.kpm.idea.mavenCentralCacheRedirector @@ -57,7 +57,7 @@ class IdeSourcesAndDocumentationResolutionTest { fun resolveDependencySources(sourceSet: KotlinSourceSet): List = project.kotlinIdeMultiplatformImport.resolveDependencies(sourceSet) .filterIsInstance() - .filter { it.binaryType == IdeaKotlinDependency.SOURCES_BINARY_TYPE } + .filter { it.isSourcesBinaryType } /* Check commonMain&commonTest */