From 388101fc84140c0bdc50706637bcc5df11908ca6 Mon Sep 17 00:00:00 2001 From: Tyler Bertrand <121591679+tylerbertrand@users.noreply.github.com> Date: Wed, 8 Jan 2025 07:28:43 -0600 Subject: [PATCH] Use separate nodeProjectDir for each subproject (#2680) Using a shared nodeProjectDir caused multiple nodeSetup tasks to step on each others' toes. The com.github.node-gradle.node plugin doesn't fully support reusing nodeProjectDir, and each nodeSetup task will clean up the existing nodeProjectDir before unpacking the node installation into it. This can result in tasks seeing issues when trying to use npm/node while a nodeSetup task from another project is cleaning it up. use nodeProjectDir instead of rootNodeDir --------- Co-authored-by: Eric Pugh --- gradle/node.gradle | 7 +++---- solr/CHANGES.txt | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/gradle/node.gradle b/gradle/node.gradle index d585ab5f871..fe128ea1f4a 100644 --- a/gradle/node.gradle +++ b/gradle/node.gradle @@ -35,8 +35,7 @@ configure([project(":solr:packaging"), project(":solr:solr-ref-guide"), project( } project.ext { - rootNodeDir = "$rootDir/.gradle/node" - nodeProjectDir = file("$rootNodeDir/$project.name") + nodeProjectDir = layout.projectDirectory.dir(".gradle/node") } node { @@ -49,10 +48,10 @@ configure([project(":solr:packaging"), project(":solr:solr-ref-guide"), project( } // The directory where Node.js is unpacked (when download is true) - workDir = file("${project.ext.rootNodeDir}/nodejs") + workDir = file("${project.ext.nodeProjectDir.getAsFile().path}/nodejs") // The directory where npm is installed (when a specific version is defined) - npmWorkDir = file("${project.ext.rootNodeDir}/npm") + npmWorkDir = file("${project.ext.nodeProjectDir.getAsFile().path}/npm") // The Node.js project directory location // This is where the package.json file and node_modules directory are located diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt index 2f20701968b..8d7a10668be 100644 --- a/solr/CHANGES.txt +++ b/solr/CHANGES.txt @@ -166,7 +166,7 @@ Optimizations Bug Fixes --------------------- -(No changes) +* PR#2680: Improve reliablity of NpmTasks finding needed files/commands. (Tyler Bertrand via Eric Pugh) Dependency Upgrades ---------------------