-
Notifications
You must be signed in to change notification settings - Fork 34
Expand file tree
/
Copy pathBuildRelease.bat
More file actions
205 lines (160 loc) · 3.9 KB
/
BuildRelease.bat
File metadata and controls
205 lines (160 loc) · 3.9 KB
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
title ToDoList_Dev Release Build
ECHO OFF
CLS
ECHO ToDoList_Dev Release Build
ECHO ==========================
ECHO:
PUSHD %~dp0
SET REPO=%CD%
ECHO REPO = %REPO%
ECHO:
IF NOT EXIST %REPO%\Core EXIT
IF NOT EXIST %REPO%\Plugins EXIT
ECHO [106m[30m Remember to update ToDoList version number[0m
ECHO [106m[30m Remember to pull latest translations[0m
ECHO:
PAUSE
ECHO:
REM - Detours
REM "C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe" .\3rdParty\Detours\Detours.dsw /MAKE "ALL - Win32 Unicode Release"
REM - Build core app in VC6
ECHO Building ToDoList Core
ECHO ======================
ECHO:
SET MSDEV="C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe"
SET OUTPUT_FILE=%REPO%\Core\ToDoList\Unicode_Release\Core_Build_Output.txt
REM - WE USE FULL PATHS EVERYWHERE ELSE EXCEPT HERE BECAUSE
REM - MSDEV ASSUMES THAT THE SOLUTION IS PROVIDED BY NAME ONLY
SET SOLUTION=ToDoList_Core.dsw
ECHO MSDEV = %MSDEV%
ECHO SOLUTION = %REPO%\Core\%SOLUTION%
IF NOT EXIST %MSDEV% (
ECHO [41m Unable to locate MSDev.exe!![0m
ECHO:
PAUSE
EXIT
)
MKDIR %REPO%\Core\ToDoList\Unicode_Release 2> NUL
DEL %OUTPUT_FILE% 2> NUL
IF EXIST %OUTPUT_FILE% (
ECHO [41m FAILED to delete Core_Build_Output.txt[0m
ECHO:
PAUSE
EXIT
)
cd %REPO%\Core
%MSDEV% ToDoList_Core.dsw /MAKE "ALL - Win32 Unicode Release" /OUT %OUTPUT_FILE%
ECHO:
REM - Check for compile errors
FINDSTR /C:") : error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for include errors
FINDSTR /C:") : fatal error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - All other errors
FINDSTR /C:"Error " %OUTPUT_FILE%
)
)
IF %errorlevel%==0 (
ECHO [41m Build FAILED[0m
ECHO:
REM Open the build log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Build SUCCEEDED[0m
ECHO:
REM Run units tests
ECHO Running Unit Tests
ECHO ==================
ECHO:
SET TDLTEST=%REPO%\Core\TDLTest\Unicode_Release\TDLTest.exe
SET OUTPUT_FILE=%REPO%\Core\TDLTest\Unicode_Release\Test_Output.txt
DEL %OUTPUT_FILE% 2> NUL
IF EXIST %OUTPUT_FILE% (
ECHO [41m FAILED to delete Test_Output.txt[0m
ECHO:
PAUSE
EXIT
)
%TDLTEST% > %OUTPUT_FILE%
REM - Check for test errors
FINDSTR /C:"tests FAILED" %OUTPUT_FILE%
IF %errorlevel%==0 (
ECHO [41m Tests FAILED[0m
ECHO:
REM Open the test log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM - Check for test success
FINDSTR /C:"tests SUCCEEDED" %OUTPUT_FILE% > nul
IF %errorlevel%==1 (
ECHO [41m Test Results EMPTY[0m
ECHO:
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Tests SUCCEEDED[0m
ECHO:
REM - Build plugins using MSBuild
ECHO Building ToDoList Plugins
ECHO =========================
ECHO:
SET MSBUILD="C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe"
SET SOLUTION=%REPO%\Plugins\ToDoList_Plugins.sln
SET OUTPUT_FILE=%REPO%\Plugins\Release\Plugins_Build_Output.txt
ECHO MSBUILD = %MSBUILD%
ECHO SOLUTION = %SOLUTION%
ECHO:
IF NOT EXIST %MSBUILD% (
ECHO [41m Unable to locate MSBuild.exe!![0m
ECHO:
PAUSE
EXIT
)
MKDIR %REPO%\Plugins\Release 2> NUL
DEL %OUTPUT_FILE% 2> NUL
IF EXIST %OUTPUT_FILE% (
ECHO [41m FAILED to delete Plugins_Build_Output.txt[0m
ECHO:
PAUSE
EXIT
)
%MSBUILD% %SOLUTION% /t:Build /p:Configuration=Release /p:Platform="Mixed Platforms" /m /v:normal > %OUTPUT_FILE%
REM - Check for compile errors
FINDSTR /C:"): error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - Check for link errors
FINDSTR /C:": fatal error" %OUTPUT_FILE%
IF %errorlevel%==1 (
REM - All other errors
FINDSTR /C:"Build FAILED." %OUTPUT_FILE%
)
)
IF %errorlevel%==0 (
ECHO [41m Build FAILED[0m
ECHO:
REM Open the build log
%OUTPUT_FILE%
PAUSE
EXIT
)
REM SUCCESS!
ECHO [42m Build SUCCEEDED[0m
ECHO:
ECHO [43m[30m Verify compiled version number before zipping[0m
ECHO [43m[30m Close any instances of ToDoList before zipping[0m
ECHO:
ECHO [106m[30m Allow caller to cancel building Zip[0m
PAUSE
CALL %REPO%\BuildReleaseZip.bat
CALL %REPO%\BuildCodeZip.bat
REM - Open Downloads folder
Explorer.exe "%REPO%\..\ToDoList_Downloads\Latest"
PAUSE
POPD