[kpm] Introduce GradleKpm* naming convention (1/2)
All Gradle specific kpm entities shall be disambiguated by using the `GradleKpm` prefix. For example `MyEntity` shall now be called `GradleKpmMyEntity` and a subclass would be called like `GradleKpmSpecialMyEntity`
This commit is contained in:
committed by
Space
parent
e55f00c3d9
commit
dcd47a89dd
+1
-1
@@ -14,4 +14,4 @@ import org.jetbrains.kotlin.project.model.*
|
||||
*/
|
||||
interface GradleKpmCompilerPlugin : Plugin<Project> {
|
||||
val kpmCompilerPlugin: KpmCompilerPlugin
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright 2010-2022 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.plugin.mpp.pm20
|
||||
|
||||
import org.gradle.api.publish.maven.MavenPublication
|
||||
|
||||
interface GradleKpmSingleMavenPublishedModuleHolder {
|
||||
fun assignMavenPublication(publication: MavenPublication)
|
||||
fun whenPublicationAssigned(handlePublication: (MavenPublication) -> Unit)
|
||||
val defaultPublishedModuleSuffix: String?
|
||||
val publishedMavenModuleCoordinates: PublishedModuleCoordinatesProvider
|
||||
}
|
||||
+46
@@ -0,0 +1,46 @@
|
||||
/*
|
||||
* Copyright 2010-2022 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.plugin.mpp.pm20
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.project.model.LanguageSettings
|
||||
|
||||
interface GradleKpmVariantCompilationData<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
||||
override val owner: GradleKpmVariant
|
||||
|
||||
override val project: Project get() = owner.containingModule.project
|
||||
|
||||
override val compilationPurpose: String
|
||||
get() = owner.containingModule.name
|
||||
|
||||
override val compilationClassifier: String
|
||||
get() = owner.name
|
||||
|
||||
override val output: KotlinCompilationOutput
|
||||
get() = owner.compilationOutputs
|
||||
|
||||
override val compileKotlinTaskName: String
|
||||
|
||||
override val compileAllTaskName: String
|
||||
|
||||
override val kotlinSourceDirectoriesByFragmentName: Map<String, SourceDirectorySet>
|
||||
|
||||
override val compileDependencyFiles: FileCollection
|
||||
get() = owner.compileDependencyFiles
|
||||
|
||||
override val languageSettings: LanguageSettings
|
||||
get() = owner.languageSettings
|
||||
|
||||
override val platformType: KotlinPlatformType
|
||||
get() = owner.platformType
|
||||
|
||||
override val ownModuleName: String
|
||||
}
|
||||
-31
@@ -38,34 +38,3 @@ interface KotlinCompilationData<T : KotlinCommonOptions> {
|
||||
val friendPaths: Iterable<FileCollection>
|
||||
}
|
||||
|
||||
interface KotlinVariantCompilationData<T : KotlinCommonOptions> : KotlinCompilationData<T> {
|
||||
override val owner: KpmGradleVariant
|
||||
|
||||
override val project: Project get() = owner.containingModule.project
|
||||
|
||||
override val compilationPurpose: String
|
||||
get() = owner.containingModule.name
|
||||
|
||||
override val compilationClassifier: String
|
||||
get() = owner.name
|
||||
|
||||
override val output: KotlinCompilationOutput
|
||||
get() = owner.compilationOutputs
|
||||
|
||||
override val compileKotlinTaskName: String
|
||||
|
||||
override val compileAllTaskName: String
|
||||
|
||||
override val kotlinSourceDirectoriesByFragmentName: Map<String, SourceDirectorySet>
|
||||
|
||||
override val compileDependencyFiles: FileCollection
|
||||
get() = owner.compileDependencyFiles
|
||||
|
||||
override val languageSettings: LanguageSettings
|
||||
get() = owner.languageSettings
|
||||
|
||||
override val platformType: KotlinPlatformType
|
||||
get() = owner.platformType
|
||||
|
||||
override val ownModuleName: String
|
||||
}
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
|
||||
interface KotlinDependencyConfigurations {
|
||||
interface GradleKpmDependencyConfigurations {
|
||||
val apiConfiguration: Configuration
|
||||
val implementationConfiguration: Configuration
|
||||
val compileOnlyConfiguration: Configuration
|
||||
|
||||
+3
-3
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
|
||||
interface KotlinFragmentDependencyConfigurations : KotlinDependencyConfigurations {
|
||||
interface GradleKpmFragmentDependencyConfigurations : GradleKpmDependencyConfigurations {
|
||||
/** This configuration includes the dependencies from the refines-parents */
|
||||
val transitiveApiConfiguration: Configuration
|
||||
|
||||
@@ -25,7 +25,7 @@ interface KotlinFragmentDependencyConfigurations : KotlinDependencyConfiguration
|
||||
override val transitiveApiConfiguration: Configuration,
|
||||
override val transitiveImplementationConfiguration: Configuration,
|
||||
override val transitiveRuntimeOnlyConfiguration: Configuration
|
||||
) : KotlinFragmentDependencyConfigurations
|
||||
) : GradleKpmFragmentDependencyConfigurations
|
||||
|
||||
companion object {
|
||||
fun create(
|
||||
@@ -36,7 +36,7 @@ interface KotlinFragmentDependencyConfigurations : KotlinDependencyConfiguration
|
||||
transitiveApiConfiguration: Configuration,
|
||||
transitiveImplementationConfiguration: Configuration,
|
||||
transitiveRuntimeOnlyConfiguration: Configuration
|
||||
): KotlinFragmentDependencyConfigurations = Impl(
|
||||
): GradleKpmFragmentDependencyConfigurations = Impl(
|
||||
apiConfiguration = apiConfiguration,
|
||||
implementationConfiguration = implementationConfiguration,
|
||||
compileOnlyConfiguration = compileOnlyConfiguration,
|
||||
|
||||
+10
-10
@@ -18,10 +18,10 @@ import org.jetbrains.kotlin.tooling.core.MutableExtras
|
||||
import org.jetbrains.kotlin.tooling.core.closure
|
||||
import org.jetbrains.kotlin.tooling.core.withClosure
|
||||
|
||||
interface KpmGradleFragment : KpmFragment, HasKotlinDependencies, KotlinFragmentDependencyConfigurations, Named {
|
||||
interface GradleKpmFragment : KpmFragment, HasKotlinDependencies, GradleKpmFragmentDependencyConfigurations, Named {
|
||||
override val kotlinSourceRoots: SourceDirectorySet
|
||||
|
||||
override val containingModule: KpmGradleModule
|
||||
override val containingModule: GradleKpmModule
|
||||
|
||||
override fun getName(): String = fragmentName
|
||||
|
||||
@@ -32,16 +32,16 @@ interface KpmGradleFragment : KpmFragment, HasKotlinDependencies, KotlinFragment
|
||||
|
||||
val extras: MutableExtras
|
||||
|
||||
fun refines(other: KpmGradleFragment)
|
||||
fun refines(other: GradleKpmFragment)
|
||||
|
||||
fun refines(other: NamedDomainObjectProvider<KpmGradleFragment>)
|
||||
fun refines(other: NamedDomainObjectProvider<GradleKpmFragment>)
|
||||
|
||||
override val declaredRefinesDependencies: Iterable<KpmGradleFragment>
|
||||
override val declaredRefinesDependencies: Iterable<GradleKpmFragment>
|
||||
|
||||
override val refinesClosure: Set<KpmGradleFragment>
|
||||
override val refinesClosure: Set<GradleKpmFragment>
|
||||
get() = this.closure { it.declaredRefinesDependencies }
|
||||
|
||||
override val withRefinesClosure: Set<KpmGradleFragment>
|
||||
override val withRefinesClosure: Set<GradleKpmFragment>
|
||||
get() = this.withClosure { it.declaredRefinesDependencies }
|
||||
|
||||
override fun dependencies(configureClosure: Closure<Any?>) =
|
||||
@@ -69,8 +69,8 @@ interface KpmGradleFragment : KpmFragment, HasKotlinDependencies, KotlinFragment
|
||||
listOf(transitiveApiConfiguration.name, transitiveImplementationConfiguration.name)
|
||||
}
|
||||
|
||||
val KpmGradleFragment.path: String
|
||||
val GradleKpmFragment.path: String
|
||||
get() = "${project.path}/${containingModule.name}/$fragmentName"
|
||||
|
||||
val KpmGradleFragment.containingVariants: Set<KpmGradleVariant>
|
||||
get() = containingModule.variantsContainingFragment(this).map { it as KpmGradleVariant }.toSet()
|
||||
val GradleKpmFragment.containingVariants: Set<GradleKpmVariant>
|
||||
get() = containingModule.variantsContainingFragment(this).map { it as GradleKpmVariant }.toSet()
|
||||
|
||||
+6
-6
@@ -16,14 +16,14 @@ import org.jetbrains.kotlin.project.model.KpmModule
|
||||
import org.jetbrains.kotlin.project.model.KpmModuleIdentifier
|
||||
import org.jetbrains.kotlin.project.model.KpmCompilerPlugin
|
||||
|
||||
interface KpmGradleModule : KpmModule, Named, HasKotlinDependencies {
|
||||
interface GradleKpmModule : KpmModule, Named, HasKotlinDependencies {
|
||||
val project: Project
|
||||
val moduleClassifier: String?
|
||||
|
||||
override val fragments: ExtensiblePolymorphicDomainObjectContainer<KpmGradleFragment>
|
||||
override val fragments: ExtensiblePolymorphicDomainObjectContainer<GradleKpmFragment>
|
||||
|
||||
// TODO DSL & build script model: find a way to create a flexible typed view on fragments?
|
||||
override val variants: NamedDomainObjectSet<KpmGradleVariant>
|
||||
override val variants: NamedDomainObjectSet<GradleKpmVariant>
|
||||
|
||||
override val plugins: Set<KpmCompilerPlugin>
|
||||
|
||||
@@ -47,10 +47,10 @@ interface KpmGradleModule : KpmModule, Named, HasKotlinDependencies {
|
||||
|
||||
// DSL
|
||||
|
||||
val common: KpmGradleFragment
|
||||
get() = fragments.getByName(KpmGradleFragment.COMMON_FRAGMENT_NAME)
|
||||
val common: GradleKpmFragment
|
||||
get() = fragments.getByName(GradleKpmFragment.COMMON_FRAGMENT_NAME)
|
||||
|
||||
fun common(configure: KpmGradleFragment.() -> Unit) =
|
||||
fun common(configure: GradleKpmFragment.() -> Unit) =
|
||||
common.configure()
|
||||
|
||||
override fun dependencies(configure: KotlinDependencyHandler.() -> Unit) =
|
||||
|
||||
+3
-11
@@ -8,12 +8,11 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.publish.maven.MavenPublication
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationOutput
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.project.model.KpmVariant
|
||||
|
||||
interface KpmGradleVariant : KpmGradleFragment, KpmVariant {
|
||||
interface GradleKpmVariant : GradleKpmFragment, KpmVariant {
|
||||
val platformType: KotlinPlatformType
|
||||
|
||||
// TODO generalize with KotlinCompilation?
|
||||
@@ -33,7 +32,7 @@ interface KpmGradleVariant : KpmGradleFragment, KpmVariant {
|
||||
val gradleVariantNames: Set<String>
|
||||
}
|
||||
|
||||
interface KpmGradleVariantWithRuntime : KpmGradleVariant {
|
||||
interface GradleKpmVariantWithRuntime : GradleKpmVariant {
|
||||
// TODO deduplicate with KotlinCompilation?
|
||||
val runtimeDependenciesConfiguration: Configuration
|
||||
|
||||
@@ -45,7 +44,7 @@ interface KpmGradleVariantWithRuntime : KpmGradleVariant {
|
||||
val runtimeElementsConfiguration: Configuration
|
||||
}
|
||||
|
||||
interface KpmNativeVariant : KpmGradleVariant {
|
||||
interface GradleKpmNativeVariant : GradleKpmVariant {
|
||||
override val platformType: KotlinPlatformType
|
||||
get() = KotlinPlatformType.native
|
||||
|
||||
@@ -54,13 +53,6 @@ interface KpmNativeVariant : KpmGradleVariant {
|
||||
var enableEndorsedLibraries: Boolean
|
||||
}
|
||||
|
||||
interface SingleMavenPublishedModuleHolder {
|
||||
fun assignMavenPublication(publication: MavenPublication)
|
||||
fun whenPublicationAssigned(handlePublication: (MavenPublication) -> Unit)
|
||||
val defaultPublishedModuleSuffix: String?
|
||||
val publishedMavenModuleCoordinates: PublishedModuleCoordinatesProvider
|
||||
}
|
||||
|
||||
interface PublishedModuleCoordinatesProvider {
|
||||
val group: String
|
||||
val name: String
|
||||
|
||||
Reference in New Issue
Block a user