[Gradle, JS] Resolution of compilation's configurations inside NPM conf
^KT-40201 fixed
This commit is contained in:
+14
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.plugin.sources
|
||||
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Configuration
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope.*
|
||||
import org.jetbrains.kotlin.gradle.utils.API
|
||||
@@ -31,6 +32,19 @@ internal fun Project.sourceSetDependencyConfigurationByScope(sourceSet: KotlinSo
|
||||
}
|
||||
)
|
||||
|
||||
internal fun Project.compilationDependencyConfigurationByScope(
|
||||
compilation: KotlinCompilation<*>,
|
||||
scope: KotlinDependencyScope
|
||||
): Configuration =
|
||||
project.configurations.getByName(
|
||||
when (scope) {
|
||||
API_SCOPE -> compilation.apiConfigurationName
|
||||
IMPLEMENTATION_SCOPE -> compilation.implementationConfigurationName
|
||||
COMPILE_ONLY_SCOPE -> compilation.compileOnlyConfigurationName
|
||||
RUNTIME_ONLY_SCOPE -> compilation.runtimeOnlyConfigurationName
|
||||
}
|
||||
)
|
||||
|
||||
internal fun Project.sourceSetMetadataConfigurationByScope(sourceSet: KotlinSourceSet, scope: KotlinDependencyScope): Configuration =
|
||||
project.configurations.getByName(
|
||||
when (scope) {
|
||||
|
||||
+10
-4
@@ -22,6 +22,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.compilationDependencyConfigurationByScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
||||
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||
@@ -133,10 +134,15 @@ internal class KotlinCompilationNpmResolver(
|
||||
all.isCanBeResolved = true
|
||||
all.description = "NPM configuration for $compilation."
|
||||
|
||||
compilation.allKotlinSourceSets.forEach { sourceSet ->
|
||||
KotlinDependencyScope.values().forEach { scope ->
|
||||
val configuration = project.sourceSetDependencyConfigurationByScope(sourceSet, scope)
|
||||
all.extendsFrom(configuration)
|
||||
KotlinDependencyScope.values().forEach { scope ->
|
||||
val compilationConfiguration = project.compilationDependencyConfigurationByScope(
|
||||
compilation,
|
||||
scope
|
||||
)
|
||||
all.extendsFrom(compilationConfiguration)
|
||||
compilation.allKotlinSourceSets.forEach { sourceSet ->
|
||||
val sourceSetConfiguration = project.sourceSetDependencyConfigurationByScope(sourceSet, scope)
|
||||
all.extendsFrom(sourceSetConfiguration)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user