@@ -36,6 +36,7 @@ set release_urls_arg=
3636set build_release =
3737set enable_vtune_arg =
3838set configure_flags =
39+ set build_addons =
3940
4041:next-arg
4142if " %1 " == " " goto args-done
@@ -54,8 +55,9 @@ if /i "%1"=="nosnapshot" set nosnapshot=1&goto arg-ok
5455if /i " %1 " == " noetw" set noetw = 1& goto arg-ok
5556if /i " %1 " == " noperfctr" set noperfctr = 1& goto arg-ok
5657if /i " %1 " == " licensertf" set licensertf = 1& goto arg-ok
57- if /i " %1 " == " test" set test_args = %test_args% sequential parallel message -J& set jslint=1& goto arg-ok
58- if /i " %1 " == " test-ci" set test_args = %test_args% %test_ci_args% -p tap --logfile test.tap message sequential parallel& goto arg-ok
58+ if /i " %1 " == " test" set test_args = %test_args% addons sequential parallel message -J& set jslint=1& set build_addons=1& goto arg-ok
59+ if /i " %1 " == " test-ci" set test_args = %test_args% %test_ci_args% -p tap --logfile test.tap addons message sequential parallel& set build_addons=1& goto arg-ok
60+ if /i " %1 " == " test-addons" set test_args = %test_args% addons& set build_addons=1& goto arg-ok
5961if /i " %1 " == " test-simple" set test_args = %test_args% sequential parallel -J& goto arg-ok
6062if /i " %1 " == " test-message" set test_args = %test_args% message& goto arg-ok
6163if /i " %1 " == " test-gc" set test_args = %test_args% gc& set buildnodeweak=1& goto arg-ok
@@ -91,6 +93,9 @@ if defined build_release (
9193 set i18n_arg = small-icu
9294)
9395
96+ :: assign path to node_exe
97+ set " node_exe = %config% \node.exe"
98+
9499if " %config% " == " Debug" set configure_flags = %configure_flags% --debug
95100if defined nosnapshot set configure_flags = %configure_flags% --without-snapshot
96101if defined noetw set configure_flags = %configure_flags% --without-etw& set noetw_msi_arg = /p:NoETW=1
@@ -240,15 +245,36 @@ ssh -F %SSHCONFIG% %STAGINGSERVER% "touch nodejs/%DISTTYPEDIR%/v%FULLVERSION%/no
240245
241246:build-node-weak
242247@ rem Build node-weak if required
243- if " %buildnodeweak% " == " " goto run-tests
248+ if " %buildnodeweak% " == " " goto build-addons
244249" %config% \node" deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=" %~dp0 test\gc\node_modules\weak" --nodedir=" %~dp0 ."
245250if errorlevel 1 goto build-node-weak-failed
246- goto run-tests
251+ goto build-addons
247252
248253:build-node-weak-failed
249254echo Failed to build node-weak.
250255goto exit
251256
257+ :build-addons
258+ if not defined build_addons goto run-tests
259+ if not exist " %node_exe% " (
260+ echo Failed to find node.exe
261+ goto run-tests
262+ )
263+ echo Building add-ons
264+ :: clear
265+ for /d %%F in (test\addons\??_*) do (
266+ rd /s /q %%F
267+ )
268+ :: generate
269+ " %node_exe% " tools\doc\addon-verify.js
270+ :: building addons
271+ for /d %%F in (test\addons\*) do (
272+ " %node_exe% " deps\npm\node_modules\node-gyp\bin\node-gyp rebuild ^
273+ --directory=" %%F " ^
274+ --nodedir=" %cd% "
275+ )
276+ goto run-tests
277+
252278:run-tests
253279if " %test_args% " == " " goto jslint
254280if " %config% " == " Debug" set test_args = --mode=debug %test_args%
0 commit comments