[Gradle][KPM] Rename KotlinFragmentNameDisambiguation into KotlinNameDisambiguation
This commit is contained in:
committed by
Space
parent
2a43199287
commit
3002829acf
+1
@@ -8,6 +8,7 @@
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
typealias KotlinCommonFragmentFactory = KotlinGradleFragmentFactory<KotlinGradleFragmentInternal>
|
||||
|
||||
|
||||
+2
-2
@@ -6,12 +6,12 @@
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
interface KotlinFragmentConfigurationInstantiator {
|
||||
fun create(
|
||||
module: KotlinGradleModule,
|
||||
names: FragmentNameDisambiguation,
|
||||
names: KotlinNameDisambiguation,
|
||||
dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration
|
||||
}
|
||||
|
||||
+3
-3
@@ -5,15 +5,15 @@
|
||||
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
interface KotlinFragmentDependencyConfigurationsFactory {
|
||||
fun create(module: KotlinGradleModule, names: FragmentNameDisambiguation): KotlinFragmentDependencyConfigurations
|
||||
fun create(module: KotlinGradleModule, names: KotlinNameDisambiguation): KotlinFragmentDependencyConfigurations
|
||||
}
|
||||
|
||||
object DefaultKotlinFragmentDependencyConfigurationsFactory : KotlinFragmentDependencyConfigurationsFactory {
|
||||
|
||||
override fun create(module: KotlinGradleModule, names: FragmentNameDisambiguation): KotlinFragmentDependencyConfigurations {
|
||||
override fun create(module: KotlinGradleModule, names: KotlinNameDisambiguation): KotlinFragmentDependencyConfigurations {
|
||||
val configurations = module.project.configurations
|
||||
val apiConfiguration = configurations.maybeCreate(names.disambiguateName("api"))
|
||||
val implementationConfiguration = configurations.maybeCreate(names.disambiguateName("implementation"))
|
||||
|
||||
+1
@@ -9,6 +9,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20
|
||||
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.configuration.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
fun <T : KotlinNativeVariantInternal> KotlinNativeVariantFactory(
|
||||
nativeVariantInstantiator: KotlinNativeVariantInstantiator<T>,
|
||||
|
||||
+2
-1
@@ -10,13 +10,14 @@ import org.gradle.api.attributes.Bundling
|
||||
import org.gradle.api.attributes.Category
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
interface KotlinApiElementsConfigurationInstantiator : KotlinFragmentConfigurationInstantiator
|
||||
|
||||
object DefaultKotlinApiElementsConfigurationInstantiator : KotlinApiElementsConfigurationInstantiator {
|
||||
override fun create(
|
||||
module: KotlinGradleModule,
|
||||
names: FragmentNameDisambiguation,
|
||||
names: KotlinNameDisambiguation,
|
||||
dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration {
|
||||
return module.project.configurations.maybeCreate(names.disambiguateName("apiElements")).apply {
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20.configuration
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
|
||||
|
||||
|
||||
@@ -16,7 +17,7 @@ interface KotlinCompileDependenciesConfigurationInstantiator : KotlinFragmentCon
|
||||
object DefaultKotlinCompileDependenciesConfigurationInstantiator : KotlinCompileDependenciesConfigurationInstantiator {
|
||||
override fun create(
|
||||
module: KotlinGradleModule,
|
||||
names: FragmentNameDisambiguation,
|
||||
names: KotlinNameDisambiguation,
|
||||
dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration {
|
||||
return module.project.configurations.maybeCreate(names.disambiguateName("compileDependencies")).apply {
|
||||
|
||||
+2
-1
@@ -11,6 +11,7 @@ import org.gradle.api.artifacts.Configuration
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.isHostSpecificKonanTargetsSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
|
||||
interface KotlinHostSpecificMetadataElementsConfigurationInstantiator : KotlinFragmentConfigurationInstantiator
|
||||
@@ -23,7 +24,7 @@ fun DefaultKotlinHostSpecificMetadataElementsConfigurationInstantiator(
|
||||
private object DefaultKotlinHostSpecificMetadataElementsConfigurationInstantiator :
|
||||
KotlinHostSpecificMetadataElementsConfigurationInstantiator {
|
||||
override fun create(
|
||||
module: KotlinGradleModule, names: FragmentNameDisambiguation, dependencies: KotlinFragmentDependencyConfigurations
|
||||
module: KotlinGradleModule, names: KotlinNameDisambiguation, dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration {
|
||||
return module.project.configurations.maybeCreate(names.disambiguateName("hostSpecificMetadataElements")).apply {
|
||||
isCanBeResolved = false
|
||||
|
||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.plugin.mpp.pm20.configuration
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.utils.addExtendsFromRelation
|
||||
|
||||
interface KotlinRuntimeDependenciesConfigurationInstantiator : KotlinFragmentConfigurationInstantiator
|
||||
@@ -15,7 +16,7 @@ interface KotlinRuntimeDependenciesConfigurationInstantiator : KotlinFragmentCon
|
||||
object DefaultKotlinRuntimeDependenciesConfigurationInstantiator : KotlinRuntimeDependenciesConfigurationInstantiator {
|
||||
override fun create(
|
||||
module: KotlinGradleModule,
|
||||
names: FragmentNameDisambiguation,
|
||||
names: KotlinNameDisambiguation,
|
||||
dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration {
|
||||
return module.project.configurations.maybeCreate(names.disambiguateName("runtimeDependencies")).apply {
|
||||
|
||||
+2
-1
@@ -11,13 +11,14 @@ import org.gradle.api.attributes.Category
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.KotlinFragmentModuleCapabilityConfigurator.setModuleCapability
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.FragmentNameDisambiguation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.pm20.util.KotlinNameDisambiguation
|
||||
|
||||
interface KotlinRuntimeElementsConfigurationFactory : KotlinFragmentConfigurationInstantiator
|
||||
|
||||
object DefaultKotlinRuntimeElementsConfigurationInstantiator : KotlinRuntimeElementsConfigurationFactory {
|
||||
override fun create(
|
||||
module: KotlinGradleModule,
|
||||
names: FragmentNameDisambiguation,
|
||||
names: KotlinNameDisambiguation,
|
||||
dependencies: KotlinFragmentDependencyConfigurations
|
||||
): Configuration {
|
||||
return module.project.configurations.maybeCreate(names.disambiguateName("runtimeElements")).apply {
|
||||
|
||||
+9
-9
@@ -12,14 +12,8 @@ import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
import org.jetbrains.kotlin.project.model.KotlinModule
|
||||
import org.jetbrains.kotlin.project.model.KotlinModuleFragment
|
||||
|
||||
internal typealias FragmentNameDisambiguation = KotlinFragmentNameDisambiguation
|
||||
|
||||
internal fun FragmentNameDisambiguation(module: KotlinModule, fragmentName: String): FragmentNameDisambiguation {
|
||||
return DefaultKotlinFragmentNameDisambiguation(module, fragmentName)
|
||||
}
|
||||
|
||||
/**
|
||||
* Mechanism for disambiguating/scoping names for a certain fragment.
|
||||
* Mechanism for disambiguating/scoping names for certain entities (e.g. fragments)
|
||||
* e.g. Certain fragments might want to create a configuration called 'api'. However, the name scope
|
||||
* of Gradle configurations is bound to the Gradle project which requires providing different names of mentioned configurations
|
||||
* for FragmentFoo and FragmentBar.
|
||||
@@ -36,14 +30,20 @@ internal fun FragmentNameDisambiguation(module: KotlinModule, fragmentName: Stri
|
||||
* fragmentBar.disambiguateName("api") == "fragmentBarTestApi"
|
||||
* ```
|
||||
*/
|
||||
interface KotlinFragmentNameDisambiguation {
|
||||
interface KotlinNameDisambiguation {
|
||||
fun disambiguateName(simpleName: String): String
|
||||
}
|
||||
|
||||
/* Default implementation for fragments */
|
||||
|
||||
internal fun FragmentNameDisambiguation(module: KotlinModule, fragmentName: String): KotlinNameDisambiguation {
|
||||
return DefaultKotlinFragmentNameDisambiguation(module, fragmentName)
|
||||
}
|
||||
|
||||
private class DefaultKotlinFragmentNameDisambiguation(
|
||||
private val module: KotlinModule,
|
||||
private val fragmentName: String
|
||||
) : KotlinFragmentNameDisambiguation {
|
||||
) : KotlinNameDisambiguation {
|
||||
override fun disambiguateName(simpleName: String): String {
|
||||
return KotlinModuleFragment.disambiguateName(module, fragmentName, simpleName)
|
||||
}
|
||||
Reference in New Issue
Block a user