Skip to content

Commit ecc7c7d

Browse files
builder
1 parent e63bba4 commit ecc7c7d

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

build/compress.ps1

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
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

Comments
 (0)