-
Notifications
You must be signed in to change notification settings - Fork 1
/
release.bat
61 lines (44 loc) · 1.48 KB
/
release.bat
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
52
53
54
55
56
57
58
59
60
61
@echo off
setlocal
call project.bat
if exist *.nupkg del *.nupkg
if errorlevel 1 goto error
if "%SIGNINGKEYS%" == "" goto setup
set /A year=%date:~6,4%
set /A month=%date:~3,2%
set /A day=%date:~0,2%
set /A tm=%time:~0,2%%time:~3,2%
copy "%SIGNINGKEYS%\Lasse V. Karlsen Private.snk" "%PROJECT%\Lasse V. Karlsen.snk"
if errorlevel 1 goto error
if exist %PROJECT%\bin rd /s /q %PROJECT%\bin
if errorlevel 1 goto error
nuget restore
if errorlevel 1 goto error
set VERSION=%year%.%month%.%day%.%tm%
msbuild %PROJECT%.sln /target:Clean,Rebuild /p:Configuration=Release /p:Version=%VERSION%%SUFFIX% /p:AssemblyVersion=%VERSION% /p:FileVersion=%VERSION% /p:DefineConstants="RELEASE;USE_RELEASE_KEY"
if errorlevel 1 goto error
set TESTDLL=%PROJECT%.Tests\bin\Debug\%PROJECT%.Tests.dll
if exist "%TESTDLL%" nunit3-console "%TESTDLL%"
if errorlevel 1 goto error
copy %PROJECT%\bin\Release\%PROJECT%*.nupkg .\
if errorlevel 1 goto error
git checkout "%PROJECT%\Lasse V. Karlsen.snk"
echo=
echo================================================
set /P PUSHYESNO=Push package to nuget? [y/N]
if "%PUSHYESNO%" == "Y" GOTO PUSH
exit /B 0
:PUSH
nuget push %PROJECT%.%VERSION%%SUFFIX%.nupkg -Source https://www.nuget.org/api/v2/package
if errorlevel 1 goto error
git tag version/%VERSION%%SUFFIX%
if errorlevel 1 goto error
exit /B 0
:error
goto exitwitherror
:setup
echo Requires SIGNINGKEYS environment variable to be set
goto exitwitherror
:exitwitherror
git checkout "%PROJECT%\Lasse V. Karlsen.snk"
exit /B 1