@echo off
rem ***********************************************************
rem * ODE Windows Binary Release Script
rem * Originally written by Jason Perkins (starkos@gmail.com)
rem *
rem * Prerequisites:
rem *  Command-line svn installed on path
rem *  Command-line zip installed on path
rem *  Run within Visual Studio 2003 command prompt
rem ***********************************************************

rem * Check arguments
if "%1"=="" goto show_usage
if "%2"=="" goto show_usage


rem ***********************************************************
rem * Pre-build checklist
rem ***********************************************************

echo. 
echo STARTING PREBUILD CHECKLIST, PRESS ^^C TO ABORT.
echo.
echo Is the version number "%1" correct?
pause
echo.
echo Have you created a release branch named "%2" in SVN?
pause
echo.
echo Have you run all of the tests?
pause
echo.
echo Is the Changelog up to date?
pause
echo.
echo Is 'svn' and 'zip' on the path?
pause
echo.
echo Okay, ready to build the Windows binary packages for version %1!
pause


rem ***********************************************************
rem * Retrieve source code
rem ***********************************************************

echo.
echo RETRIEVING SOURCE CODE FROM REPOSITORY...
echo.

svn export https://svn.sourceforge.net/svnroot/opende/branches/%2 ode-%1



rem ***********************************************************
rem * Prepare source code
rem ***********************************************************

echo.
echo PREPARING SOURCE CODE FROM REPOSITORY...
echo.

cd ode-%1
copy build\config-default.h include\ode\config.h

cd ode\doc
doxygen

cd ..\..\..


rem ***********************************************************
rem * Build the binaries
rem ***********************************************************

echo.
echo BUILDING RELEASE BINARIES...
echo.

cd ode-%1\build\vs2003
devenv.exe ode.sln /build DebugLib /project ode
devenv.exe ode.sln /build DebugDLL /project ode
devenv.exe ode.sln /build ReleaseLib /project ode
devenv.exe ode.sln /build ReleaseDLL /project ode


rem ***********************************************************
rem * Package things up
rem ***********************************************************

cd ..\..\..
rename lib\ReleaseDLL\ode.lib lib\ReleaseDLL\ode-imports.lib
zip -r9 ode-win32-%1.zip ode-%1\*.txt ode-%1\include\ode\*.h ode-%1\lib\* ode-%1\docs\*


rem ***********************************************************
rem * Clean up
rem ***********************************************************

echo.
echo CLEANING UP...
echo.

rmdir /s /q ode-%1


rem ***********************************************************
rem * Upload to SF.net
rem ***********************************************************

echo.
echo Ready to upload package to SourceForce, press ^^C to abort.
pause
ftp -s:ftp_msw_script upload.sourceforge.net
goto done


rem ***********************************************************
rem * Error messages
rem ***********************************************************

:show_usage
echo Usage: msw_release.bat version_number branch_name
goto done

:done
