@@ -3,8 +3,9 @@ SET INNOSETUP=%CD%\nvm.iss
33SET ORIG = %CD%
44REM SET GOPATH=%CD%\src
55SET GOBIN = %CD% \bin
6+ SET GOBINS = %CD% \bins
67REM Support for older architectures
7- SET GOARCH = amd64
8+ rem SET GOARCH=386
89
910REM Cleanup existing build if it exists
1011if exist src\nvm.exe (
@@ -16,19 +17,28 @@ echo ----------------------------
1617echo Building nvm.exe
1718echo ----------------------------
1819cd .\src
19- go build nvm.go
20+ SET GOARCH = 386
21+ go build -o %GOBINS% \nvm.exe nvm.go
22+ SET GOARCH = amd64
23+ go build -o %GOBINS% \nvm-64.exe nvm.go
24+ SET GOARCH = arm64
25+ go build -o %GOBINS% \nvm-arm64.exe nvm.go
2026
2127REM Group the file with the helper binaries
22- move nvm.exe " %GOBIN% "
28+ rem move nvm.exe "%GOBIN%"
2329cd ..\
2430
2531REM Codesign the executable
2632echo ----------------------------
2733echo Sign the nvm executable...
2834echo ----------------------------
29- buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %GOBIN% \nvm.exe"
35+ buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %GOBINS% \nvm.exe"
36+ buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %GOBINS% \nvm-64.exe"
37+ buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %GOBINS% \nvm-arm64.exe"
3038
31- for /f %%i in ('" %GOBIN% \nvm.exe" version') do set AppVersion = %%i
39+ for /f %%i in ('" %GOBINS% \nvm.exe" version') do set AppVersion = %%i
40+ for /f %%i in ('" %GOBINS% \nvm-64.exe" version') do set AppVersion = %%i
41+ for /f %%i in ('" %GOBINS% \nvm-arm64.exe" version') do set AppVersion = %%i
3242echo nvm.exe v%AppVersion% built.
3343
3444REM Create the distribution folder
@@ -46,15 +56,20 @@ REM Create the distribution directory
4656mkdir " %DIST% "
4757
4858REM Create the "no install" zip version
49- for %%a in (" %GOBIN% " ) do (buildtools\zip -j -9 -r " %DIST% \nvm-noinstall.zip" " %CD% \LICENSE" %%a \* -x " %GOBIN% \nodejs.ico" )
59+ for %%a in (" %GOBIN% " " %GOBINS% " ) do (buildtools\zip -j -9 -r " %DIST% \nvm-noinstall.zip" " %CD% \LICENSE" %%a \* -x " %GOBIN% \nodejs.ico" )
5060
5161REM Generate update utility
5262echo ----------------------------
5363echo Generating update utility...
5464echo ----------------------------
5565cd .\updater
56- go build nvm-update.go
57- move nvm-update.exe " %DIST% "
66+ SET GOARCH = 386
67+ go build -o %DIST% \nvm-update.exe nvm-update.go
68+ SET GOARCH = amd64
69+ go build -o %DIST% \nvm-update-64.exe nvm-update.go
70+ SET GOARCH = arm64
71+ go build -o %DIST% \nvm-update-arm64.exe nvm-update.go
72+ rem move nvm-update.exe "%DIST%"
5873cd ..\
5974
6075REM Generate the installer (InnoSetup)
@@ -72,6 +87,8 @@ echo ----------------------------
7287echo Sign the updater...
7388echo ----------------------------
7489buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %DIST% \nvm-update.exe"
90+ buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %DIST% \nvm-update-64.exe"
91+ buildtools\signtool.exe sign /debug /tr http://timestamp.sectigo.com /td sha256 /fd sha256 /a " %DIST% \nvm-update-arm64.exe"
7592
7693echo ----------------------------
7794echo Bundle the installer...
@@ -82,9 +99,11 @@ buildtools\zip -j -9 -r "%DIST%\nvm-setup.zip" "%DIST%\nvm-setup.exe"
8299echo ----------------------------
83100echo Bundle the updater...
84101echo ----------------------------
85- buildtools\zip -j -9 -r " %DIST% \nvm-update.zip" " %DIST% \nvm-update.exe"
102+ buildtools\zip -j -9 -r " %DIST% \nvm-update.zip" " %DIST% \nvm-update.exe" " %DIST% \nvm-update-64.exe " " %DIST% \nvm-update-arm64.exe "
86103
87104del " %DIST% \nvm-update.exe"
105+ del " %DIST% \nvm-update-64.exe"
106+ del " %DIST% \nvm-update-arm64.exe"
88107del " %DIST% \nvm-setup.exe"
89108
90109REM Generate checksums
@@ -97,7 +116,9 @@ echo complete
97116echo ----------------------------
98117echo Cleaning up...
99118echo ----------------------------
100- del " %GOBIN% \nvm.exe"
119+ del " %GOBINS% \nvm.exe"
120+ del " %GOBINS% \nvm-64.exe"
121+ del " %GOBINS% \nvm-arm64.exe"
101122echo complete
102123@ REM del %GOBIN%\nvm-update.exe
103124@ REM del %GOBIN%\nvm-setup.exe
0 commit comments