Skip to content

Commit 0bfedd1

Browse files
bzozMyles Borins
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: #5995Fixes: nodejs/build#299Fixes: #5696
1 parent c237ac3 commit 0bfedd1

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
setnosign=
2222
setnosnapshot=
2323
settest_args=
24+
setpackage=
2425
setmsi=
2526
setupload=
2627
setlicensertf=
@@ -66,6 +67,7 @@ if /i "%1"=="test-pummel" set test_args=%test_args% pummel&goto arg-ok
6667
if /i "%1"=="test-all"settest_args=%test_args% sequential parallel message gc internet pummel&set buildnodeweak=1&set jslint=1&goto arg-ok
6768
if /i "%1"=="test-known-issues"settest_args=%test_args% known_issues --expect-fail&goto arg-ok
6869
if /i "%1"=="jslint"setjslint=1&goto arg-ok
70+
if /i "%1"=="package"setpackage=1&goto arg-ok
6971
if /i "%1"=="msi"setmsi=1&set licensertf=1&set download_arg="--download=all"&set i18n_arg=small-icu&goto arg-ok
7072
if /i "%1"=="build-release"setbuild_release=1&goto arg-ok
7173
if /i "%1"=="upload"setupload=1&goto arg-ok
@@ -87,6 +89,7 @@ goto next-arg
8789

8890
ifdefined build_release (
8991
setconfig=Release
92+
setpackage=1
9093
setmsi=1
9194
setlicensertf=1
9295
setdownload_arg="--download=all"
@@ -206,11 +209,59 @@ if errorlevel 1 echo Failed to sign exe&goto exit
206209

207210
:licensertf
208211
@rem Skip license.rtf generation if not requested.
209-
ifnotdefined licensertf gotomsi
212+
ifnotdefined licensertf gotopackage
210213

211214
%config%\node tools\license2rtf.js < LICENSE >%config%\license.rtf
212215
iferrorlevel1echo Failed to generate license.rtf&goto exit
213216

217+
:package
218+
ifnotdefined package goto msi
219+
echo Creating package...
220+
cd Release
221+
mkdir node-v%FULLVERSION%-win-%target_arch%>nul2>nul
222+
mkdir node-v%FULLVERSION%-win-%target_arch%\node_modules >nul2>nul
223+
224+
copy /Y node.exe node-v%FULLVERSION%-win-%target_arch%\ >nul
225+
iferrorlevel1echo Cannot copy node.exe &&goto package_error
226+
copy /Y ..\LICENSE node-v%FULLVERSION%-win-%target_arch%\ >nul
227+
iferrorlevel1echo Cannot copy LICENSE &&goto package_error
228+
copy /Y ..\README.md node-v%FULLVERSION%-win-%target_arch%\ >nul
229+
iferrorlevel1echo Cannot copy README.md &&goto package_error
230+
copy /Y ..\CHANGELOG.md node-v%FULLVERSION%-win-%target_arch%\ >nul
231+
iferrorlevel1echo Cannot copy CHANGELOG.md &&goto package_error
232+
robocopy /e ..\deps\npm node-v%FULLVERSION%-win-%target_arch%\node_modules\npm >nul
233+
iferrorlevel8echo Cannot copy npm package &&goto package_error
234+
copy /Y ..\deps\npm\bin\npm node-v%FULLVERSION%-win-%target_arch%\ >nul
235+
iferrorlevel1echo Cannot copy npm &&goto package_error
236+
copy /Y ..\deps\npm\bin\npm.cmd node-v%FULLVERSION%-win-%target_arch%\ >nul
237+
iferrorlevel1echo Cannot copy npm.cmd &&goto package_error
238+
239+
echo Creating node-v%FULLVERSION%-win-%target_arch%.7z
240+
del node-v%FULLVERSION%-win-%target_arch%.7z >nul2>nul
241+
7z a -r -mx9 -t7z node-v%FULLVERSION%-win-%target_arch%.7z node-v%FULLVERSION%-win-%target_arch%>nul
242+
iferrorlevel1echo Cannot create node-v%FULLVERSION%-win-%target_arch%.7z &&goto package_error
243+
244+
echo Creating node-v%FULLVERSION%-win-%target_arch%.zip
245+
del node-v%FULLVERSION%-win-%target_arch%.zip >nul2>nul
246+
7z a -r -mx9 -tzip node-v%FULLVERSION%-win-%target_arch%.zip node-v%FULLVERSION%-win-%target_arch%>nul
247+
iferrorlevel1echo Cannot create node-v%FULLVERSION%-win-%target_arch%.zip &&goto package_error
248+
249+
echo Creating node_pdb.7z
250+
del node_pdb.7z >nul2>nul
251+
7z a -mx9 -t7z node_pdb.7z node.pdb >nul
252+
253+
echo Creating node_pdb.zip
254+
del node_pdb.zip >nul2>nul
255+
7z a -mx9 -tzip node_pdb.zip node.pdb >nul
256+
257+
cd ..
258+
echo Package created!
259+
goto package_done
260+
:package_error
261+
cd ..
262+
exit /b 1
263+
:package_done
264+
214265
:msi
215266
@rem Skip msi generation if not requested
216267
ifnotdefined msi goto run
@@ -236,8 +287,12 @@ if not defined STAGINGSERVER set STAGINGSERVER=node-www
236287
ssh -F %SSHCONFIG%%STAGINGSERVER%"mkdir -p nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%"
237288
scp -F %SSHCONFIG% Release\node.exe %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.exe
238289
scp -F %SSHCONFIG% Release\node.lib %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node.lib
290+
scp -F %SSHCONFIG% Release\node_pdb.zip %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node_pdb.zip
291+
scp -F %SSHCONFIG% Release\node_pdb.7z %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/win-%target_arch%/node_pdb.7z
292+
scp -F %SSHCONFIG% Release\node-v%FULLVERSION%-win-%target_arch%.7z %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-win-%target_arch%.7z
293+
scp -F %SSHCONFIG% Release\node-v%FULLVERSION%-win-%target_arch%.zip %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/node-v%FULLVERSION%-win-%target_arch%.zip
239294
scp -F %SSHCONFIG% node-v%FULLVERSION%-%target_arch%.msi %STAGINGSERVER%:nodejs/%DISTTYPEDIR%/v%FULLVERSION%/
240-
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%*"
295+
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%*"
241296

242297
:run
243298
@rem Run tests if requested.

0 commit comments

Comments
(0)