Skip to content

Commit 9fd32b1

Browse files
bzozFishrock123
authored andcommitted
win,build: add creation of zip and 7z package
Add a step in vcbuild.bat to create a minimal package including node and npm that can be used as an alternative to the MSI. Compress the node.pdb file as zip and 7z. All files are uploaded as part of build-release. Reviewed-By: Joao Reis <[email protected]> Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Alexis Campailla <[email protected]> PR-URL: #5995 Fixes: nodejs/build#299 Fixes: #5696
1 parent ba67f77 commit 9fd32b1

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

vcbuild.bat

Lines changed: 57 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ set nobuild=
2121
set nosign=
2222
set nosnapshot=
2323
set test_args=
24+
set package=
2425
set msi=
2526
set upload=
2627
set licensertf=
@@ -67,6 +68,7 @@ if /i "%1"=="test-all" set test_args=%test_args% sequential parallel messag
6768
if /i "%1"=="test-known-issues" set test_args=%test_args% known_issues&goto arg-ok
6869
if /i "%1"=="jslint" set jslint=1&goto arg-ok
6970
if /i "%1"=="jslint-ci" set jslint_ci=1&goto arg-ok
71+
if /i "%1"=="package" set package=1&goto arg-ok
7072
if /i "%1"=="msi" set msi=1&set licensertf=1&set download_arg="--download=all"&set i18n_arg=small-icu&goto arg-ok
7173
if /i "%1"=="build-release" set build_release=1&goto arg-ok
7274
if /i "%1"=="upload" set upload=1&goto arg-ok
@@ -89,6 +91,7 @@ goto next-arg
8991

9092
if defined build_release (
9193
set config=Release
94+
set package=1
9295
set msi=1
9396
set licensertf=1
9497
set download_arg="--download=all"
@@ -210,11 +213,59 @@ if errorlevel 1 echo Failed to sign exe&goto exit
210213

211214
:licensertf
212215
@rem Skip license.rtf generation if not requested.
213-
if not defined licensertf goto msi
216+
if not defined licensertf goto package
214217

215218
%config%\node tools\license2rtf.js < LICENSE > %config%\license.rtf
216219
if errorlevel 1 echo Failed to generate license.rtf&goto exit
217220

221+
:package
222+
if not defined package goto msi
223+
echo Creating package...
224+
cd Release
225+
mkdir node-v%FULLVERSION%-win-%target_arch% > nul 2> nul
226+
mkdir node-v%FULLVERSION%-win-%target_arch%\node_modules > nul 2>nul
227+
228+
copy /Y node.exe node-v%FULLVERSION%-win-%target_arch%\ > nul
229+
if errorlevel 1 echo Cannot copy node.exe && goto package_error
230+
copy /Y ..\LICENSE node-v%FULLVERSION%-win-%target_arch%\ > nul
231+
if errorlevel 1 echo Cannot copy LICENSE && goto package_error
232+
copy /Y ..\README.md node-v%FULLVERSION%-win-%target_arch%\ > nul
233+
if errorlevel 1 echo Cannot copy README.md && goto package_error
234+
copy /Y ..\CHANGELOG.md node-v%FULLVERSION%-win-%target_arch%\ > nul
235+
if errorlevel 1 echo Cannot copy CHANGELOG.md && goto package_error
236+
robocopy /e ..\deps\npm node-v%FULLVERSION%-win-%target_arch%\node_modules\npm > nul
237+
if errorlevel 8 echo Cannot copy npm package && goto package_error
238+
copy /Y ..\deps\npm\bin\npm node-v%FULLVERSION%-win-%target_arch%\ > nul
239+
if errorlevel 1 echo Cannot copy npm && goto package_error
240+
copy /Y ..\deps\npm\bin\npm.cmd node-v%FULLVERSION%-win-%target_arch%\ > nul
241+
if errorlevel 1 echo Cannot copy npm.cmd && goto package_error
242+
243+
echo Creating node-v%FULLVERSION%-win-%target_arch%.7z
244+
del node-v%FULLVERSION%-win-%target_arch%.7z > nul 2> nul
245+
7z a -r -mx9 -t7z node-v%FULLVERSION%-win-%target_arch%.7z node-v%FULLVERSION%-win-%target_arch% > nul
246+
if errorlevel 1 echo Cannot create node-v%FULLVERSION%-win-%target_arch%.7z && goto package_error
247+
248+
echo Creating node-v%FULLVERSION%-win-%target_arch%.zip
249+
del node-v%FULLVERSION%-win-%target_arch%.zip > nul 2> nul
250+
7z a -r -mx9 -tzip node-v%FULLVERSION%-win-%target_arch%.zip node-v%FULLVERSION%-win-%target_arch% > nul
251+
if errorlevel 1 echo Cannot create node-v%FULLVERSION%-win-%target_arch%.zip && goto package_error
252+
253+
echo Creating node_pdb.7z
254+
del node_pdb.7z > nul 2> nul
255+
7z a -mx9 -t7z node_pdb.7z node.pdb > nul
256+
257+
echo Creating node_pdb.zip
258+
del node_pdb.zip > nul 2> nul
259+
7z a -mx9 -tzip node_pdb.zip node.pdb > nul
260+
261+
cd ..
262+
echo Package created!
263+
goto package_done
264+
:package_error
265+
cd ..
266+
exit /b 1
267+
:package_done
268+
218269
:msi
219270
@rem Skip msi generation if not requested
220271
if not defined msi goto run
@@ -240,8 +291,12 @@ if not defined STAGINGSERVER set STAGINGSERVER=node-www
240291
ssh -F %SSHCONFIG% %STAGINGSERVER% "mkdir -p nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%"
241292
scp -F %SSHCONFIG% Release\node.exe %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.exe
242293
scp -F %SSHCONFIG% Release\node.lib %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.lib
294+
scp -F %SSHCONFIG% Release\node_pdb.zip %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node_pdb.zip
295+
scp -F %SSHCONFIG% Release\node_pdb.7z %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node_pdb.7z
296+
scp -F %SSHCONFIG% Release\node-v%FULLVERSION%-win-%target_arch%.7z %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-win-%target_arch%.7z
297+
scp -F %SSHCONFIG% Release\node-v%FULLVERSION%-win-%target_arch%.zip %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-win-%target_arch%.zip
243298
scp -F %SSHCONFIG% node-v%FULLVERSION%-%target_arch%.msi %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/
244-
ssh -F %SSHCONFIG% %STAGINGSERVER% "touch nodejs/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-%target_arch%.msi.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%.msi* nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%*"
299+
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%*"
245300

246301
:run
247302
@rem Run tests if requested.

0 commit comments

Comments
 (0)