From 98fa61a7664d517bdd863d2370a2b9d4e815af7a Mon Sep 17 00:00:00 2001 From: Phallacy Date: Wed, 12 Dec 2018 11:41:08 -0800 Subject: [PATCH] build script can generate zip, maybe be run from linux --- Build-JellyFin.ps1 | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Build-JellyFin.ps1 b/Build-JellyFin.ps1 index b0f5279544..d89eb485f0 100644 --- a/Build-JellyFin.ps1 +++ b/Build-JellyFin.ps1 @@ -1,7 +1,8 @@ [CmdletBinding()] param( [switch]$InstallFFMPEG, - [string]$InstallLocation = "$Env:AppData\JellyFin-Server\", + [switch]$GenerateZip, + [string]$InstallLocation = "$Env:AppData/JellyFin-Server/", [ValidateSet('Debug','Release')][string]$BuildType = 'Release', [ValidateSet('Quiet','Minimal', 'Normal')][string]$DotNetVerbosity = 'Minimal', [ValidateSet('win','win7', 'win8','win81','win10')][string]$WindowsVersion = 'win', @@ -20,7 +21,7 @@ function Build-JellyFin { exit } } - dotnet publish -c $BuildType -r "$windowsversion-$Architecture" .\MediaBrowser.sln -o $InstallLocation -v $DotNetVerbosity + dotnet publish -c $BuildType -r "$windowsversion-$Architecture" MediaBrowser.sln -o $InstallLocation -v $DotNetVerbosity } function Install-FFMPEG { @@ -34,26 +35,26 @@ function Install-FFMPEG { Write-Warning "FFMPEG will not be installed" }elseif($Architecture -eq 'x64'){ Write-Verbose "Downloading 64 bit FFMPEG" - Invoke-WebRequest -Uri https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-4.1-win64-static.zip -UseBasicParsing -OutFile $env:TEMP\fmmpeg.zip | Write-Verbose + Invoke-WebRequest -Uri https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-4.1-win64-static.zip -UseBasicParsing -OutFile "$env:TEMP/fmmpeg.zip" | Write-Verbose }else{ Write-Verbose "Downloading 32 bit FFMPEG" - Invoke-WebRequest -Uri https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-4.1-win32-static.zip -UseBasicParsing -OutFile $env:TEMP\fmmpeg.zip | Write-Verbose + Invoke-WebRequest -Uri https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-4.1-win32-static.zip -UseBasicParsing -OutFile "$env:TEMP/fmmpeg.zip" | Write-Verbose } - Expand-Archive $env:TEMP\fmmpeg.zip -DestinationPath $env:TEMP\ffmpeg\ | Write-Verbose + Expand-Archive "$env:TEMP/fmmpeg.zip" -DestinationPath "$env:TEMP/ffmpeg/" | Write-Verbose if($Architecture -eq 'x64'){ Write-Verbose "Copying Binaries to Jellyfin location" - Get-ChildItem "$env:temp\ffmpeg\ffmpeg-4.1-win64-static\bin" | ForEach-Object { + Get-ChildItem "$env:temp/ffmpeg/ffmpeg-4.1-win64-static/bin" | ForEach-Object { Copy-Item $_.FullName -Destination $installLocation | Write-Verbose } }else{ Write-Verbose "Copying Binaries to Jellyfin location" - Get-ChildItem "$env:temp\ffmpeg\ffmpeg-4.1-win32-static\bin" | ForEach-Object { + Get-ChildItem "$env:temp/ffmpeg/ffmpeg-4.1-win32-static/bin" | ForEach-Object { Copy-Item $_.FullName -Destination $installLocation | Write-Verbose } } - Remove-Item $env:TEMP\ffmpeg\ -Recurse -Force -ErrorAction Continue | Write-Verbose - Remove-Item $env:TEMP\fmmpeg.zip -Force -ErrorAction Continue | Write-Verbose + Remove-Item "$env:TEMP/ffmpeg/" -Recurse -Force -ErrorAction Continue | Write-Verbose + Remove-Item "$env:TEMP/fmmpeg.zip" -Force -ErrorAction Continue | Write-Verbose } Write-Verbose "Starting Build Process: Selected Environment is $WindowsVersion-$Architecture" Build-JellyFin @@ -61,4 +62,7 @@ if($InstallFFMPEG.IsPresent -or ($InstallFFMPEG -eq $true)){ Write-Verbose "Starting FFMPEG Install" Install-FFMPEG $InstallLocation $Architecture } +if($GenerateZip.IsPresent -or ($GenerateZip -eq $true)){ + Compress-Archive -Path $InstallLocation -DestinationPath "$InstallLocation/jellyfin.zip" -Force +} Write-Verbose "Finished" \ No newline at end of file