aboutsummaryrefslogtreecommitdiff
path: root/Src/Mastering/master_winamp.cmd
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Mastering/master_winamp.cmd')
-rw-r--r--Src/Mastering/master_winamp.cmd258
1 files changed, 258 insertions, 0 deletions
diff --git a/Src/Mastering/master_winamp.cmd b/Src/Mastering/master_winamp.cmd
new file mode 100644
index 00000000..9ddd2206
--- /dev/null
+++ b/Src/Mastering/master_winamp.cmd
@@ -0,0 +1,258 @@
+@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://winamp@git.cm.aol.com/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 \ No newline at end of file