Files
runner-images/images/linux/scripts/SoftwareReport/SoftwareReport.Java.psm1
2020-09-11 14:59:17 +03:00

30 lines
1023 B
PowerShell

function Get-JavaFullVersion {
param($JavaRootPath)
$javaBinPath = Join-Path $javaRootPath "/bin/java"
$javaVersionOutput = (Get-CommandResult "$javaBinPath -version").Output
$matchResult = $javaVersionOutput | Select-String '^openjdk version \"([\d\._]+)\"'
return $matchResult.Matches.Groups[1].Value
}
function Get-JavaVersions {
$defaultJavaPath = $env:JAVA_HOME
$javaVersions = Get-Item env:JAVA_HOME_*_X64
$sortRules = @{
Expression = { [Int32]$_.Name.Split("_")[2] }
Descending = $false
}
return $javaVersions | Sort-Object $sortRules | ForEach-Object {
$javaPath = $_.Value
$version = Get-JavaFullVersion $javaPath
$vendor = $version.StartsWith("1.7") ? "Zulu" : "AdoptOpenJDK"
$defaultPostfix = ($javaPath -eq $defaultJavaPath) ? " (default)" : ""
[PSCustomObject] @{
"Version" = $version + $defaultPostfix
"Vendor" = $vendor
"Environment Variable" = $_.Name
}
}
}