From faf1d7ca7a3424babe9ed2a8ac069f66896135ad Mon Sep 17 00:00:00 2001 From: daz Date: Sat, 18 Jan 2025 10:30:15 -0700 Subject: [PATCH] Copy the raw JDK path into toolchains.xml Previously we were relying on Gradle to substitute JDK environment variables in toolchains.xml. With this change, the actual path to the JDK is encoded instead. This should avoid issues where Gradle is not able to successfully resolve the envioronment variable. --- sources/src/caching/gradle-user-home-utils.ts | 8 +++++--- sources/test/jest/predefined-toolchains.test.ts | 12 ++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/sources/src/caching/gradle-user-home-utils.ts b/sources/src/caching/gradle-user-home-utils.ts index d20bc22..0bc89ae 100644 --- a/sources/src/caching/gradle-user-home-utils.ts +++ b/sources/src/caching/gradle-user-home-utils.ts @@ -16,9 +16,9 @@ export function getPredefinedToolchains(): string | null { // Get the version and path for each JAVA_HOME env var const javaHomeEnvs = Object.entries(process.env) .filter(([key]) => key.startsWith('JAVA_HOME_') && process.env[key]) - .map(([key, _value]) => ({ + .map(([key, value]) => ({ jdkVersion: key.match(/JAVA_HOME_(\d+)_/)?.[1] ?? null, - jdkPath: `\${env.${key}}` + jdkPath: value as string })) .filter(env => env.jdkVersion !== null) @@ -40,7 +40,9 @@ ${javaHomeEnvs ${jdkPath} - `).join('\n')} + ` + ) + .join('\n')} \n` } diff --git a/sources/test/jest/predefined-toolchains.test.ts b/sources/test/jest/predefined-toolchains.test.ts index 4e4f01e..637d9b9 100644 --- a/sources/test/jest/predefined-toolchains.test.ts +++ b/sources/test/jest/predefined-toolchains.test.ts @@ -39,7 +39,7 @@ describe('predefined-toolchains', () => { 8 - \${env.JAVA_HOME_8_X64} + /jdks/foo_8 @@ -48,7 +48,7 @@ describe('predefined-toolchains', () => { 11 - \${env.JAVA_HOME_11_X64} + /jdks/foo_11 @@ -57,7 +57,7 @@ describe('predefined-toolchains', () => { 21 - \${env.JAVA_HOME_21_ARM64} + /jdks/foo_21 @@ -81,7 +81,7 @@ describe('predefined-toolchains', () => { 8 - \${env.JAVA_HOME_8_X64} + /jdks/foo_8 @@ -98,7 +98,7 @@ describe('predefined-toolchains', () => { 8 - \${env.JAVA_HOME_8_X64} + /jdks/foo_8 @@ -109,7 +109,7 @@ describe('predefined-toolchains', () => { 11 - \${env.JAVA_HOME_11_X64} + /jdks/foo_11