[Gradle] Dissolve .kotlin.gradle.kpm package

KT-61463
This commit is contained in:
Sebastian Sellmair
2023-08-25 12:21:21 +02:00
committed by Space Team
parent 0a8cca9be4
commit ea3c275961
6 changed files with 17 additions and 22 deletions
@@ -16,14 +16,11 @@ import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.named
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension
import org.jetbrains.kotlin.gradle.kpm.external.ExternalVariantApi
import org.jetbrains.kotlin.gradle.kpm.external.project
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport
import org.jetbrains.kotlin.gradle.plugin.mpp.external.*
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
@OptIn(ExternalVariantApi::class)
fun KotlinMultiplatformExtension.androidTargetPrototype(): PrototypeAndroidTarget {
val project = this.project
val androidExtension = project.extensions.getByType<LibraryExtension>()
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.gradle.idea.proto.toByteArray
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializationExtension
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinSerializationContext
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency
import org.jetbrains.kotlin.gradle.kpm.idea.IdeaSerializationContext
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.resolvedBy
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport.*
@@ -209,7 +208,7 @@ internal class IdeMultiplatformImportImpl(
}
private fun createSerializationContext(): IdeaKotlinSerializationContext {
return IdeaSerializationContext(
return IdeaKotlinSerializationContext(
logger = extension.project.logger,
extrasSerializationExtensions = registeredExtrasSerializationExtensions.toList()
)
@@ -1,9 +1,9 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.plugin.ide
import org.gradle.api.logging.Logger
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializer
@@ -12,12 +12,12 @@ import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinSerializationContext
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinSerializationLogger
import org.jetbrains.kotlin.tooling.core.Extras
internal fun IdeaSerializationContext(
internal fun IdeaKotlinSerializationContext(
logger: Logger, extrasSerializationExtensions: List<IdeaKotlinExtrasSerializationExtension>
): IdeaKotlinSerializationContext {
return IdeaKotlinSerializationContextImpl(
extrasSerializationExtension = IdeaKpmCompositeExtrasSerializationExtension(logger, extrasSerializationExtensions),
logger = IdeaKpmSerializationLoggerImpl(logger)
extrasSerializationExtension = IdeaKotlinExtrasSerializationExtensionImpl(logger, extrasSerializationExtensions),
logger = IdeaKotlinSerializationLoggerImpl(logger)
)
}
@@ -26,8 +26,10 @@ private class IdeaKotlinSerializationContextImpl(
override val logger: IdeaKotlinSerializationLogger
) : IdeaKotlinSerializationContext
/* Simple composite implementation, reporting conflicting extensions */
private class IdeaKpmCompositeExtrasSerializationExtension(
private class IdeaKotlinExtrasSerializationExtensionImpl(
private val logger: Logger,
private val extensions: List<IdeaKotlinExtrasSerializationExtension>
) : IdeaKotlinExtrasSerializationExtension {
@@ -48,11 +50,11 @@ private class IdeaKpmCompositeExtrasSerializationExtension(
}
/* Simple Gradle logger based implementation */
private class IdeaKpmSerializationLoggerImpl(
private class IdeaKotlinSerializationLoggerImpl(
private val logger: Logger,
) : IdeaKotlinSerializationLogger {
override fun report(severity: IdeaKotlinSerializationLogger.Severity, message: String, cause: Throwable?) {
val text = "[KPM] Serialization: $message"
val text = "Serialization: $message"
when (severity) {
IdeaKotlinSerializationLogger.Severity.WARNING -> logger.warn(text, cause)
IdeaKotlinSerializationLogger.Severity.ERROR -> logger.error(text, cause)
@@ -1,9 +1,9 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.kpm.idea
package org.jetbrains.kotlin.gradle.plugin.ide
import org.jetbrains.kotlin.tooling.core.Extras
import org.jetbrains.kotlin.tooling.core.MutableExtras
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinBooleanExtrasSeriali
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializationExtension
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializer.Companion.javaIoSerializable
import org.jetbrains.kotlin.gradle.idea.tcs.extras.*
import org.jetbrains.kotlin.gradle.kpm.idea.kotlinDebugKey
@InternalKotlinGradlePluginApi
val kotlinExtrasSerialization = IdeaKotlinExtrasSerializationExtension {
@@ -1,16 +1,14 @@
/*
* Copyright 2010-2022 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.gradle.kpm.external
package org.jetbrains.kotlin.gradle.plugin.mpp.external
import org.gradle.api.Project
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension
@RequiresOptIn("API is intended to build external Kotlin Targets.")
annotation class ExternalVariantApi
@ExternalVariantApi
@ExternalKotlinTargetApi
val KotlinTopLevelExtension.project: Project
get() = this.project