Skip to content

Commit a1a6d0a

Browse files
author
x45iq
committed
feat: add support for multiple JRE paths via environment variables
- Add XMCL_JAVA_PATHS environment variable support for specifying multiple JRE locations - Update getPotentialJavaLocations to parse delimiter-separated paths from XMCL_JAVA_PATHS
1 parent 91ed3c1 commit a1a6d0a

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

packages/installer/java.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { Task, task } from '@xmcl/task'
44
import { exec } from 'child_process'
55
import { stat, unlink } from 'fs/promises'
66
import { EOL, platform, tmpdir } from 'os'
7-
import { basename, join, resolve } from 'path'
7+
import path, { basename, join, resolve } from 'path'
88
import { Dispatcher, request } from 'undici'
99
import { DownloadTask } from './downloadTask'
1010
import { ensureDir, missing } from './utils'
@@ -214,6 +214,11 @@ export async function getPotentialJavaLocations(): Promise<string[]> {
214214
unchecked.add(join(process.env.JAVA_HOME, 'bin', javaFile))
215215
}
216216

217+
if (process.env.XMCL_JAVA_PATHS) {
218+
const paths = process.env.XMCL_JAVA_PATHS.split(path.delimiter);
219+
paths.forEach(p => unchecked.add(join(p, 'bin', javaFile)));
220+
}
221+
217222
const which = () => new Promise<string>((resolve) => {
218223
exec('which java', (_error, stdout) => {
219224
if (!_error) resolve(stdout.replace('\n', ''))

0 commit comments

Comments
 (0)