[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