Skip to content

Commit 0bfedd1

Browse files
bzozMyles Borins
authored and
Myles Borins
committed
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 c237ac3 commit 0bfedd1

File tree

1 file changed

+57
-2
lines changed

1 file changed

+57
-2
lines changed

vcbuild.bat

+57-2
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=
@@ -66,6 +67,7 @@ if /i "%1"=="test-pummel" set test_args=%test_args% pummel&goto arg-ok
6667
if /i "%1"=="test-all" set test_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" set test_args=%test_args% known_issues --expect-fail&goto arg-ok
6869
if /i "%1"=="jslint" set jslint=1&goto arg-ok
70+
if /i "%1"=="package" set package=1&goto arg-ok
6971
if /i "%1"=="msi" set msi=1&set licensertf=1&set download_arg="--download=all"&set i18n_arg=small-icu&goto arg-ok
7072
if /i "%1"=="build-release" set build_release=1&goto arg-ok
7173
if /i "%1"=="upload" set upload=1&goto arg-ok
@@ -87,6 +89,7 @@ goto next-arg
8789

8890
if defined build_release (
8991
set config=Release
92+
set package=1
9093
set msi=1
9194
set licensertf=1
9295
set download_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-
if not defined licensertf goto msi
212+
if not defined licensertf goto package
210213

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

217+
:package
218+
if not defined package goto msi
219+
echo Creating package...
220+
cd Release
221+
mkdir node-v%FULLVERSION%-win-%target_arch% > nul 2> nul
222+
mkdir node-v%FULLVERSION%-win-%target_arch%\node_modules > nul 2>nul
223+
224+
copy /Y node.exe node-v%FULLVERSION%-win-%target_arch%\ > nul
225+
if errorlevel 1 echo Cannot copy node.exe && goto package_error
226+
copy /Y ..\LICENSE node-v%FULLVERSION%-win-%target_arch%\ > nul
227+
if errorlevel 1 echo Cannot copy LICENSE && goto package_error
228+
copy /Y ..\README.md node-v%FULLVERSION%-win-%target_arch%\ > nul
229+
if errorlevel 1 echo Cannot copy README.md && goto package_error
230+
copy /Y ..\CHANGELOG.md node-v%FULLVERSION%-win-%target_arch%\ > nul
231+
if errorlevel 1 echo Cannot copy CHANGELOG.md && goto package_error
232+
robocopy /e ..\deps\npm node-v%FULLVERSION%-win-%target_arch%\node_modules\npm > nul
233+
if errorlevel 8 echo Cannot copy npm package && goto package_error
234+
copy /Y ..\deps\npm\bin\npm node-v%FULLVERSION%-win-%target_arch%\ > nul
235+
if errorlevel 1 echo Cannot copy npm && goto package_error
236+
copy /Y ..\deps\npm\bin\npm.cmd node-v%FULLVERSION%-win-%target_arch%\ > nul
237+
if errorlevel 1 echo 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 > nul 2> nul
241+
7z a -r -mx9 -t7z node-v%FULLVERSION%-win-%target_arch%.7z node-v%FULLVERSION%-win-%target_arch% > nul
242+
if errorlevel 1 echo 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 > nul 2> nul
246+
7z a -r -mx9 -tzip node-v%FULLVERSION%-win-%target_arch%.zip node-v%FULLVERSION%-win-%target_arch% > nul
247+
if errorlevel 1 echo Cannot create node-v%FULLVERSION%-win-%target_arch%.zip && goto package_error
248+
249+
echo Creating node_pdb.7z
250+
del node_pdb.7z > nul 2> nul
251+
7z a -mx9 -t7z node_pdb.7z node.pdb > nul
252+
253+
echo Creating node_pdb.zip
254+
del node_pdb.zip > nul 2> 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
if not defined 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)