-
Notifications
You must be signed in to change notification settings - Fork 5
/
publish.ps1
42 lines (34 loc) · 2.19 KB
/
publish.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
#1.0.74
$packages = @("maxbl4.RfidDotNet.AlienTech.Simulator","maxbl4.RfidDotNet","maxbl4.RfidDotNet.AlienTech","maxbl4.RfidDotNet.GenericSerial")
function Main()
{
$version = GetNextVersion
dotnet test --filter Hardware!=true
if (-not $?) { exit $? }
foreach ($p in $packages){
Pack $p $version
}
UpdateVersion $version
}
function Pack($name, $version)
{
dotnet pack -c Release /p:Version=$version .\$name\$name.csproj
if (-not $?) { exit; }
nuget push -Source NugetLocal .\$name\bin\Release\$name.$version.nupkg
if (-not $?) { exit; }
nuget push -Source nuget.org .\$name\bin\Release\$name.$version.nupkg
if (-not $?) { exit; }
}
function GetNextVersion()
{
$lines = Get-Content $MyInvocation.ScriptName
$version = [System.Version]::Parse($lines[0].Substring(1))
return "$($version.Major).$($version.Minor).$($version.Build + 1)"
}
function UpdateVersion($version)
{
$lines = Get-Content $MyInvocation.ScriptName
$lines[0] = "#$version"
$lines > $MyInvocation.ScriptName
}
Main