forked from blipson89/Leprechaun
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPackageNuGet.ps1
51 lines (36 loc) · 1.71 KB
/
PackageNuGet.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
param($scriptRoot)
$ErrorActionPreference = "Stop"
function Resolve-MsBuild {
$msb2017 = Resolve-Path "${env:ProgramFiles(x86)}\Microsoft Visual Studio\*\*\MSBuild\*\bin\msbuild.exe" -ErrorAction SilentlyContinue
if($msb2017) {
Write-Host "Found MSBuild 2017 (or later)."
Write-Host $msb2017
return $msb2017
}
$msBuild2015 = "${env:ProgramFiles(x86)}\MSBuild\14.0\bin\msbuild.exe"
if(-not (Test-Path $msBuild2015)) {
throw 'Could not find MSBuild 2015 or later.'
}
Write-Host "Found MSBuild 2015."
Write-Host $msBuild2015
return $msBuild2015
}
$msBuild = Resolve-MsBuild
$nuGet = "$scriptRoot..\tools\NuGet.exe"
$solution = "$scriptRoot\..\Leprechaun.sln"
& $nuGet restore $solution
& $msBuild $solution /p:Configuration=Release /t:Rebuild /m
& $nuGet pack "$scriptRoot\..\src\Leprechaun\Leprechaun.csproj" -Symbols -Prop Configuration=Release
& $nuGet pack "$scriptRoot\..\src\Leprechaun.Console\Leprechaun.Console.csproj" -Symbols -Prop Configuration=Release
& $nuGet pack "$scriptRoot\..\src\Leprechaun.CodeGen.Roslyn\Leprechaun.CodeGen.Roslyn.csproj" -Symbols -Prop Configuration=Release
$assembly = Get-Item "$scriptRoot\..\src\Leprechaun\bin\Release\Leprechaun.dll" | Select-Object -ExpandProperty VersionInfo
$targetAssemblyVersion = $assembly.ProductVersion
$releaseZipName = "Leprechaun-$targetAssemblyVersion.zip"
& $nuGet pack "$scriptRoot\..\src\Leprechaun.Console\Leprechaun.Console.Runner.nuspec" -version $targetAssemblyVersion
if((Test-Path $releaseZipName)) {
Remove-Item $releaseZipName -Force
}
$releaseRoot = "$PSScriptRoot\..\src\Leprechaun.Console\bin\Release"
Remove-Item $releaseRoot\*.xml
Remove-Item $releaseRoot\*.pdb
& "$PSScriptRoot\..\Tools\7za.exe" a $releaseZipName "$releaseRoot\*" -mx9