Files
Daybreak/Scripts/BuildRelease.ps1
T

43 lines
1.4 KiB
PowerShell

Param(
[Parameter(Mandatory=$true)]
[string]$version
) #end param
function Get-FileMetadata {
param (
[string]$Path
)
$fileInfo = Get-Item $Path
# Temporarily change current location to the folder path
$currentLocation = Get-Location
Set-Location -Path .\Publish
$relativePath = Resolve-Path -Path $Path -Relative
Set-Location -Path $currentLocation
$versionInfo = $fileInfo.VersionInfo.ProductVersion
return @{
Name = $fileInfo.Name
Size = $fileInfo.Length
RelativePath = $relativePath.trim(".\\")
VersionInfo = $versionInfo
}
}
$zipPath = "Publish\daybreakv$version.zip"
Write-Output "Deleting pdb file"
Remove-item .\Publish\Daybreak.pdb
Remove-item .\Publish\Installer\Daybreak.Installer.pdb
Remove-item .\Publish\Api\Daybreak.API.pdb
Remove-item .\Publish\Injector\Daybreak.Injector.pdb
Remove-item .\Publish\Injector\Daybreak.Shared.pdb
Remove-item .\Publish\Daybreak.Shared.pdb
Move-Item -Path .\Publish\Installer\Daybreak.Installer.exe -Destination .\Publish\Installer\Daybreak.Installer.Temp.exe
Compress-Archive .\Publish\* $zipPath -Force
$files = Get-ChildItem -Path .\Publish -Recurse -File
$metadata = $files | ForEach-Object { Get-FileMetadata $_.FullName }
$json = $metadata | ConvertTo-Json
$json | Out-File -FilePath ".\Publish\Metadata.json"
Write-Host "Metadata written to .\Publish\Metadata.json"