123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- @echo off
- if %1()==() goto help
- if %1==BETA goto start
- if %1==QA goto start
- if %1==FINAL goto start
- if %1==NIGHT goto start
- goto end
- :start
- echo Configuring Kerberos...
- call "d:\kerblogin\kerblogin.cmd"
- if %1==QA SET BUILDTYPE=qa
- if %1==BETA SET BUILDTYPE=beta
- if %1==FINAL SET BUILDTYPE=final
- if %1==NIGHT SET BUILDTYPE=night
- echo Setting VC 9.0 environments...
- call "C:\Program Files\Intel\IPP\6.1.3.047\ia32\tools\env\ippenv.bat"
- call %DXSDK_DIR%\Utilities\Bin\dx_setenv.cmd x86
- REM call "D:\SDKs\Windows\v7.0\Bin\SetEnv.cmd" /XP /Release
- call "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
- if NOT %1==FINAL set LINK=%LINK% /DEBUG
- set CL=%CL% /D_CRT_SECURE_NO_WARNINGS
- set PATH=%path%;C:\program files\nsis\unicode
- SET TARGET_ARCH=x86
- if %3()==() goto skip64
- if %3==x86 goto skip64
- SET TARGET_ARCH=x64
- call "D:\SDKs\Windows\v7.0\Bin\setenv.cmd" /x64 /release
- call "d:\dxsdk\dx_setenv.cmd" AMD64
- set CL=%CL% /GS- /I "d:\dxsdk\Include"
- set LINK=%LINK% /machine:AMD64
- goto skip32
- :skip64
- REM call "D:\SDKs\Windows\v7.0\Bin\SetEnv.cmd" /XP /Release
- :skip32
- title Nullsoft Winamp build script -= %1 =-
- if NOT %2()==() SET BRANDING=%2
- if NOT DEFINED BRANDING SET BRANDING=NULLSOFT
- echo BRANDING=%BRANDING%
- echo Preparing folders...
- if exist ts.txt del ts.txt
- nstimestamp\nstimestamp>ts.txt
- set /p TIMESTAMP=<ts.txt
- del ts.txt
- f:
- cd \
- set SANDBOX=f:\sandbox
- set CURSANDBOX=%SANDBOX%\%TIMESTAMP%
- echo Using %CURSANDBOX% for Sandbox
- set PROGRAMFILES=%CURSANDBOX%\Output
- set ROOTDIR=%CURSANDBOX%
- if NOT exist "%SANDBOX%" mkdir "%SANDBOX%"
- if errorlevel 1 goto SANDBOX_ERROR
- if exist "%CURSANDBOX%" rd /s /q "%CURSANDBOX%"
- mkdir "%CURSANDBOX%"
- if errorlevel 1 goto SANDBOX_ERROR
- if exist "%PROGRAMFILES%" rd /s /q "%PROGRAMFILES%"
- mkdir "%PROGRAMFILES%"
- if errorlevel 1 goto SANDBOX_ERROR
- SET INSTALLER_LANG=Mastering\Winamp\installer_%BUILDTYPE%.lang
- SET INSTALLER_CONFIG=Mastering\Winamp\installer_%BUILDTYPE%.config
- echo Retrieving mastering scripts from cvs...
- if "%TARGET_ARCH%"=="x64" goto master64
- echo using x86 mastering script
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\master_winamp_%BUILDTYPE%.xml" >nul
- if errorlevel 1 goto CVS_ERROR_1
- goto master86
- :master64
- echo using x64 mastering script
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\master_winamp_%BUILDTYPE%_x64.xml" >nul
- if errorlevel 1 goto CVS_ERROR_1
- :master86
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_winamp_%BUILDTYPE%.xml" >nul
- if errorlevel 1 goto CVS_ERROR_2
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\configmap.xml" >nul
- if errorlevel 1 goto CVS_ERROR_3
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\version_%BUILDTYPE%.info" >nul
- if errorlevel 1 goto CVS_ERROR_4
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\VerCtrl\verctrl.exe" >nul
- if errorlevel 1 goto CVS_ERROR_5
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\constants.h" >nul
- if errorlevel 1 goto CVS_ERROR_6
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\buildnumber.h" >nul
- if errorlevel 1 goto CVS_ERROR_7
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\talkback.ini" >nul
- if errorlevel 1 goto CVS_ERROR_7
- if NOT %1==NIGHT cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\set_tags_%BUILDTYPE%.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_8
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\fileNames.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_9
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_installer.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_wbm.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\rebase.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_webdev.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_orb.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\build_wadetect.cmd" >nul
- if errorlevel 1 goto CVS_ERROR_10
- cvs checkout -N -d "%CURSANDBOX%" "%INSTALLER_LANG%" >nul
- if errorlevel 1 goto CVS_ERROR_11
- cvs checkout -N -d "%CURSANDBOX%" "%INSTALLER_CONFIG%" >nul
- if errorlevel 1 goto CVS_ERROR_12
- cvs checkout -N -d "%CURSANDBOX%" "codesign\signcode-pwd.exe" >nul
- cvs checkout -N -d "%CURSANDBOX%" "Mastering\Winamp\simple_sign.cmd" >nul
- f:
- cd \
- echo Patching version number...
- cd "%CURSANDBOX%\Mastering\Winamp"
- copy "version_%BUILDTYPE%.info" "version.info"
- for /f "tokens=1-3" %%a in (version.info) do set %%a%%b%%c
- cd "%CURSANDBOX%\Mastering\VerCtrl"
- verctrl.exe %1 %BRANDING% INC > nul
- SET ERRORLEVEL=0
- cd "%CURSANDBOX%\Mastering\Winamp"
- cvs commit -m"version patch" "constants.h" > nul
- if errorlevel 1 goto CVS_ERROR_COMMIT
- if NOT %1==NIGHT echo Setting Tags...
- if NOT %1==NIGHT call "%CURSANDBOX%\Mastering\Winamp\set_tags_%BUILDTYPE%.cmd"
- if errorlevel 1 goto SET_TAGS_ERROR
- SET GIT_ASK_YESNO=false
- git clone -b "%REPLICANT_GIT_BRANCH%" ssh://[email protected]/nullsoft/replicant.git "%CURSANDBOX%\replicant"
- if errorlevel 1 goto GIT_ERROR
- echo Setting Installer names...
- call "%CURSANDBOX%\Mastering\Winamp\fileNames.cmd"
- if errorlevel 1 goto SET_FILENAMES
- if %1==QA echo Starting mastering script (build type: QA)
- if %1==BETA echo Starting mastering script (build type: BETA)...
- if %1==NIGHT echo Starting mastering script (build type: NIGHT)...
- if %1==FINAL echo Starting mastering script (build type: FINAL)...
- if "%TARGET_ARCH%"=="x64" goto build64
- perl -S dgbuild.pl master_winamp_%BUILDTYPE%.xml > nul
- goto build86
- :build64
- perl -S dgbuild.pl master_winamp_%BUILDTYPE%_x64.xml > nul
- :build86
- if errorlevel 1 goto BUILD_ERROR
- echo Build done. Check http://nulldev.stream.aol.com/builds/default.asp for result.
- goto END
- :SANDBOX_ERROR
- echo Error!!! Unable to prepare folder '%CURSANDBOX%'
- goto END
- :OUTPUT_ERROR
- echo Error!!! Unable to prepare folder '%PROGRAMFILES%'
- goto END
- :CVS_ERROR_LOGIN
- echo Error!!! Unable to login into the cvs
- goto END
- :CVS_ERROR_1
- echo Error!!! Unable to checkout 'Mastering/Winamp/master_winamp.xml'
- goto END
- :CVS_ERROR_2
- echo Error!!! Unable to checkout 'Mastering/Winamp/build_winamp.xml'
- goto END
- :CVS_ERROR_3
- echo Error!!! Unable to checkout 'Mastering/Winamp/configmap.xml'
- goto END
- :CVS_ERROR_4
- echo Error!!! Unable to checkout 'Mastering/Winamp/version.info'
- goto END
- :CVS_ERROR_5
- echo Error!!! Unable to checkout 'Mastering/Winamp/verctrl.exe'
- goto END
- :CVS_ERROR_6
- echo Error!!! Unable to checkout 'Mastering/Winamp/constants.h'
- goto END
- :CVS_ERROR_7
- echo Error!!! Unable to checkout 'Mastering/Winamp/buildnumber.h'
- goto END
- :CVS_ERROR_8
- echo Error!!! Unable to checkout 'Mastering/Winamp/set_tags_%BUILDTYPE%.cmd'
- goto END
- :CVS_ERROR_9
- echo Error!!! Unable to checkout 'Mastering/Winamp/fileNames.cmd'
- goto END
- :CVS_ERROR_10
- echo Error!!! Unable to checkout 'Mastering/Winamp/build_installer.cmd'
- goto END
- :CVS_ERROR_11
- echo Error!!! Unable to checkout 'Mastering/Winamp/%INSTALLER_LANG%'
- goto END
- :CVS_ERROR_12
- echo Error!!! Unable to checkout 'Mastering/Winamp/%INSTALLER_CONFIG%'
- goto END
- :CVS_ERROR_COMMIT
- echo Error!!! Unable to commit 'Mastering/Winamp/constants.h'
- goto END
- :SET_TAGS_ERROR
- echo Error!!! Unable to set tags.
- goto END
- :SET_FILENAMES
- echo Error!!! Unable to set installer file names.
- goto END
- :BUILD_ERROR
- echo Error!!! Build error.
- goto END
- :help
- echo Specify build type (BETA, NIGHT, FINAL, QA)
- goto end
- :GIT_ERROR
- echo Error!!! Unable to clone git repository
- goto END
- :END
- exit
|