2018-01-24 15:12:30 +01:00
|
|
|
#!/usr/bin/env pwsh
|
2020-06-10 22:38:17 +02:00
|
|
|
param (
|
|
|
|
[Switch]
|
|
|
|
$IsContainer
|
|
|
|
)
|
|
|
|
|
2018-01-24 15:12:30 +01:00
|
|
|
#Requires -Version 6
|
|
|
|
|
|
|
|
Set-StrictMode -Version 2.0
|
|
|
|
$ErrorActionPreference = "Stop"
|
2020-06-10 22:38:17 +02:00
|
|
|
$ProgressPreference = 'SilentlyContinue'
|
2018-01-24 15:12:30 +01:00
|
|
|
|
|
|
|
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
|
2019-04-15 22:43:41 +02:00
|
|
|
Install-Module -Name PSScriptAnalyzer -RequiredVersion 1.18.0 -Scope CurrentUser
|
2019-03-20 07:26:12 +01:00
|
|
|
|
2020-06-10 22:38:17 +02:00
|
|
|
if ($IsContainer) {
|
|
|
|
# PSScriptAnalyzer contain lots of json files for the UseCompatibleCommands check. We don't use this rule so by
|
|
|
|
# removing the contents we can save 200MB in the docker image (or more in the future).
|
|
|
|
# https://github.com/PowerShell/PSScriptAnalyzer/blob/master/RuleDocumentation/UseCompatibleCommands.md
|
|
|
|
$pssaPath = (Get-Module -ListAvailable -Name PSScriptAnalyzer).ModuleBase
|
|
|
|
$compatPath = Join-Path -Path $pssaPath -ChildPath compatibility_profiles -AdditionalChildPath '*'
|
|
|
|
Remove-Item -Path $compatPath -Recurse -Force
|
|
|
|
}
|
|
|
|
|
2019-03-20 07:26:12 +01:00
|
|
|
# Installed the PSCustomUseLiteralPath rule
|
2019-04-10 05:06:22 +02:00
|
|
|
Install-Module -Name PSSA-PSCustomUseLiteralPath -RequiredVersion 0.1.1 -Scope CurrentUser
|