mirror of
https://github.com/gradle/actions.git
synced 2025-08-18 23:01:27 +08:00
commit
ec1d1bfd5f
@ -13,34 +13,37 @@ export function readResourceFileAsString(...paths: string[]): string {
|
|||||||
* @VisibleForTesting
|
* @VisibleForTesting
|
||||||
*/
|
*/
|
||||||
export function getPredefinedToolchains(): string | null {
|
export function getPredefinedToolchains(): string | null {
|
||||||
const javaHomeEnvs: string[] = []
|
// Get the version and path for each JAVA_HOME env var
|
||||||
for (const javaHomeEnvsKey in process.env) {
|
const javaHomeEnvs = Object.entries(process.env)
|
||||||
if (javaHomeEnvsKey.startsWith('JAVA_HOME_')) {
|
.filter(([key]) => key.startsWith('JAVA_HOME_') && process.env[key])
|
||||||
javaHomeEnvs.push(javaHomeEnvsKey)
|
.map(([key, value]) => ({
|
||||||
}
|
jdkVersion: key.match(/JAVA_HOME_(\d+)_/)?.[1] ?? null,
|
||||||
}
|
jdkPath: value as string
|
||||||
|
}))
|
||||||
|
.filter(env => env.jdkVersion !== null)
|
||||||
|
|
||||||
if (javaHomeEnvs.length === 0) {
|
if (javaHomeEnvs.length === 0) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
// language=XML
|
// language=XML
|
||||||
let toolchainsXml = `<?xml version="1.0" encoding="UTF-8"?>
|
return `<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<toolchains>
|
<toolchains>
|
||||||
<!-- JDK Toolchains installed by default on GitHub-hosted runners -->
|
<!-- JDK Toolchains installed by default on GitHub-hosted runners -->
|
||||||
`
|
${javaHomeEnvs
|
||||||
for (const javaHomeEnv of javaHomeEnvs) {
|
.map(
|
||||||
const version = javaHomeEnv.match(/JAVA_HOME_(\d+)_/)?.[1]!
|
({jdkVersion, jdkPath}) => ` <toolchain>
|
||||||
toolchainsXml += ` <toolchain>
|
|
||||||
<type>jdk</type>
|
<type>jdk</type>
|
||||||
<provides>
|
<provides>
|
||||||
<version>${version}</version>
|
<version>${jdkVersion}</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.${javaHomeEnv}}</jdkHome>
|
<jdkHome>${jdkPath}</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>\n`
|
</toolchain>`
|
||||||
}
|
)
|
||||||
toolchainsXml += `</toolchains>\n`
|
.join('\n')}
|
||||||
return toolchainsXml
|
</toolchains>\n`
|
||||||
}
|
}
|
||||||
|
|
||||||
export function mergeToolchainContent(existingToolchainContent: string, preInstalledToolchains: string): string {
|
export function mergeToolchainContent(existingToolchainContent: string, preInstalledToolchains: string): string {
|
||||||
|
@ -39,7 +39,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>8</version>
|
<version>8</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
<jdkHome>/jdks/foo_8</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
<toolchain>
|
<toolchain>
|
||||||
@ -48,7 +48,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>11</version>
|
<version>11</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_11_X64}</jdkHome>
|
<jdkHome>/jdks/foo_11</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
<toolchain>
|
<toolchain>
|
||||||
@ -57,7 +57,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>21</version>
|
<version>21</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_21_ARM64}</jdkHome>
|
<jdkHome>/jdks/foo_21</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
</toolchains>
|
</toolchains>
|
||||||
@ -81,7 +81,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>8</version>
|
<version>8</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
<jdkHome>/jdks/foo_8</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
</toolchains>
|
</toolchains>
|
||||||
@ -98,7 +98,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>8</version>
|
<version>8</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_8_X64}</jdkHome>
|
<jdkHome>/jdks/foo_8</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
|
|
||||||
@ -109,7 +109,7 @@ describe('predefined-toolchains', () => {
|
|||||||
<version>11</version>
|
<version>11</version>
|
||||||
</provides>
|
</provides>
|
||||||
<configuration>
|
<configuration>
|
||||||
<jdkHome>\${env.JAVA_HOME_11_X64}</jdkHome>
|
<jdkHome>/jdks/foo_11</jdkHome>
|
||||||
</configuration>
|
</configuration>
|
||||||
</toolchain>
|
</toolchain>
|
||||||
</toolchains>
|
</toolchains>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user