@@ -35,6 +35,7 @@ set download_arg=
3535set release_urls_arg =
3636set build_release =
3737set configure_flags =
38+ set build_addons =
3839
3940:next-arg
4041if " %1 " == " " goto args-done
@@ -53,8 +54,9 @@ if /i "%1"=="nosnapshot" set nosnapshot=1&goto arg-ok
5354if /i " %1 " == " noetw" set noetw = 1& goto arg-ok
5455if /i " %1 " == " noperfctr" set noperfctr = 1& goto arg-ok
5556if /i " %1 " == " licensertf" set licensertf = 1& goto arg-ok
56- if /i " %1 " == " test" set test_args = %test_args% sequential parallel message -J& set jslint=1& goto arg-ok
57- if /i " %1 " == " test-ci" set test_args = %test_args% %test_ci_args% -p tap --logfile test.tap message sequential parallel& goto arg-ok
57+ if /i " %1 " == " test" set test_args = %test_args% addons sequential parallel message -J& set jslint=1& set build_addons=1& goto arg-ok
58+ 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
59+ if /i " %1 " == " test-addons" set test_args = %test_args% addons& set build_addons=1& goto arg-ok
5860if /i " %1 " == " test-simple" set test_args = %test_args% sequential parallel -J& goto arg-ok
5961if /i " %1 " == " test-message" set test_args = %test_args% message& goto arg-ok
6062if /i " %1 " == " test-gc" set test_args = %test_args% gc& set buildnodeweak=1& goto arg-ok
@@ -89,6 +91,9 @@ if defined build_release (
8991 set i18n_arg = small-icu
9092)
9193
94+ :: assign path to node_exe
95+ set " node_exe = %config% \node.exe"
96+
9297if " %config% " == " Debug" set configure_flags = %configure_flags% --debug
9398if defined nosnapshot set configure_flags = %configure_flags% --without-snapshot
9499if defined noetw set configure_flags = %configure_flags% --without-etw& set noetw_msi_arg = /p:NoETW=1
@@ -237,15 +242,36 @@ ssh -F %SSHCONFIG% %STAGINGSERVER% "touch nodejs/%DISTTYPEDIR%/v%FULLVERSION%/no
237242
238243:build-node-weak
239244@ rem Build node-weak if required
240- if " %buildnodeweak% " == " " goto run-tests
245+ if " %buildnodeweak% " == " " goto build-addons
241246" %config% \node" deps\npm\node_modules\node-gyp\bin\node-gyp rebuild --directory=" %~dp0 test\gc\node_modules\weak" --nodedir=" %~dp0 ."
242247if errorlevel 1 goto build-node-weak-failed
243- goto run-tests
248+ goto build-addons
244249
245250:build-node-weak-failed
246251echo Failed to build node-weak.
247252goto exit
248253
254+ :build-addons
255+ if not defined build_addons goto run-tests
256+ if not exist " %node_exe% " (
257+ echo Failed to find node.exe
258+ goto run-tests
259+ )
260+ echo Building add-ons
261+ :: clear
262+ for /d %%F in (test\addons\??_*) do (
263+ rd /s /q %%F
264+ )
265+ :: generate
266+ " %node_exe% " tools\doc\addon-verify.js
267+ :: building addons
268+ for /d %%F in (test\addons\*) do (
269+ " %node_exe% " deps\npm\node_modules\node-gyp\bin\node-gyp rebuild ^
270+ --directory=" %%F " ^
271+ --nodedir=" %cd% "
272+ )
273+ goto run-tests
274+
249275:run-tests
250276if " %test_args% " == " " goto jslint
251277if " %config% " == " Debug" set test_args = --mode=debug %test_args%
0 commit comments