Build: fixed JDK detection via registry to support finding JDK 8 (#10369)
This commit is contained in:
parent
66fd4be4d7
commit
7ab01a3f79
19
build.ps1
19
build.ps1
|
|
@ -329,12 +329,19 @@ if ($RunBuild -and ($All -or $BuildJava) -and -not $NoBuildJava) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
try {
|
try {
|
||||||
$jdkVersion = (Get-Item HKLM:\SOFTWARE\JavaSoft\JDK | Get-ItemProperty -name CurrentVersion).CurrentVersion
|
$jdkRegistryKeys = @(
|
||||||
$javaHome = (Get-Item HKLM:\SOFTWARE\JavaSoft\JDK\$jdkVersion | Get-ItemProperty -Name JavaHome).JavaHome
|
"HKLM:\SOFTWARE\JavaSoft\JDK", # for JDK 10+
|
||||||
if (Test-Path "$javaHome\bin\javac.exe") {
|
"HKLM:\SOFTWARE\JavaSoft\Java Development Kit" # fallback for JDK 8
|
||||||
$env:JAVA_HOME = $javaHome
|
)
|
||||||
Write-Host -f Magenta "Detected JDK $jdkVersion in $env:JAVA_HOME (via registry)"
|
$jdkRegistryKey = $jdkRegistryKeys | Where-Object { Test-Path $_ } | Select-Object -First 1
|
||||||
$foundJdk = $true
|
if ($jdkRegistryKey) {
|
||||||
|
$jdkVersion = (Get-Item $jdkRegistryKey | Get-ItemProperty -name CurrentVersion).CurrentVersion
|
||||||
|
$javaHome = (Get-Item $jdkRegistryKey\$jdkVersion | Get-ItemProperty -Name JavaHome).JavaHome
|
||||||
|
if (Test-Path "${javaHome}\bin\javac.exe") {
|
||||||
|
$env:JAVA_HOME = $javaHome
|
||||||
|
Write-Host -f Magenta "Detected JDK $jdkVersion in $env:JAVA_HOME (via registry)"
|
||||||
|
$foundJdk = $true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue