1+ function compress-dbatools {
2+ # Remove-Item C:\gallery\dbatools\dbatools.dat -ErrorAction Ignore
3+ # Remove-Item C:\gallery\dbatools\dbatools.ps1 -ErrorAction Ignore
4+
5+ Remove-Item C:\gallery\dbatools - Recurse - ErrorAction Ignore
6+
7+ Set-Location C:\github\dbatools
8+ Import-Module C:\github\dbatools
9+ # Create dbatools.ps1 and build help file
10+ $null = Install-Maml - FunctionRoot public, private\functions - Module dbatools - Compact - NoVersion - ScriptName dbatools.ps1
11+ # Update DiagnosticQueryScript
12+ try {
13+ Remove-Item - Path C:\github\dbatools\bin\diagnosticquery\* - ErrorAction SilentlyContinue
14+ $null = Save-DbaDiagnosticQueryScript - Path C:\github\dbatools\bin\diagnosticquery - ErrorAction Stop
15+ } catch {
16+ throw $PSItem
17+ }
18+
19+ # Prep for gallery
20+ $null = New-Item - Type Directory - Path C:\gallery\dbatools
21+ robocopy C:\github\dbatools C:\gallery\dbatools / S / XF .markdownlint.json * .psproj* * .git* * .yml * .md compress.ps1 / XD .devcontainer .git .github Tests .vscode install.ps1 compress.ps1 | Out-String | Out-Null
22+ # Grrr, Windows and Linux look in different places for external help
23+
24+ # robocopy gives exit codes other than 0, which breaks github actions
25+ if ($LASTEXITCODE -eq 1 ) {
26+ $LASTEXITCODE = 0
27+ }
28+
29+ Remove-Item - Recurse C:\gallery\dbatools\bin\build - ErrorAction Ignore
30+ Remove-Item - Recurse C:\gallery\dbatools\bin\projects - ErrorAction Ignore
31+ Remove-Item - Recurse C:\gallery\dbatools\bin\StructuredLogger.dll - ErrorAction Ignore
32+
33+ Move-Item C:\github\dbatools\dbatools.ps1 C:\github\gallery
34+ # Remove-Item C:\github\dbatools\dbatools.ps1 -ErrorAction Ignore
35+
36+ Remove-Item - Recurse C:\gallery\dbatools\public - ErrorAction Ignore
37+ Remove-Item - Recurse C:\gallery\dbatools\private\functions - ErrorAction Ignore
38+
39+
40+ (Get-Content C:\gallery\dbatools\opt\* ) | Set-Content C:\gallery\dbatools\opt\opt.ps1
41+ Get-ChildItem C:\gallery\dbatools\opt\ | Where-Object Name -ne opt.ps1 | Remove-Item - Force
42+ (Get-Content C:\gallery\dbatools\private\dynamicparams\* ) | Set-Content C:\gallery\dbatools\private\dynamicparams\dynamicparams.ps1
43+ Get-ChildItem C:\gallery\dbatools\private\dynamicparams\ | Where-Object Name -ne dynamicparams.ps1 | Remove-Item - Force
44+ (Get-Content C:\gallery\dbatools\private\configurations\validation\* ) | Set-Content C:\gallery\dbatools\private\configurations\validation\validation.ps1
45+ Get-ChildItem C:\gallery\dbatools\private\configurations\validation | Where-Object Name -ne validation.ps1 | Remove-Item - Force
46+ (Get-Content C:\gallery\dbatools\private\maintenance\* ) | Set-Content C:\gallery\dbatools\private\maintenance\maintenance.ps1
47+ Get-ChildItem C:\gallery\dbatools\private\maintenance\ | Where-Object Name -ne maintenance.ps1 | Remove-Item - Force
48+ (Get-Content C:\gallery\dbatools\private\configurations\settings\* ) | Set-Content C:\gallery\dbatools\private\configurations\settings\settings.ps1
49+ Get-ChildItem C:\gallery\dbatools\private\configurations\settings | Where-Object Name -ne settings.ps1 | Remove-Item - Force
50+
51+ # $files = 'C:\gallery\dbatools\private\scripts\LibraryImport.ps1', 'C:\gallery\dbatools\opt\', 'C:\gallery\dbatools\private\configurations\configuration.ps1', 'C:\gallery\dbatools\bin\typealiases.ps1', 'C:\gallery\dbatools\bin\library.ps1', 'C:\gallery\dbatools\dbatools.ps1', 'C:\gallery\dbatools\xml\dbatools.Types.ps1xml', 'C:\gallery\dbatools\install.ps1', 'C:\gallery\dbatools\xml\dbatools.Format.ps1xml', 'C:\gallery\dbatools\dbatools.psm1', 'C:\gallery\dbatools\dbatools.psd1', 'C:\gallery\dbatools\private\scripts\'
52+
53+
54+ $ps1 = [IO.File ]::Open(" C:\gallery\dbatools\dbatools.ps1" , " Open" )
55+ $dat = [IO.File ]::Create(" C:\gallery\dbatools\dbatools.dat" )
56+ $compressor = New-Object System.IO.Compression.DeflateStream($dat , [System.IO.Compression.CompressionMode ]::Compress)
57+ $ps1.CopyTo ($compressor )
58+ $compressor.Flush ()
59+ $dat.Flush ()
60+ $ps1.Close ()
61+ $compressor.Close ()
62+ $dat.Close ()
63+ $compressor.Dispose ()
64+ $dat.Dispose ()
65+
66+ Remove-Item C:\gallery\dbatools\dbatools.ps1 - ErrorAction Ignore
67+
68+ $files = Get-ChildItem C:\gallery\dbatools - File - Recurse - Include * .ps1, * .ps1xml, * .psd1, * .psm1, * .pssc, * .psrc, * .cdxml | Where-Object Directory -notmatch private | Where-Object Directory -notmatch opt
69+
70+ foreach ($file in $files ) {
71+ Get-ChildItem - Recurse - Path $file | Set-AuthenticodeSignature - Certificate (Get-ChildItem - Path Cert:\CurrentUser\My\fd0dde81152c4d4868afd88d727e78a9b6881cf4) - TimestampServer http:// timestamp.digicert.com - HashAlgorithm SHA256
72+ }
73+
74+ }
0 commit comments