[Gradle, JS] Scan all packages in included build

#KT-32466 fixed
#KT-36784 fixed
#KT-36864 fixed
This commit is contained in:
Ilya Goncharov
2020-03-26 12:01:38 +03:00
parent 7ad489883d
commit 63487c3836
@@ -20,6 +20,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.disambiguateName
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmDependency.Scope.*
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject.Companion.PACKAGE_JSON
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.targets.js.npm.fixSemver
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
@@ -254,11 +255,23 @@ internal class KotlinCompilationNpmResolver(
}
val compositeDependencies = internalCompositeDependencies.mapNotNull { dependency ->
resolver.compositeNodeModules.get(
dependency.dependency,
dependency.includedBuild.projectDir.resolve("build/js/packages/lib/package.json")
)
val packages = dependency.includedBuild
.projectDir
.resolve(nodeJs.projectPackagesDir.relativeTo(nodeJs.rootProject.buildDir))
packages
.list()
?.map { fileName ->
packages.resolve(fileName).resolve(PACKAGE_JSON)
}
?.map { file ->
resolver.compositeNodeModules.get(
dependency.dependency,
file
)
}
}
.flatten()
.filterNotNull()
val packageJson = PackageJson(
npmProject.name,