FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
node/vcbuild.bat at master · anchnk/node · GitHub
anchnk
/
node
Public
forked from
nodejs/node
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
node
/
vcbuild.bat
Copy path
More file actions
More file actions
Latest commit
History
History
History
551 lines (479 loc) · 20.6 KB
Breadcrumbs
node
/
vcbuild.bat
Copy path
File metadata and controls
551 lines (479 loc) · 20.6 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
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
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
@
echo
off
cd
%~dp0
if
/i
"
%1
"
==
"
help
"
goto
help
if
/i
"
%1
"
==
"
--help
"
goto
help
if
/i
"
%1
"
==
"
-help
"
goto
help
if
/i
"
%1
"
==
"
/help
"
goto
help
if
/i
"
%1
"
==
"
?
"
goto
help
if
/i
"
%1
"
==
"
-?
"
goto
help
if
/i
"
%1
"
==
"
--?
"
goto
help
if
/i
"
%1
"
==
"
/?
"
goto
help
@
rem
Process arguments.
set
config
=
Release
set
target
=
Build
set
target_arch
=
x64
set
target_env
=
vs2015
set
noprojgen
=
set
nobuild
=
set
sign
=
set
nosnapshot
=
set
cctest_args
=
set
test_args
=
set
package
=
set
msi
=
set
upload
=
set
licensertf
=
set
jslint
=
set
cpplint
=
set
build_testgc_addon
=
set
noetw
=
set
noetw_msi_arg
=
set
noperfctr
=
set
noperfctr_msi_arg
=
set
i18n_arg
=
set
download_arg
=
set
build_release
=
set
enable_vtune_arg
=
set
configure_flags
=
set
build_addons
=
set
dll
=
set
enable_static
=
set
build_addons_napi
=
set
test_node_inspect
=
set
test_check_deopts
=
:
next-arg
if
"
%1
"
==
"
"
goto
args-done
if
/i
"
%1
"
==
"
debug
"
set
config
=
Debug
&
goto arg-ok
if
/i
"
%1
"
==
"
release
"
set
config
=
Release
&
goto arg-ok
if
/i
"
%1
"
==
"
clean
"
set
target
=
Clean
&
goto arg-ok
if
/i
"
%1
"
==
"
ia32
"
set
target_arch
=
x86
&
goto arg-ok
if
/i
"
%1
"
==
"
x86
"
set
target_arch
=
x86
&
goto arg-ok
if
/i
"
%1
"
==
"
x64
"
set
target_arch
=
x64
&
goto arg-ok
@
rem
args should be vs2017 and vs2015. keeping vc2015 for backward combatibility (undocumented)
if
/i
"
%1
"
==
"
vc2015
"
set
target_env
=
vs2015
&
goto arg-ok
if
/i
"
%1
"
==
"
vs2015
"
set
target_env
=
vs2015
&
goto arg-ok
if
/i
"
%1
"
==
"
vs2017
"
set
target_env
=
vs2017
&
goto arg-ok
if
/i
"
%1
"
==
"
noprojgen
"
set
noprojgen
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
nobuild
"
set
nobuild
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
nosign
"
set
"
sign
=
"
&
echo Note: vcbuild no longer signs by default.
"
nosign
"
is redundant.
&
goto arg-ok
if
/i
"
%1
"
==
"
sign
"
set
sign
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
nosnapshot
"
set
nosnapshot
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
noetw
"
set
noetw
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
noperfctr
"
set
noperfctr
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
licensertf
"
set
licensertf
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
test
"
set
test_args
=
%test_args%
doctool known_issues message parallel sequential addons addons-napi -J
&
set cpplint=1
&
set jslint=1
&
set build_addons=1
&
set build_addons_napi=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-ci
"
set
test_args
=
%test_args%
%test_ci_args%
-p tap --logfile test.tap doctool inspector known_issues message sequential parallel addons addons-napi
&
set cctest_args=
%cctest_args%
--gtest_output=tap:cctest.tap
&
set build_addons=1
&
set build_addons_napi=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-addons
"
set
test_args
=
%test_args%
addons
&
set build_addons=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-addons-napi
"
set
test_args
=
%test_args%
addons-napi
&
set build_addons_napi=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-simple
"
set
test_args
=
%test_args%
sequential parallel -J
&
goto arg-ok
if
/i
"
%1
"
==
"
test-message
"
set
test_args
=
%test_args%
message
&
goto arg-ok
if
/i
"
%1
"
==
"
test-gc
"
set
test_args
=
%test_args%
gc
&
set build_testgc_addon=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-inspector
"
set
test_args
=
%test_args%
inspector
&
goto arg-ok
if
/i
"
%1
"
==
"
test-tick-processor
"
set
test_args
=
%test_args%
tick-processor
&
goto arg-ok
if
/i
"
%1
"
==
"
test-internet
"
set
test_args
=
%test_args%
internet
&
goto arg-ok
if
/i
"
%1
"
==
"
test-pummel
"
set
test_args
=
%test_args%
pummel
&
goto arg-ok
if
/i
"
%1
"
==
"
test-all
"
set
test_args
=
%test_args%
sequential parallel message gc inspector internet pummel
&
set build_testgc_addon=1
&
set cpplint=1
&
set jslint=1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-known-issues
"
set
test_args
=
%test_args%
known_issues
&
goto arg-ok
if
/i
"
%1
"
==
"
test-node-inspect
"
set
test_node_inspect
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
test-check-deopts
"
set
test_check_deopts
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
jslint
"
set
jslint
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
jslint-ci
"
set
jslint_ci
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
lint
"
set
cpplint
=
1
&
set jslint=1
&
goto arg-ok
if
/i
"
%1
"
==
"
lint-ci
"
set
cpplint
=
1
&
set jslint_ci=1
&
goto arg-ok
if
/i
"
%1
"
==
"
package
"
set
package
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
msi
"
set
msi
=
1
&
set licensertf=1
&
set download_arg=
"
--download=all
"
&
set i18n_arg=small-icu
&
goto arg-ok
if
/i
"
%1
"
==
"
build-release
"
set
build_release
=
1
&
set sign=1
&
goto arg-ok
if
/i
"
%1
"
==
"
upload
"
set
upload
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
small-icu
"
set
i18n_arg
=
%1
&
goto arg-ok
if
/i
"
%1
"
==
"
full-icu
"
set
i18n_arg
=
%1
&
goto arg-ok
if
/i
"
%1
"
==
"
intl-none
"
set
i18n_arg
=
%1
&
goto arg-ok
if
/i
"
%1
"
==
"
without-intl
"
set
i18n_arg
=
%1
&
goto arg-ok
if
/i
"
%1
"
==
"
download-all
"
set
download_arg
=
"
--download=all
"
&
goto arg-ok
if
/i
"
%1
"
==
"
ignore-flaky
"
set
test_args
=
%test_args%
--flaky-tests=dontcare
&
goto arg-ok
if
/i
"
%1
"
==
"
enable-vtune
"
set
enable_vtune_arg
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
dll
"
set
dll
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
static
"
set
enable_static
=
1
&
goto arg-ok
if
/i
"
%1
"
==
"
no-NODE-OPTIONS
"
set
no_NODE_OPTIONS
=
1
&
goto arg-ok
echo
Error: invalid command line option `
%1
`.
exit
/b
1
:
arg-ok
:
arg-ok
shift
goto
next-arg
:
args-done
if
defined
build_release (
set
config
=
Release
set
package
=
1
set
msi
=
1
set
licensertf
=
1
set
download_arg
=
"
--download=all
"
set
i18n_arg
=
small-icu
)
::
assign path to node_exe
set
"
node_exe
=
%config%
\node.exe
"
if
"
%config%
"
==
"
Debug
"
set
configure_flags
=
%configure_flags%
--debug
if
defined
nosnapshot
set
configure_flags
=
%configure_flags%
--without-snapshot
if
defined
noetw
set
configure_flags
=
%configure_flags%
--without-etw
&
set
noetw_msi_arg
=
/p:NoETW=
1
if
defined
noperfctr
set
configure_flags
=
%configure_flags%
--without-perfctr
&
set
noperfctr_msi_arg
=
/p:NoPerfCtr=
1
if
defined
release_urlbase
set
configure_flags
=
%configure_flags%
--release-urlbase=
%release_urlbase%
if
defined
download_arg
set
configure_flags
=
%configure_flags%
%download_arg%
if
defined
enable_vtune_arg
set
configure_flags
=
%configure_flags%
--enable-vtune-profiling
if
defined
dll
set
configure_flags
=
%configure_flags%
--shared
if
defined
enable_static
set
configure_flags
=
%configure_flags%
--enable-static
if
defined
no_NODE_OPTIONS
set
configure_flags
=
%configure_flags%
--without-node-options
if
"
%i18n_arg%
"
==
"
full-icu
"
set
configure_flags
=
%configure_flags%
--with-intl=full-icu
if
"
%i18n_arg%
"
==
"
small-icu
"
set
configure_flags
=
%configure_flags%
--with-intl=small-icu
if
"
%i18n_arg%
"
==
"
intl-none
"
set
configure_flags
=
%configure_flags%
--with-intl=none
if
"
%i18n_arg%
"
==
"
without-intl
"
set
configure_flags
=
%configure_flags%
--without-intl
if
defined
config_flags
set
configure_flags
=
%configure_flags%
%config_flags%
if
not
exist
"
%~dp0
deps\icu
"
goto
no-depsicu
if
"
%target%
"
==
"
Clean
"
echo
deleting
%~dp0
deps\icu
if
"
%target%
"
==
"
Clean
"
rmdir
/S /Q
%~dp0
deps\icu
:
no-depsicu
call
:
getnodeversion
||
exit
/b
1
if
"
%target%
"
==
"
Clean
"
rmdir
/Q /S
"
%~dp0
%config%
\node-v
%FULLVERSION%
-win-
%target_arch%
"
>
nul
2
>
nul
if
defined
noprojgen
if
defined
nobuild
if
not
defined
sign
if
not
defined
msi
goto
licensertf
@
rem
Set environment for msbuild
set
msvs_host_arch
=
x86
if
_
%PROCESSOR_ARCHITECTURE%
_
==
_AMD64_
set
msvs_host_arch
=
amd64
if
_
%PROCESSOR_ARCHITEW6432%
_
==
_AMD64_
set
msvs_host_arch
=
amd64
@
rem
usualy vcvarsall takes an argument: host + '_' + target
set
vcvarsall_arg
=
%msvs_host_arch%
_
%target_arch%
@
rem
unless both host and taget are x64
if
%target_arch%
==
x64
if
%msvs_host_arch%
==
amd64
set
vcvarsall_arg
=
amd64
@
rem
Look for Visual Studio 2017
:
vs-set-2017
if
"
%target_env%
"
NEQ
"
vs2017
"
goto
vs-set-2015
echo
Looking for Visual Studio
2017
if
"
_
%VSCMD_ARG_TGT_ARCH%
_
"
==
"
_
%target_arch%
_
"
goto
found_vs2017
call
tools\msvs\vswhere_usability_wrapper.cmd
if
"
_
%VCINSTALLDIR%
_
"
==
"
__
"
goto
vs-set-2015
set
vcvars_call
=
"
%VCINSTALLDIR%
\Auxiliary\Build\vcvarsall.bat
"
%vcvarsall_arg%
echo
calling:
%vcvars_call%
call
%vcvars_call%
:
found_vs2017
echo
Found MSVS version
%VisualStudioVersion%
set
GYP_MSVS_VERSION
=
2017
set
PLATFORM_TOOLSET
=
v141
goto
msbuild-found
@
rem
Look for Visual Studio 2015
:
vs-set-2015
if
"
%target_env%
"
NEQ
"
vs2015
"
goto
msbuild-not-found
echo
Looking for Visual Studio
2015
if
not
defined
VS140COMNTOOLS
goto
msbuild-not-found
if
not
exist
"
%VS140COMNTOOLS%
\..\..\vc\vcvarsall.bat
"
goto
msbuild-not-found
echo
Found Visual Studio
2015
if
defined
msi (
echo
Looking for WiX installation for Visual Studio 2015...
if
not
exist
"
%WIX%
\SDK\VS2015
"
(
echo
Failed to find WiX install for Visual Studio
2015
echo
VS2015 support for WiX is only present starting at version 3.10
goto
wix-not-found
)
)
if
"
%VCVARS_VER%
"
NEQ
"
140
"
(
call
"
%VS140COMNTOOLS%
\..\..\vc\vcvarsall.bat
"
SET
VCVARS_VER
=
140
)
if
not
defined
VCINSTALLDIR
goto
msbuild-not-found
set
GYP_MSVS_VERSION
=
2015
set
PLATFORM_TOOLSET
=
v140
goto
msbuild-found
:
msbuild-not-found
echo
Failed to find a suitable Visual Studio installation.
echo
Try to run in a
"
Developer Command Prompt
"
or consult
echo
https://github.com/nodejs/node/blob/master/BUILDING.md#windows-1
goto
exit
:
wix-not-found
echo
Build skipped. To generate installer, you need to install Wix.
goto
run
:
msbuild-found
:
project-gen
@
rem
Skip project generation if requested.
if
defined
noprojgen
goto
msbuild
@
rem
Generate the VS project.
echo
configure
%configure_flags%
--dest-cpu=
%target_arch%
--tag=
%TAG%
python configure
%configure_flags%
--dest-cpu=
%target_arch%
--tag=
%TAG%
if
errorlevel
1
goto
create-msvs-files-failed
if
not
exist
node.sln
goto
create-msvs-files-failed
echo
Project files generated.
:
msbuild
@
rem
Skip build if requested.
if
defined
nobuild
goto
sign
@
rem
Build the sln with msbuild.
set
"
msbcpu
=
/m:2
"
if
"
%NUMBER_OF_PROCESSORS%
"
==
"
1
"
set
"
msbcpu
=
/m:1
"
set
"
msbplatform
=
Win32
"
if
"
%target_arch%
"
==
"
x64
"
set
"
msbplatform
=
x64
"
msbuild node.sln
%msbcpu%
/t:
%target%
/p:Configuration=
%config%
/p:Platform=
%msbplatform%
/clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
if
errorlevel
1
goto
exit
if
"
%target%
"
==
"
Clean
"
goto
exit
:
sign
@
rem
Skip signing unless the `sign` option was specified.
if
not
defined
sign
goto
licensertf
call
tools\sign.bat Release\node.exe
if
errorlevel
1
echo
Failed to sign exe
&
goto
exit
:
licensertf
@
rem
Skip license.rtf generation if not requested.
if
not
defined
licensertf
goto
package
%config%
\node tools\license2rtf.js
<
LICENSE
>
%config%
\license.rtf
if
errorlevel
1
echo
Failed to generate license.rtf
&
goto
exit
:
package
if
not
defined
package
goto
msi
echo
Creating package...
cd
Release
mkdir
node-v
%FULLVERSION%
-win-
%target_arch%
>
nul
2
>
nul
mkdir
node-v
%FULLVERSION%
-win-
%target_arch%
\node_modules
>
nul
2
>
nul
copy
/Y node.exe node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy node.exe
&&
goto
package_error
copy
/Y ..\LICENSE node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy LICENSE
&&
goto
package_error
copy
/Y ..\README.md node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy README.md
&&
goto
package_error
copy
/Y ..\CHANGELOG.md node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy CHANGELOG.md
&&
goto
package_error
robocopy
/e ..\deps\npm node-v
%FULLVERSION%
-win-
%target_arch%
\node_modules\npm
>
nul
if
errorlevel
8
echo
Cannot copy npm package
&&
goto
package_error
copy
/Y ..\deps\npm\bin\npm node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy npm
&&
goto
package_error
copy
/Y ..\deps\npm\bin\npm.cmd node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy npm.cmd
&&
goto
package_error
copy
/Y ..\tools\msvs\nodevars.bat node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy nodevars.bat
&&
goto
package_error
if
not
defined
noetw (
copy
/Y ..\src\res\node_etw_provider.man node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy node_etw_provider.man
&&
goto
package_error
)
if
not
defined
noperfctr (
copy
/Y ..\src\res\node_perfctr_provider.man node-v
%FULLVERSION%
-win-
%target_arch%
\
>
nul
if
errorlevel
1
echo
Cannot copy node_perfctr_provider.man
&&
goto
package_error
)
echo
Creating node-v
%FULLVERSION%
-win-
%target_arch%
.7z
del
node-v
%FULLVERSION%
-win-
%target_arch%
.7z
>
nul
2
>
nul
7z a -r -mx9 -t7z node-v
%FULLVERSION%
-win-
%target_arch%
.7z node-v
%FULLVERSION%
-win-
%target_arch%
>
nul
if
errorlevel
1
echo
Cannot create node-v
%FULLVERSION%
-win-
%target_arch%
.7z
&&
goto
package_error
echo
Creating node-v
%FULLVERSION%
-win-
%target_arch%
.zip
del
node-v
%FULLVERSION%
-win-
%target_arch%
.zip
>
nul
2
>
nul
7z a -r -mx9 -tzip node-v
%FULLVERSION%
-win-
%target_arch%
.zip node-v
%FULLVERSION%
-win-
%target_arch%
>
nul
if
errorlevel
1
echo
Cannot create node-v
%FULLVERSION%
-win-
%target_arch%
.zip
&&
goto
package_error
echo
Creating node_pdb.7z
del
node_pdb.7z
>
nul
2
>
nul
7z a -mx9 -t7z node_pdb.7z node.pdb
>
nul
echo
Creating node_pdb.zip
del
node_pdb.zip
>
nul
2
>
nul
7z a -mx9 -tzip node_pdb.zip node.pdb
>
nul
cd
..
echo
Package created!
goto
package_done
:
package_error
cd
..
exit
/b
1
:
package_done
:
msi
@
rem
Skip msi generation if not requested
if
not
defined
msi
goto
run
:
msibuild
echo
Building node-v
%FULLVERSION%
-
%target_arch%
.msi
msbuild
"
%~dp0
tools\msvs\msi\nodemsi.sln
"
/m /t:Clean,Build /p:PlatformToolset=
%PLATFORM_TOOLSET%
/p:GypMsvsVersion=
%GYP_MSVS_VERSION%
/p:Configuration=
%config%
/p:Platform=
%target_arch%
/p:NodeVersion=
%NODE_VERSION%
/p:FullVersion=
%FULLVERSION%
/p:DistTypeDir=
%DISTTYPEDIR%
%noetw_msi_arg%
%noperfctr_msi_arg%
/clp:NoSummary;NoItemAndPropertyList;Verbosity=minimal /nologo
if
errorlevel
1
goto
exit
if
not
defined
sign
goto
upload
call
tools\sign.bat node-v
%FULLVERSION%
-
%target_arch%
.msi
if
errorlevel
1
echo
Failed to sign msi
&
goto
exit
:
upload
@
rem
Skip upload if not requested
if
not
defined
upload
goto
run
if
not
defined
SSHCONFIG (
echo
SSHCONFIG is not set for upload
exit
/b
1
)
if
not
defined
STAGINGSERVER
set
STAGINGSERVER
=
node-www
ssh
-F
%SSHCONFIG%
%STAGINGSERVER%
"
mkdir -p nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
"
scp
-F
%SSHCONFIG%
Release\node.exe
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
/node.exe
scp
-F
%SSHCONFIG%
Release\node.lib
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
/node.lib
scp
-F
%SSHCONFIG%
Release\node_pdb.zip
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
/node_pdb.zip
scp
-F
%SSHCONFIG%
Release\node_pdb.7z
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
/node_pdb.7z
scp
-F
%SSHCONFIG%
Release\node-v
%FULLVERSION%
-win-
%target_arch%
.7z
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-win-
%target_arch%
.7z
scp
-F
%SSHCONFIG%
Release\node-v
%FULLVERSION%
-win-
%target_arch%
.zip
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-win-
%target_arch%
.zip
scp
-F
%SSHCONFIG%
node-v
%FULLVERSION%
-
%target_arch%
.msi
%STAGINGSERVER%
:nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/
ssh
-F
%SSHCONFIG%
%STAGINGSERVER%
"
touch nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-
%target_arch%
.msi.done nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-win-
%target_arch%
.zip.done nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-win-
%target_arch%
.7z.done nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
.done && chmod -R ug=rw-x+X,o=r+X nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/node-v
%FULLVERSION%
-
%target_arch%
.* nodejs/
%DISTTYPEDIR%
/v
%FULLVERSION%
/win-
%target_arch%
*
"
:
run
@
rem
Run tests if requested.
@
rem
Build test/gc add-on if required.
if
"
%build_testgc_addon%
"
==
"
"
goto
build-addons
"
%config%
\node
"
deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=
"
%~dp0
test\gc
"
--nodedir=
"
%~dp0
.
"
if
errorlevel
1
goto
build-testgc-addon-failed
goto
build-addons
:
build-testgc-addon-failed
echo
Failed to build test/gc add-on.
"
goto exit
:
build-addons
if
not
defined
build_addons
goto
build-addons-napi
if
not
exist
"
%node_exe%
"
(
echo
Failed to find node.exe
goto
build-addons-napi
)
echo
Building addons
::
clear
for
/d
%%F
in
(test\addons\??_*)
do
(
rd
/s /q
%%F
)
::
generate
"
%node_exe%
"
tools\doc\addon-verify.js
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
::
building addons
setlocal
EnableDelayedExpansion
for
/d
%%F
in
(test\addons\*)
do
(
"
%node_exe%
"
deps\npm\node_modules\node-gyp\bin\node-gyp rebuild
^
--directory=
"
%%F
"
^
--nodedir=
"
%cd%
"
if
!errorlevel!
neq
0
exit
/b
!errorlevel!
)
:
build-addons-napi
if
not
defined
build_addons_napi
goto
run-tests
if
not
exist
"
%node_exe%
"
(
echo
Failed to find node.exe
goto
run-tests
)
echo
Building addons-napi
::
clear
for
/d
%%F
in
(test\addons-napi\??_*)
do
(
rd
/s /q
%%F
)
::
building addons-napi
for
/d
%%F
in
(test\addons-napi\*)
do
(
"
%node_exe%
"
deps\npm\node_modules\node-gyp\bin\node-gyp rebuild
^
--directory=
"
%%F
"
^
--nodedir=
"
%cd%
"
)
endlocal
goto
run-tests
:
run-tests
if
defined
test_check_deopts
goto
node-check-deopts
if
defined
test_node_inspect
goto
node-test-inspect
goto
node-tests
:
node-check-deopts
python tools\test.py --mode=release --check-deopts parallel sequential -J
if
defined
test_node_inspect
goto
node-test-inspect
goto
node-tests
:
node-test-inspect
set
USE_EMBEDDED_NODE_INSPECT
=
1
%config%
\node tools\test-npm-package.js --install deps\node-inspect test
goto
node-tests
:
node-tests
if
"
%test_args%
"
==
"
"
goto
cpplint
if
"
%config%
"
==
"
Debug
"
set
test_args
=
--mode=debug
%test_args%
if
"
%config%
"
==
"
Release
"
set
test_args
=
--mode=release
%test_args%
echo
running 'cctest
%cctest_args%
'
"
%config%
\cctest
"
%cctest_args%
echo
running 'python tools\test.py
%test_args%
'
python tools\test.py
%test_args%
goto
cpplint
:
cpplint
if
not
defined
cpplint
goto
jslint
echo
running cpplint
set
cppfilelist
=
setlocal
enabledelayedexpansion
for
/f
"
tokens=*
"
%%G
in
('dir /b /s /a src\*.c src\*.cc src\*.h
^
test\addons\*.cc test\addons\*.h test\cctest\*.cc test\cctest\*.h
^
test\gc\binding.cc tools\icu\*.cc tools\icu\*.h')
do
(
set
relpath
=
%%G
set
relpath
=
!relpath:
*
%
~dp0
=!
call
:
add-to-list
!relpath!
)
(
endlocal
set
cppfilelist
=
%localcppfilelist%
)
python tools/cpplint.py
%cppfilelist%
python tools/check-imports.py
goto
jslint
:
add-to-list
echo
%1
|
findstr
/c:
"
src\node_root_certs.h
"
if
%errorlevel%
equ
0
goto
exit
echo
%1
|
findstr
/c:
"
src\queue.h
"
if
%errorlevel%
equ
0
goto
exit
echo
%1
|
findstr
/c:
"
src\tree.h
"
if
%errorlevel%
equ
0
goto
exit
@
rem
skip subfolders under /src
echo
%1
|
findstr
/r /c:
"
src\\.*\\.*
"
if
%errorlevel%
equ
0
goto
exit
echo
%1
|
findstr
/r /c:
"
test\\addons\\[0-9].*_.*\.h
"
if
%errorlevel%
equ
0
goto
exit
echo
%1
|
findstr
/r /c:
"
test\\addons\\[0-9].*_.*\.cc
"
if
%errorlevel%
equ
0
goto
exit
set
"
localcppfilelist
=
%localcppfilelist%
%1
"
goto
exit
:
jslint
if
defined
jslint_ci
goto
jslint-ci
if
not
defined
jslint
goto
exit
if
not
exist
tools\eslint\lib\eslint.js
goto
no-lint
echo
running jslint
%config%
\node tools\eslint\bin\eslint.js --cache --rule
"
linebreak-style: 0
"
--rulesdir=tools\eslint-rules --ext=.js,.md benchmark doc lib test tools
goto
exit
:
jslint-ci
echo
running jslint-ci
%config%
\node tools\jslint.js -J -f tap -o test-eslint.tap benchmark doc lib test tools
goto
exit
:
no-lint
echo
Linting is not available through the source tarball.
echo
Use the git repo instead: $ git clone https://github.com/nodejs/node.git
goto
exit
:
create-msvs-files-failed
echo
Failed to create vc project files.
goto
exit
:
help
echo
vcbuild.bat [debug/release] [msi] [test-all/test-uv/test-inspector/test-internet/test-pummel/test-simple/test-message] [clean] [noprojgen] [small-icu/full-icu/without-intl] [nobuild] [sign] [x86/x64] [vs2015/vs2017] [download-all] [enable-vtune] [lint/lint-ci] [no-NODE-OPTIONS]
echo
Examples:
echo
vcbuild.bat : builds release build
echo
vcbuild.bat debug : builds debug build
echo
vcbuild.bat release msi : builds release build and MSI installer package
echo
vcbuild.bat test : builds debug build and runs tests
echo
vcbuild.bat build-release : builds the release distribution as used by nodejs.org
echo
vcbuild.bat enable-vtune : builds nodejs with Intel VTune profiling support to profile JavaScript
goto
exit
:
exit
goto
:
EOF
rem
***************
rem
Subroutines
rem
***************
:
getnodeversion
set
NODE_VERSION
=
set
TAG
=
set
FULLVERSION
=
for
/F
"
usebackq tokens=*
"
%%i
in
(`python
"
%~dp0
tools\getnodeversion.py
"
`)
do
set
NODE_VERSION
=
%%i
if
not
defined
NODE_VERSION (
echo
Cannot determine current version of Node.js
exit
/b
1
)
if
not
defined
DISTTYPE
set
DISTTYPE
=
release
if
"
%DISTTYPE%
"
==
"
release
"
(
set
FULLVERSION
=
%NODE_VERSION%
goto
exit
)
if
"
%DISTTYPE%
"
==
"
custom
"
(
if
not
defined
CUSTOMTAG (
echo
"
CUSTOMTAG is not set for DISTTYPE=custom
"
exit
/b
1
)
set
TAG
=
%CUSTOMTAG%
)
if
not
"
%DISTTYPE%
"
==
"
custom
"
(
if
not
defined
DATESTRING (
echo
"
DATESTRING is not set for nightly
"
exit
/b
1
)
if
not
defined
COMMIT (
echo
"
COMMIT is not set for nightly
"
exit
/b
1
)
if
not
"
%DISTTYPE%
"
==
"
nightly
"
(
if
not
"
%DISTTYPE%
"
==
"
next-nightly
"
(
echo
"
DISTTYPE is not release, custom, nightly or next-nightly
"
exit
/b
1
)
)
set
TAG
=
%DISTTYPE%%DATESTRING%%COMMIT%
)
set
FULLVERSION
=
%NODE_VERSION%
-
%TAG%
:
exit
if
not
defined
DISTTYPEDIR
set
DISTTYPEDIR
=
%DISTTYPE%
goto
:
EOF
Back
|
FazBrowse Home
|
New Git URL