15
15
function Update-SwiftBuildAndPackageArguments {
16
16
param (
17
17
[string ]$jsonFilePath = " ./assets/test/.vscode/settings.json" ,
18
+ [string ]$codeWorkspaceFilePath = " ./assets/test.code-workspace" ,
18
19
[string ]$windowsSdkVersion = " 10.0.22000.0" ,
19
20
[string ]$vcToolsVersion = " 14.43.34808"
20
21
)
@@ -28,10 +29,22 @@ function Update-SwiftBuildAndPackageArguments {
28
29
exit 1
29
30
}
30
31
32
+ try {
33
+ $codeWorkspaceContent = Get-Content - Raw - Path $codeWorkspaceFilePath | ConvertFrom-Json
34
+ } catch {
35
+ Write-Host " Invalid JSON content in $codeWorkspaceFilePath "
36
+ exit 1
37
+ }
38
+
31
39
if ($jsonContent.PSObject.Properties [' swift.buildArguments' ]) {
32
40
$jsonContent.PSObject.Properties.Remove (' swift.buildArguments' )
33
41
}
34
42
43
+ if ($codeWorkspaceContent.PSObject.Properties [' settings' ].PSObject.Properties[' swift.buildArguments' ]) {
44
+ $codeWorkspaceContent.PSObject.Properties [' settings' ].PSObject.Properties.Remove(' swift.buildArguments' )
45
+ }
46
+
47
+
35
48
$jsonContent | Add-Member - MemberType NoteProperty - Name " swift.buildArguments" - Value @ (
36
49
" -Xbuild-tools-swiftc" , " -windows-sdk-root" , " -Xbuild-tools-swiftc" , $windowsSdkRoot ,
37
50
" -Xbuild-tools-swiftc" , " -windows-sdk-version" , " -Xbuild-tools-swiftc" , $windowsSdkVersion ,
@@ -41,10 +54,23 @@ function Update-SwiftBuildAndPackageArguments {
41
54
" -Xswiftc" , " -visualc-tools-version" , " -Xswiftc" , $vcToolsVersion
42
55
)
43
56
57
+ $codeWorkspaceContent.PSObject.Properties [' settings' ] | Add-Member - MemberType NoteProperty - Name " swift.buildArguments" - Value @ (
58
+ " -Xbuild-tools-swiftc" , " -windows-sdk-root" , " -Xbuild-tools-swiftc" , $windowsSdkRoot ,
59
+ " -Xbuild-tools-swiftc" , " -windows-sdk-version" , " -Xbuild-tools-swiftc" , $windowsSdkVersion ,
60
+ " -Xbuild-tools-swiftc" , " -visualc-tools-version" , " -Xbuild-tools-swiftc" , $vcToolsVersion ,
61
+ " -Xswiftc" , " -windows-sdk-root" , " -Xswiftc" , $windowsSdkRoot ,
62
+ " -Xswiftc" , " -windows-sdk-version" , " -Xswiftc" , $windowsSdkVersion ,
63
+ " -Xswiftc" , " -visualc-tools-version" , " -Xswiftc" , $vcToolsVersion
64
+ )
65
+
44
66
if ($jsonContent.PSObject.Properties [' swift.packageArguments' ]) {
45
67
$jsonContent.PSObject.Properties.Remove (' swift.packageArguments' )
46
68
}
47
69
70
+ if ($codeWorkspaceContent.PSObject.Properties [' settings' ].PSObject.Properties[' swift.packageArguments' ]) {
71
+ $codeWorkspaceContent.PSObject.Properties [' settings' ].PSObject.Properties.Remove(' swift.packageArguments' )
72
+ }
73
+
48
74
$jsonContent | Add-Member - MemberType NoteProperty - Name " swift.packageArguments" - Value @ (
49
75
" -Xbuild-tools-swiftc" , " -windows-sdk-root" , " -Xbuild-tools-swiftc" , $windowsSdkRoot ,
50
76
" -Xbuild-tools-swiftc" , " -windows-sdk-version" , " -Xbuild-tools-swiftc" , $windowsSdkVersion ,
@@ -54,10 +80,25 @@ function Update-SwiftBuildAndPackageArguments {
54
80
" -Xswiftc" , " -visualc-tools-version" , " -Xswiftc" , $vcToolsVersion
55
81
)
56
82
83
+ $codeWorkspaceContent.PSObject.Properties [' settings' ] | Add-Member - MemberType NoteProperty - Name " swift.packageArguments" - Value @ (
84
+ " -Xbuild-tools-swiftc" , " -windows-sdk-root" , " -Xbuild-tools-swiftc" , $windowsSdkRoot ,
85
+ " -Xbuild-tools-swiftc" , " -windows-sdk-version" , " -Xbuild-tools-swiftc" , $windowsSdkVersion ,
86
+ " -Xbuild-tools-swiftc" , " -visualc-tools-version" , " -Xbuild-tools-swiftc" , $vcToolsVersion ,
87
+ " -Xswiftc" , " -windows-sdk-root" , " -Xswiftc" , $windowsSdkRoot ,
88
+ " -Xswiftc" , " -windows-sdk-version" , " -Xswiftc" , $windowsSdkVersion ,
89
+ " -Xswiftc" , " -visualc-tools-version" , " -Xswiftc" , $vcToolsVersion
90
+ )
91
+
57
92
$jsonContent | ConvertTo-Json - Depth 32 | Set-Content - Path $jsonFilePath
58
93
94
+
95
+ $codeWorkspaceContent | ConvertTo-Json - Depth 32 | Set-Content - Path $codeWorkspaceFilePath
96
+
59
97
Write-Host " Contents of ${jsonFilePath} :"
60
98
Get-Content - Path $jsonFilePath
99
+
100
+ Write-Host " Contents of ${codeWorkspaceFilePath} :"
101
+ Get-Content - Path $codeWorkspaceFilePath
61
102
}
62
103
63
104
$swiftVersionOutput = & swift -- version
@@ -96,7 +137,7 @@ npm ci -ignore-script node-pty
96
137
npm run lint
97
138
npm run format
98
139
npm run package
99
- npm run test
140
+ npm run test -- -- label codeWorkspaceTests
100
141
if ($LASTEXITCODE -eq 0 ) {
101
142
Write-Host ' SUCCESS'
102
143
} else {
0 commit comments