From 0547a890802c15b6efa2b2cb3ca8b214d128ea60 Mon Sep 17 00:00:00 2001 From: Ilya Goncharov Date: Wed, 12 Oct 2022 18:16:28 +0200 Subject: [PATCH] [Gradle, JS] Public package json does not have dependency on npm install task --- .../jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt | 10 ++++++++++ .../js/npm/resolver/KotlinCompilationNpmResolver.kt | 4 ---- .../targets/js/npm/tasks/KotlinPackageJsonTask.kt | 1 - 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt index 879e1a7c37e..092c0b58261 100644 --- a/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt +++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/src/test/kotlin/org/jetbrains/kotlin/gradle/Kotlin2JsGradlePluginIT.kt @@ -1102,6 +1102,16 @@ abstract class AbstractKotlin2JsGradlePluginIT(protected val irBackend: Boolean) gradleProperties.appendText(jsCompilerType(KotlinJsCompilerType.IR)) } + if (irBackend) { + build("compileProductionExecutableKotlinJs") { + assertTasksExecuted(":app:compileProductionExecutableKotlinJs") + assert(task(":kotlinNpmInstall") == null) { + printBuildOutput() + "NPM install should not be run" + } + } + } + build("assemble") { assertTasksExecuted(":app:browserProductionWebpack") diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt index 65753a222b6..7008799ed6c 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/resolver/KotlinCompilationNpmResolver.kt @@ -80,10 +80,6 @@ internal class KotlinCompilationNpmResolver( npmProject.publicPackageJsonTaskName, listOf(compilation) ) { - it.dependsOn( - nodeJs_.npmInstallTaskProvider, - nodeJs_.storeYarnLockTaskProvider, - ) it.dependsOn(packageJsonTaskHolder) }.also { packageJsonTask -> if (compilation.isMain()) { diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt index 6560bb8d710..bd160c6a4d3 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/js/npm/tasks/KotlinPackageJsonTask.kt @@ -108,7 +108,6 @@ abstract class KotlinPackageJsonTask : DefaultTask() { val nodeJs = NodeJsRootPlugin.apply(project.rootProject) val rootClean = project.rootProject.tasks.named(BasePlugin.CLEAN_TASK_NAME) - val npmInstallTask = nodeJs.npmInstallTaskProvider val npmCachesSetupTask = nodeJs.npmCachesSetupTaskProvider val packageJsonTaskName = npmProject.packageJsonTaskName val packageJsonUmbrella = nodeJs.packageJsonUmbrellaTaskProvider