Files
runner-images-sangeeth/images/win/scripts/Installers/Validate-Msys2.ps1
Vladimir Safonkin 53536cea29 Add cmake check
2020-03-24 17:44:12 +03:00

78 lines
2.2 KiB
PowerShell

################################################################################
## File: Validate-Msys2.ps1
## Desc: Validate Msys2
################################################################################
$msys2BinDir = "C:\msys64\usr\bin"
$msys2mingwDir = "C:\msys64\mingw64\bin"
$installedTools = @(
"bash",
"tar",
"make"
)
Write-Host "Check installed tools in msys2/usr/bin directory"
$installedTools | ForEach-Object {
$toolName = $_
try {
Invoke-Expression "$msys2BinDir\$_ --version"
} catch {
Write-Host "$toolName was not installed in MSYS2 bin directory"
Write-Error $_
exit 1
}
}
Write-Host "Check gcc in msys2/mingw64/bin directory"
try {
Invoke-Expression "$msys2mingwDir\gcc --version"
} catch {
Write-Host "gcc was not installed in MSYS2 bin directory"
Write-Error $_
exit 1
}
Write-Host "Check cmake in msys2/mingw64/bin directory"
try {
Invoke-Expression "$msys2mingwDir\cmake --version"
} catch {
Write-Host "cmake was not installed in MSYS2 bin directory"
Write-Error $_
exit 1
}
# Adding description of the software to Markdown
function Get-ToolVersion {
param(
[string] $ToolPath,
[int] $VersionLineNumber
)
$toolRawVersion = Invoke-Expression "$ToolPath --version"
$toolRawVersion.Split([System.Environment]::NewLine)[$VersionLineNumber] -match "\d+\.\d+(\.\d+)?"
$toolVersion = $matches[0]
return $toolVersion
}
$SoftwareName = "MSYS2"
$pacmanVersion = Get-ToolVersion -ToolPath "$msys2BinDir/pacman" -VersionLineNumber 1
$bashVersion = Get-ToolVersion -ToolPath "$msys2BinDir/bash" -VersionLineNumber 0
$gccVersion = Get-ToolVersion -ToolPath "$msys2mingwDir/gcc" -LineNumber 0
$tarVersion = Get-ToolVersion -ToolPath "$msys2BinDir/tar" -LineNumber 0
$makeVersion = Get-ToolVersion -ToolPath "$msys2BinDir/make" -LineNumber 0
$cmakeVersion = Get-ToolVersion -ToolPath "$msys2mingwDir/cmake" -LineNumber 0
$Description = @"
_Tool versions_
_Pacman:_ $pacmanVersion<br/>
_Bash:_ $bashVersion<br/>
_gcc:_ $gccVersion<br/>
_tar:_ $tarVersion<br/>
_make:_ $makeVersion<br/>
_cmake:_ $cmakeVersion<br/>
"@
Add-SoftwareDetailsToMarkdown -SoftwareName $SoftwareName -DescriptionMarkdown $Description