[Gradle][Minor] Move implementations of KotlinCompilationSourceSetsContainerFactory into single source
^KT-54312 Verification Pending
This commit is contained in:
committed by
Space Team
parent
8e8a8f7b8e
commit
06e594c400
-24
@@ -1,24 +0,0 @@
|
||||
/*
|
||||
* 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.compilationImpl.factory
|
||||
|
||||
import com.android.build.gradle.api.BaseVariant
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.kotlinAndroidSourceSetLayout
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
|
||||
internal class AndroidCompilationSourceSetsContainerFactory(
|
||||
private val target: KotlinAndroidTarget, private val variant: BaseVariant
|
||||
) : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val sourceSetName = target.project.kotlinAndroidSourceSetLayout.naming.defaultKotlinSourceSetName(this.target, variant)
|
||||
?: lowerCamelCaseName(target.disambiguationClassifier, compilationName)
|
||||
return KotlinCompilationSourceSetsContainer(target.project.kotlinExtension.sourceSets.maybeCreate(sourceSetName))
|
||||
}
|
||||
}
|
||||
-38
@@ -1,38 +0,0 @@
|
||||
/*
|
||||
* 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.compilationImpl.factory
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
|
||||
internal class DefaultKotlinCompilationSourceSetsContainerFactory(
|
||||
private val defaultSourceSetNaming: DefaultSourceSetNaming = DefaultDefaultSourceSetNaming
|
||||
) : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
|
||||
fun interface DefaultSourceSetNaming {
|
||||
fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String
|
||||
}
|
||||
|
||||
object DefaultDefaultSourceSetNaming : DefaultSourceSetNaming {
|
||||
override fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String = lowerCamelCaseName(
|
||||
target.disambiguationClassifier.takeIf { target !is KotlinMetadataTarget },
|
||||
if (compilationName == KotlinCompilation.MAIN_COMPILATION_NAME && target is KotlinMetadataTarget)
|
||||
KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME
|
||||
else compilationName
|
||||
)
|
||||
}
|
||||
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val defaultSourceSetName = defaultSourceSetNaming.defaultSourceSetName(target, compilationName)
|
||||
val defaultSourceSet = target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName)
|
||||
return KotlinCompilationSourceSetsContainer(defaultSourceSet)
|
||||
}
|
||||
}
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* 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.compilationImpl.factory
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
|
||||
internal object JsCompilationSourceSetsContainerFactory : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
return KotlinCompilationSourceSetsContainer(
|
||||
target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName(target, compilationName))
|
||||
)
|
||||
}
|
||||
|
||||
private fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String {
|
||||
val classifier = if (target is KotlinJsTarget && target.irTarget != null)
|
||||
target.disambiguationClassifierInPlatform
|
||||
else target.disambiguationClassifier
|
||||
|
||||
return lowerCamelCaseName(
|
||||
classifier,
|
||||
compilationName
|
||||
)
|
||||
}
|
||||
}
|
||||
-29
@@ -1,29 +0,0 @@
|
||||
/*
|
||||
* 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.compilationImpl.factory
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
|
||||
internal object JsIrCompilationSourceSetsContainerFactory : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
return KotlinCompilationSourceSetsContainer(
|
||||
target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName(target, compilationName))
|
||||
)
|
||||
}
|
||||
|
||||
private fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String {
|
||||
return lowerCamelCaseName(
|
||||
if (target is KotlinJsIrTarget && target.mixedMode)
|
||||
target.disambiguationClassifierInPlatform
|
||||
else target.disambiguationClassifier,
|
||||
compilationName
|
||||
)
|
||||
}
|
||||
}
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* 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.compilationImpl.factory
|
||||
|
||||
import com.android.build.gradle.api.BaseVariant
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinMetadataTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.kotlinAndroidSourceSetLayout
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
|
||||
internal class DefaultKotlinCompilationSourceSetsContainerFactory(
|
||||
private val defaultSourceSetNaming: DefaultSourceSetNaming = DefaultDefaultSourceSetNaming
|
||||
) : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
|
||||
fun interface DefaultSourceSetNaming {
|
||||
fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String
|
||||
}
|
||||
|
||||
object DefaultDefaultSourceSetNaming : DefaultSourceSetNaming {
|
||||
override fun defaultSourceSetName(target: KotlinTarget, compilationName: String): String = lowerCamelCaseName(
|
||||
target.disambiguationClassifier.takeIf { target !is KotlinMetadataTarget },
|
||||
if (compilationName == KotlinCompilation.MAIN_COMPILATION_NAME && target is KotlinMetadataTarget)
|
||||
KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME
|
||||
else compilationName
|
||||
)
|
||||
}
|
||||
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val defaultSourceSetName = defaultSourceSetNaming.defaultSourceSetName(target, compilationName)
|
||||
val defaultSourceSet = target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName)
|
||||
return KotlinCompilationSourceSetsContainer(defaultSourceSet)
|
||||
}
|
||||
}
|
||||
|
||||
internal class AndroidCompilationSourceSetsContainerFactory(
|
||||
private val target: KotlinAndroidTarget, private val variant: BaseVariant
|
||||
) : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val sourceSetName = target.project.kotlinAndroidSourceSetLayout.naming.defaultKotlinSourceSetName(this.target, variant)
|
||||
?: lowerCamelCaseName(target.disambiguationClassifier, compilationName)
|
||||
return KotlinCompilationSourceSetsContainer(target.project.kotlinExtension.sourceSets.maybeCreate(sourceSetName))
|
||||
}
|
||||
}
|
||||
|
||||
internal object JsCompilationSourceSetsContainerFactory : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val defaultSourceSetName = lowerCamelCaseName(
|
||||
if (target is KotlinJsTarget && target.irTarget != null) target.disambiguationClassifierInPlatform
|
||||
else target.disambiguationClassifier,
|
||||
compilationName
|
||||
)
|
||||
|
||||
return KotlinCompilationSourceSetsContainer(target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName))
|
||||
}
|
||||
}
|
||||
|
||||
internal object JsIrCompilationSourceSetsContainerFactory : KotlinCompilationImplFactory.KotlinCompilationSourceSetsContainerFactory {
|
||||
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationSourceSetsContainer {
|
||||
val defaultSourceSetName = lowerCamelCaseName(
|
||||
if (target is KotlinJsIrTarget && target.mixedMode) target.disambiguationClassifierInPlatform
|
||||
else target.disambiguationClassifier,
|
||||
compilationName
|
||||
)
|
||||
|
||||
return KotlinCompilationSourceSetsContainer(target.project.kotlinExtension.sourceSets.maybeCreate(defaultSourceSetName))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user