-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathvalidate-xamarin-versions.ps1
executable file
·42 lines (35 loc) · 1.28 KB
/
validate-xamarin-versions.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
param (
[string]$MonoVersion,
[string]$XamarinIOSVersion,
[string]$XamarinMacVersion,
[string]$XamarinAndroidVersion
)
function Test-ToolVersion {
param (
[string]$ToolName,
[string]$ExpectedVersion
)
if ([string]::IsNullOrEmpty($ExpectedVersion)) {
return
}
Write-Host "Check $ToolName Version..."
$versionFilePath = "/Library/Frameworks/$ToolName.framework/Versions/Current/Version"
$actualVersion = Get-Content $versionFilePath
if (!$actualVersion.StartsWith($ExpectedVersion)) {
Write-Error("Incorrect $ToolName version: $actualVersion")
exit 1
}
Write-Host "Correct $ToolName version: $ExpectedVersion"
}
if (![string]::IsNullOrEmpty($MonoVersion)) {
Write-Host "Check Mono Version..."
$actualVersion = & mono --version
if (!$actualVersion[0].StartsWith("Mono JIT compiler version $MonoVersion")) {
Write-Error("Incorrect Mono version: $actualVersion")
exit 1
}
}
Test-ToolVersion -ToolName "Mono" -ExpectedVersion $MonoVersion
Test-ToolVersion -ToolName "Xamarin.IOS" -ExpectedVersion $XamarinIOSVersion
Test-ToolVersion -ToolName "Xamarin.Mac" -ExpectedVersion $XamarinMacVersion
Test-ToolVersion -ToolName "Xamarin.Android" -ExpectedVersion $XamarinAndroidVersion