ZipPackage.ps1 857 B

123456789101112131415161718192021222324252627282930313233343536
  1. PARAM (
  2. [Switch]
  3. $Avalonia
  4. )
  5. $ErrorActionPreference = 'Stop'
  6. Add-Type -A 'System.IO.Compression'
  7. Add-Type -A 'System.IO.Compression.FileSystem'
  8. $location = $PSScriptRoot
  9. if ($Avalonia) {
  10. dotnet build "$PSScriptRoot\..\src\RoslynPad.Avalonia" -c Release
  11. . .\GetFiles.ps1 -Avalonia
  12. $archiveFile = "$location\RoslynPadAvalonia.zip"
  13. }
  14. else {
  15. dotnet build "$PSScriptRoot\..\src\RoslynPad" -c Release
  16. . .\GetFiles.ps1
  17. $archiveFile = "$location\RoslynPad.zip"
  18. }
  19. Remove-Item $archiveFile -ErrorAction Ignore
  20. try {
  21. $archive = [System.IO.Compression.ZipFile]::Open($archiveFile, [System.IO.Compression.ZipArchiveMode]::Create)
  22. foreach ($file in $files) {
  23. [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($archive, $file, $file.Substring($rootPath.Length + 1).Replace("\", "/")) | Out-Null
  24. $file
  25. }
  26. }
  27. finally {
  28. $archive.Dispose()
  29. }