1
0
mirror of https://github.com/Radarr/Radarr.git synced 2024-11-09 04:22:30 +01:00
Radarr/build.ps1

106 lines
2.9 KiB
PowerShell
Raw Normal View History

$msBuild = 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe'
$outputFolder = '.\_output'
2013-08-19 01:31:13 +02:00
$testPackageFolder = '.\_tests\'
$testSearchPattern = '*.Test\bin\x86\Release'
Function Build()
{
$clean = $msbuild + " nzbdrone.sln /t:Clean /m"
2013-05-12 03:32:03 +02:00
$build = $msbuild + " nzbdrone.sln /p:Configuration=Release /p:Platform=x86 /t:Build /m"
if(Test-Path $outputFolder)
{
Remove-Item -Recurse -Force $outputFolder -ErrorAction Continue
}
Invoke-Expression $clean
CheckExitCode
Invoke-Expression $build
CheckExitCode
2013-05-12 03:32:03 +02:00
CleanFolder $outputFolder
AddJsonNet
}
2013-05-12 03:32:03 +02:00
Function CleanFolder($path)
{
Write-Host Removing XMLDoc files
get-childitem $path -File -Filter *.xml -Recurse | foreach ($_) {remove-item $_.fullname}
2013-05-12 03:32:03 +02:00
get-childitem $path -File -Filter *.transform -Recurse | foreach ($_) {remove-item $_.fullname}
2013-05-12 03:32:03 +02:00
Write-Host Removing FluentValidation.Resources files
get-childitem $path -File -Filter FluentValidation.resources.dll -recurse | foreach ($_) {remove-item $_.fullname}
get-childitem $path -File -Filter app.config -Recurse | foreach ($_) {remove-item $_.fullname}
2013-05-12 03:32:03 +02:00
Write-Host Removing Empty folders
2013-05-16 06:55:15 +02:00
while (Get-ChildItem $path -recurse | where {!@(Get-ChildItem -force $_.fullname)} | Test-Path)
{
Get-ChildItem $path -Directory -recurse | where {!@(Get-ChildItem -force $_.fullname)} | Remove-Item
2013-05-12 03:32:03 +02:00
}
}
Function AddJsonNet()
{
get-childitem $outputFolder -File -Filter Newtonsoft.Json.* -Recurse | foreach ($_) {remove-item $_.fullname}
Copy-Item .\packages\Newtonsoft.Json.5.*\lib\net35\*.* -Destination $outputFolder
}
2013-05-12 03:32:03 +02:00
Function PackageTests()
{
Write-Host Packaging Tests
2013-08-19 01:31:13 +02:00
if(Test-Path $testPackageFolder)
2013-05-12 03:32:03 +02:00
{
Remove-Item -Recurse -Force $testPackageFolder -ErrorAction Continue
}
Get-ChildItem -Recurse -Directory | Where-Object {$_.FullName -like $testSearchPattern} | foreach($_){
Copy-Item -Recurse ($_.FullName + "\*") $testPackageFolder -ErrorAction Ignore
}
2013-08-19 01:31:13 +02:00
.\.nuget\NuGet.exe install NUnit.Runners -Version 2.6.1 -Output $testPackageFolder
Copy-Item $outputFolder\*.dll -Destination $testPackageFolder -Force
Copy-Item $outputFolder\*.pdb -Destination $testPackageFolder -Force
2013-08-19 01:41:34 +02:00
Copy-Item .\*.sh -Destination $testPackageFolder -Force
get-childitem $testPackageFolder -File -Filter *log.config | foreach ($_) {remove-item $_.fullname}
CleanFolder $testPackageFolder
2013-05-12 03:32:03 +02:00
}
2013-05-16 02:33:27 +02:00
2013-05-16 06:55:15 +02:00
Function RunGrunt()
2013-05-16 02:33:27 +02:00
{
2013-05-16 22:49:16 +02:00
$gruntPath = [environment]::getfolderpath("applicationdata") + '\npm\node_modules\grunt-cli\bin\grunt'
2013-05-20 02:30:02 +02:00
Invoke-Expression 'npm install'
CheckExitCode
2013-05-16 22:49:16 +02:00
2013-05-20 02:30:02 +02:00
Invoke-Expression ('node ' + $gruntPath + ' package')
CheckExitCode
}
Function CheckExitCode()
{
if ($lastexitcode -ne 0)
{
Write-Host $errorMessage
exit 1
}
2013-05-16 02:33:27 +02:00
}
Build
2013-08-06 07:59:06 +02:00
RunGrunt
PackageTests