From 63487c3836c7a862cee4535b9b93ed9a24a1aeac Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Thu, 26 Mar 2020 12:01:38 +0300 Subject: [PATCH] [Gradle, JS] Scan all packages in included build #KT-32466 fixed #KT-36784 fixed #KT-36864 fixed --- .../resolver/KotlinCompilationNpmResolver.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index 0c7b85c4edc..7efdf454cda 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/main/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -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,