diff --git a/lib/helpers/utils.js b/lib/helpers/utils.js index 8b596797a..e6ddc8e6d 100644 --- a/lib/helpers/utils.js +++ b/lib/helpers/utils.js @@ -3800,13 +3800,15 @@ export function executeParallelGradleProperties(dir, allProjectsStr) { "in", dir, ); + const tempFileName = randomUUID(); + const scriptOutputFile = join(`${dirname(gradleCmd)}`, `${tempFileName}.out`); if (isWin) { - const batchFile = join(`${dirname(gradleCmd)}`, `${randomUUID()}.ps1`); - console.log(batchFile) - temporaryFiles.add(batchFile); - writeFileSync(batchFile, `$gradleOutput = & "${basename(gradleCmd)}" ${gradleArgs.join(" ")};return $gradleOutput;`); + const scriptFile = join(`${dirname(gradleCmd)}`, `${tempFileName}.ps1`); + temporaryFiles.add(scriptFile); + temporaryFiles.add(scriptOutputFile); + writeFileSync(scriptFile, `& ".\\${basename(gradleCmd)}" ${gradleArgs.join(" ")} | Out-File .\\${scriptFileOutput}`); gradleCmd = "powershell"; - gradleArgs = [`"$gradleOutput = & "".\\${basename(batchFile)}"";return $gradleOutput;"`]; + gradleArgs = [`"& "".\\${basename(batchFile)}"""`]; console.log( "Executing", gradleCmd, @@ -3848,7 +3850,10 @@ export function executeParallelGradleProperties(dir, allProjectsStr) { } } } - const stdout = result.stdout; + let stdout = result.stdout; + if (isWin) { + stdout = readFileSync(scriptOutputFile); + } if (stdout) { return Buffer.from(stdout).toString(); }