[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.gradle.kotlin.dsl.named
import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android import org.jetbrains.kotlin.gradle.android.AndroidKotlinSourceSet.Companion.android
import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension 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.KotlinPlatformType
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport
import org.jetbrains.kotlin.gradle.plugin.mpp.external.* import org.jetbrains.kotlin.gradle.plugin.mpp.external.*
import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory import org.jetbrains.kotlin.gradle.plugin.mpp.external.ExternalKotlinTargetDescriptor.TargetFactory
@OptIn(ExternalVariantApi::class)
fun KotlinMultiplatformExtension.androidTargetPrototype(): PrototypeAndroidTarget { fun KotlinMultiplatformExtension.androidTargetPrototype(): PrototypeAndroidTarget {
val project = this.project val project = this.project
val androidExtension = project.extensions.getByType<LibraryExtension>() 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.IdeaKotlinExtrasSerializationExtension
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinSerializationContext import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinSerializationContext
import org.jetbrains.kotlin.gradle.idea.tcs.IdeaKotlinDependency 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.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.resolvedBy import org.jetbrains.kotlin.gradle.plugin.ide.IdeDependencyResolver.Companion.resolvedBy
import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport.* import org.jetbrains.kotlin.gradle.plugin.ide.IdeMultiplatformImport.*
@@ -209,7 +208,7 @@ internal class IdeMultiplatformImportImpl(
} }
private fun createSerializationContext(): IdeaKotlinSerializationContext { private fun createSerializationContext(): IdeaKotlinSerializationContext {
return IdeaSerializationContext( return IdeaKotlinSerializationContext(
logger = extension.project.logger, logger = extension.project.logger,
extrasSerializationExtensions = registeredExtrasSerializationExtensions.toList() 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. * 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.gradle.api.logging.Logger
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializer 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.gradle.idea.serialize.IdeaKotlinSerializationLogger
import org.jetbrains.kotlin.tooling.core.Extras import org.jetbrains.kotlin.tooling.core.Extras
internal fun IdeaSerializationContext( internal fun IdeaKotlinSerializationContext(
logger: Logger, extrasSerializationExtensions: List<IdeaKotlinExtrasSerializationExtension> logger: Logger, extrasSerializationExtensions: List<IdeaKotlinExtrasSerializationExtension>
): IdeaKotlinSerializationContext { ): IdeaKotlinSerializationContext {
return IdeaKotlinSerializationContextImpl( return IdeaKotlinSerializationContextImpl(
extrasSerializationExtension = IdeaKpmCompositeExtrasSerializationExtension(logger, extrasSerializationExtensions), extrasSerializationExtension = IdeaKotlinExtrasSerializationExtensionImpl(logger, extrasSerializationExtensions),
logger = IdeaKpmSerializationLoggerImpl(logger) logger = IdeaKotlinSerializationLoggerImpl(logger)
) )
} }
@@ -26,8 +26,10 @@ private class IdeaKotlinSerializationContextImpl(
override val logger: IdeaKotlinSerializationLogger override val logger: IdeaKotlinSerializationLogger
) : IdeaKotlinSerializationContext ) : IdeaKotlinSerializationContext
/* Simple composite implementation, reporting conflicting extensions */ /* Simple composite implementation, reporting conflicting extensions */
private class IdeaKpmCompositeExtrasSerializationExtension(
private class IdeaKotlinExtrasSerializationExtensionImpl(
private val logger: Logger, private val logger: Logger,
private val extensions: List<IdeaKotlinExtrasSerializationExtension> private val extensions: List<IdeaKotlinExtrasSerializationExtension>
) : IdeaKotlinExtrasSerializationExtension { ) : IdeaKotlinExtrasSerializationExtension {
@@ -48,11 +50,11 @@ private class IdeaKpmCompositeExtrasSerializationExtension(
} }
/* Simple Gradle logger based implementation */ /* Simple Gradle logger based implementation */
private class IdeaKpmSerializationLoggerImpl( private class IdeaKotlinSerializationLoggerImpl(
private val logger: Logger, private val logger: Logger,
) : IdeaKotlinSerializationLogger { ) : IdeaKotlinSerializationLogger {
override fun report(severity: IdeaKotlinSerializationLogger.Severity, message: String, cause: Throwable?) { override fun report(severity: IdeaKotlinSerializationLogger.Severity, message: String, cause: Throwable?) {
val text = "[KPM] Serialization: $message" val text = "Serialization: $message"
when (severity) { when (severity) {
IdeaKotlinSerializationLogger.Severity.WARNING -> logger.warn(text, cause) IdeaKotlinSerializationLogger.Severity.WARNING -> logger.warn(text, cause)
IdeaKotlinSerializationLogger.Severity.ERROR -> logger.error(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. * 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.Extras
import org.jetbrains.kotlin.tooling.core.MutableExtras 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.IdeaKotlinExtrasSerializationExtension
import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializer.Companion.javaIoSerializable import org.jetbrains.kotlin.gradle.idea.serialize.IdeaKotlinExtrasSerializer.Companion.javaIoSerializable
import org.jetbrains.kotlin.gradle.idea.tcs.extras.* import org.jetbrains.kotlin.gradle.idea.tcs.extras.*
import org.jetbrains.kotlin.gradle.kpm.idea.kotlinDebugKey
@InternalKotlinGradlePluginApi @InternalKotlinGradlePluginApi
val kotlinExtrasSerialization = IdeaKotlinExtrasSerializationExtension { 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. * 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.gradle.api.Project
import org.jetbrains.kotlin.gradle.ExternalKotlinTargetApi
import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension
@RequiresOptIn("API is intended to build external Kotlin Targets.") @ExternalKotlinTargetApi
annotation class ExternalVariantApi
@ExternalVariantApi
val KotlinTopLevelExtension.project: Project val KotlinTopLevelExtension.project: Project
get() = this.project get() = this.project