[Gradle] JsKotlinDependencyConfigurationsFactory: Fix compileClasspath and runtimeClasspath

^KT-54312 Verification Pending
This commit is contained in:
Sebastian Sellmair
2022-10-05 10:23:01 +02:00
committed by Space Team
parent 5f717ffd56
commit 3bc4e291ff
3 changed files with 21 additions and 14 deletions
@@ -9,6 +9,7 @@ import org.gradle.api.file.FileCollection
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationDependencyConfigurationsContainer
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationModuleManager
import org.jetbrains.kotlin.gradle.utils.ObservableSet
import org.jetbrains.kotlin.tooling.core.MutableExtras
@@ -19,6 +20,7 @@ internal interface InternalKotlinCompilation<out T : KotlinCommonOptions> : Kotl
override val kotlinSourceSets: ObservableSet<KotlinSourceSet>
override val allKotlinSourceSets: ObservableSet<KotlinSourceSet>
val configurations: KotlinCompilationDependencyConfigurationsContainer
val friendPaths: Iterable<FileCollection>
val compilationModule: KotlinCompilationModuleManager.CompilationModule
val processResourcesTaskName: String?
@@ -61,7 +61,7 @@ internal class KotlinCompilationImpl @Inject constructor(
val sourceSets get() = params.sourceSets
val dependencyConfigurations: KotlinCompilationDependencyConfigurationsContainer
override val configurations: KotlinCompilationDependencyConfigurationsContainer
get() = params.dependencyConfigurations
override val compilationName: String
@@ -106,26 +106,26 @@ internal class KotlinCompilationImpl @Inject constructor(
//region Dependency Configuration Management
override val apiConfigurationName: String
get() = dependencyConfigurations.apiConfiguration.name
get() = configurations.apiConfiguration.name
override val implementationConfigurationName: String
get() = dependencyConfigurations.implementationConfiguration.name
get() = configurations.implementationConfiguration.name
override val compileOnlyConfigurationName: String
get() = dependencyConfigurations.compileOnlyConfiguration.name
get() = configurations.compileOnlyConfiguration.name
override val runtimeOnlyConfigurationName: String
get() = dependencyConfigurations.runtimeOnlyConfiguration.name
get() = configurations.runtimeOnlyConfiguration.name
override val compileDependencyConfigurationName: String
get() = dependencyConfigurations.compileDependencyConfiguration.name
get() = configurations.compileDependencyConfiguration.name
override val runtimeDependencyConfigurationName: String?
get() = dependencyConfigurations.runtimeDependencyConfiguration?.name
get() = configurations.runtimeDependencyConfiguration?.name
override var compileDependencyFiles: FileCollection = dependencyConfigurations.compileDependencyConfiguration
override var compileDependencyFiles: FileCollection = configurations.compileDependencyConfiguration
override var runtimeDependencyFiles: FileCollection? = dependencyConfigurations.runtimeDependencyConfiguration
override var runtimeDependencyFiles: FileCollection? = configurations.runtimeDependencyConfiguration
override val relatedConfigurationNames: List<String> = listOfNotNull(
apiConfigurationName,
@@ -137,11 +137,11 @@ internal class KotlinCompilationImpl @Inject constructor(
)
override fun dependencies(configure: KotlinDependencyHandler.() -> Unit) {
HasKotlinDependencies(project, dependencyConfigurations).dependencies(configure)
HasKotlinDependencies(project, configurations).dependencies(configure)
}
override fun dependencies(configure: Action<KotlinDependencyHandler>) {
HasKotlinDependencies(project, dependencyConfigurations).dependencies(configure)
HasKotlinDependencies(project, configurations).dependencies(configure)
}
//endregion
@@ -52,9 +52,12 @@ internal object JsKotlinCompilationDependencyConfigurationsFactory :
KotlinCompilationImplFactory.KotlinCompilationDependencyConfigurationsFactory {
override fun create(target: KotlinTarget, compilationName: String): KotlinCompilationDependencyConfigurationsContainer {
val defaultNaming = ConfigurationNaming.Default(target, compilationName)
return KotlinCompilationDependencyConfigurationsContainer(
target, compilationName, withRuntime = true,
naming = ConfigurationNaming.Js(target, compilationName)
naming = ConfigurationNaming.Js(target, compilationName),
compileClasspathConfigurationName = defaultNaming.name(compileClasspath),
runtimeClasspathConfigurationName = defaultNaming.name(runtimeClasspath)
)
}
}
@@ -105,6 +108,8 @@ private fun interface ConfigurationNaming {
}
private const val compilation = "compilation"
private const val compileClasspath = "compileClasspath"
private const val runtimeClasspath = "runtimeClasspath"
private fun KotlinCompilationDependencyConfigurationsContainer(
target: KotlinTarget, compilationName: String, withRuntime: Boolean,
@@ -113,8 +118,8 @@ private fun KotlinCompilationDependencyConfigurationsContainer(
implementationConfigurationName: String = naming.name(compilation, IMPLEMENTATION),
compileOnlyConfigurationName: String = naming.name(compilation, COMPILE_ONLY),
runtimeOnlyConfigurationName: String = naming.name(compilation, RUNTIME_ONLY),
compileClasspathConfigurationName: String = naming.name("compileClasspath"),
runtimeClasspathConfigurationName: String = naming.name("runtimeClasspath")
compileClasspathConfigurationName: String = naming.name(compileClasspath),
runtimeClasspathConfigurationName: String = naming.name(runtimeClasspath)
): KotlinCompilationDependencyConfigurationsContainer {
val compilationCoordinates = "${target.disambiguationClassifier}/$compilationName"