Skip to content

Commit f1866cc

Browse files
Have build script add dependent modules (PSSA & Plaster) (#1239)
* Save PowerShell module deps to module folder on restore * clean up tasks * fix execution logic * forgot the PSES.VSCode module * add modules.json and grab versions from that * fix travis and appveyor to install and use latest PowerShellGet * add sudo * feedback and PSScriptRoot
1 parent e704ce5 commit f1866cc

File tree

4 files changed

+34
-3
lines changed

4 files changed

+34
-3
lines changed

.travis.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ install:
2222

2323
script:
2424
- ulimit -n 4096
25-
- powershell -File build/travis.ps1
25+
- sudo powershell -Command "Install-Module PowerShellGet -Force"
26+
- powershell -File build/travis.ps1

appveyor.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ install:
1919
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force | Out-Null
2020
Install-Module InvokeBuild -RequiredVersion 3.2.1 -Scope CurrentUser -Force | Out-Null
2121
Install-Module platyPS -RequiredVersion 0.7.6 -Scope CurrentUser -Force | Out-Null
22+
- powershell.exe -Command "Install-Module PowerShellGet -Force"
2223

2324
build_script:
24-
- ps: Invoke-Build
25+
- powershell.exe -Command "Invoke-Build"
2526

2627
# The build script takes care of the tests
2728
test: off

modules.json

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"PSScriptAnalyzer":{
3+
"MinimumVersion":"1.0",
4+
"MaximumVersion":"1.99",
5+
"AllowPrerelease":false
6+
},
7+
"Plaster":{
8+
"MinimumVersion":"1.0",
9+
"MaximumVersion":"1.99",
10+
"AllowPrerelease":false
11+
}
12+
}

vscode-powershell.build.ps1

+18-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ task ResolveEditorServicesPath -Before CleanEditorServices, BuildEditorServices
5353
}
5454
}
5555

56-
task Restore -If { "Restore" -in $BuildTask -or !(Test-Path "./node_modules") } -Before Build {
56+
task Restore RestoreNodeModules, RestorePowerShellModules -Before Build
57+
58+
task RestoreNodeModules -If { -not (Test-Path "$PSScriptRoot/node_modules") } {
5759

5860
Write-Host "`n### Restoring vscode-powershell dependencies`n" -ForegroundColor Green
5961

@@ -63,6 +65,20 @@ task Restore -If { "Restore" -in $BuildTask -or !(Test-Path "./node_modules") }
6365
exec { & npm install $logLevelParam }
6466
}
6567

68+
task RestorePowerShellModules -If { -not (Test-Path "$PSScriptRoot/modules/Plaster") } {
69+
$modules = Get-Content -Raw "$PSScriptRoot/modules.json" | ConvertFrom-Json
70+
$modules.PSObject.Properties | ForEach-Object {
71+
$params = @{
72+
Name = $_.Name
73+
MinimumVersion = $_.Value.MinimumVersion
74+
MaximumVersion = $_.Value.MaximumVersion
75+
AllowPrerelease = $_.Value.AllowPrerelease
76+
Path = "$PSScriptRoot/modules/"
77+
}
78+
Save-Module @params
79+
}
80+
}
81+
6682
task Clean {
6783
Write-Host "`n### Cleaning vscode-powershell`n" -ForegroundColor Green
6884
Remove-Item .\out -Recurse -Force -ErrorAction Ignore
@@ -107,6 +123,7 @@ task Package {
107123
if ($script:psesBuildScriptPath) {
108124
Write-Host "`n### Copying PowerShellEditorServices module files" -ForegroundColor Green
109125
Copy-Item -Recurse -Force ..\PowerShellEditorServices\module\PowerShellEditorServices .\modules
126+
Copy-Item -Recurse -Force ..\PowerShellEditorServices\module\PowerShellEditorServices.VSCode .\modules
110127
}
111128

112129
Write-Host "`n### Packaging PowerShell-insiders.vsix`n" -ForegroundColor Green

0 commit comments

Comments
 (0)