From 33e391583d56572a29a47f278fff4fe16ccbe2c7 Mon Sep 17 00:00:00 2001 From: "sebastian.sellmair" Date: Wed, 6 Oct 2021 13:13:39 +0200 Subject: [PATCH] [Gradle] Minor: Refactor AbstractCInteropCommonizerTask to extensions ^KT-46198 --- .../AbstractCInteropCommonizerTask.kt | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/AbstractCInteropCommonizerTask.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/AbstractCInteropCommonizerTask.kt index 52d935cf8ea..4dc72f55f34 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/AbstractCInteropCommonizerTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/native/internal/AbstractCInteropCommonizerTask.kt @@ -19,26 +19,30 @@ internal abstract class AbstractCInteropCommonizerTask : DefaultTask() { @get:OutputDirectory abstract val outputDirectory: File - internal fun outputDirectory(group: CInteropCommonizerGroup): File { - val interopsDirectoryName = group.interops.map { it.interopName }.toSet().joinToString(";") - val groupDisambiguation = group.targets.joinToString { it.identityString } + - group.interops.joinToString { it.uniqueName } - - return outputDirectory - .resolve(ensureMaxFileNameLength(interopsDirectoryName)) - .resolve(base64Hash(groupDisambiguation)) - } - internal abstract fun findInteropsGroup(dependent: CInteropCommonizerDependent): CInteropCommonizerGroup? - - internal fun commonizedOutputLibraries(dependent: CInteropCommonizerDependent): FileCollection { - val fileProvider = project.filesProvider { - val group = findInteropsGroup(dependent) ?: return@filesProvider emptySet() - CommonizerOutputFileLayout - .resolveCommonizedDirectory(outputDirectory(group), dependent.target) - .listFiles().orEmpty().toSet() - } - - return fileProvider.builtBy(this) - } +} + +internal fun AbstractCInteropCommonizerTask.outputDirectory(group: CInteropCommonizerGroup): File { + val interopsDirectoryName = group.interops.map { it.interopName }.toSet().joinToString(";") + val groupDisambiguation = group.targets.joinToString { it.identityString } + + group.interops.joinToString { it.uniqueName } + + return outputDirectory + .resolve(ensureMaxFileNameLength(interopsDirectoryName)) + .resolve(base64Hash(groupDisambiguation)) +} + +internal fun AbstractCInteropCommonizerTask.commonizedOutputLibraries(dependent: CInteropCommonizerDependent): FileCollection { + val fileProvider = project.filesProvider { + (commonizedOutputDirectory(dependent) ?: return@filesProvider emptySet()) + .listFiles().orEmpty().toSet() + } + + return fileProvider.builtBy(this) +} + +internal fun AbstractCInteropCommonizerTask.commonizedOutputDirectory(dependent: CInteropCommonizerDependent): File? { + val group = findInteropsGroup(dependent) ?: return null + return CommonizerOutputFileLayout + .resolveCommonizedDirectory(outputDirectory(group), dependent.target) }