@@ -16,10 +16,20 @@ function Update-SwiftBuildAndPackageArguments {
16
16
param (
17
17
[string ]$jsonFilePath = " ./assets/test/.vscode/settings.json" ,
18
18
[string ]$codeWorkspaceFilePath = " ./assets/test.code-workspace" ,
19
- [string ]$windowsSdkVersion = " 10.0.22000.0" ,
20
- [string ]$vcToolsVersion = " 14.44.35207"
19
+ [string ]$windowsSdkVersion = " 10.0.22000.0"
21
20
)
22
21
22
+ $vcToolsPath = " C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC"
23
+ $vcToolsVersions = Get-ChildItem - Directory - Path $vcToolsPath | ForEach-Object { $_.Name }
24
+
25
+ if ($vcToolsVersions.Count -eq 0 ) {
26
+ Write-Host " No versions found in $vcToolsPath "
27
+ exit 1
28
+ }
29
+
30
+ $vcToolsVersion = $vcToolsVersions | Sort-Object - Descending | Select-Object - First 1
31
+ Write-Host " Highest Visual C++ Tools version: $vcToolsVersion "
32
+
23
33
$windowsSdkRoot = " C:\Program Files (x86)\Windows Kits\10\"
24
34
25
35
try {
@@ -39,7 +49,6 @@ function Update-SwiftBuildAndPackageArguments {
39
49
if ($jsonContent.PSObject.Properties [' swift.buildArguments' ]) {
40
50
$jsonContent.PSObject.Properties.Remove (' swift.buildArguments' )
41
51
}
42
-
43
52
44
53
$jsonContent | Add-Member - MemberType NoteProperty - Name " swift.buildArguments" - Value @ (
45
54
" -Xbuild-tools-swiftc" , " -windows-sdk-root" , " -Xbuild-tools-swiftc" , $windowsSdkRoot ,
@@ -63,7 +72,6 @@ function Update-SwiftBuildAndPackageArguments {
63
72
" -Xswiftc" , " -visualc-tools-version" , " -Xswiftc" , $vcToolsVersion
64
73
)
65
74
66
-
67
75
$codeWorkspaceContent.PSObject.Properties.Remove (' settings' )
68
76
$codeWorkspaceContent | Add-Member - MemberType NoteProperty - Name " settings" - Value $jsonContent
69
77
@@ -88,6 +96,12 @@ if ($LASTEXITCODE -ne 0) {
88
96
Write-Host " Swift version:"
89
97
Write-Host " $swiftVersionOutput "
90
98
99
+ Write-Host " Installed MSVC Versions:"
100
+ dir " C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC"
101
+
102
+ Write-Host " Installed Windows SDK Versions:"
103
+ dir " C:\Program Files (x86)\Windows Kits\10\Include\"
104
+
91
105
$versionLine = $swiftVersionOutput [0 ]
92
106
if ($versionLine -match " Swift version (\d+)\.(\d+)" ) {
93
107
Write-Host " Matched Swift version: $ ( $matches [0 ]) , $ ( $matches [1 ]) , $ ( $matches [2 ]) "
0 commit comments