@echo off setlocal set PROJECT_NAME=notifu if "%VCINSTALLDIR%"=="" goto VCVARS_NOT_SET if "%1"=="" goto HELP echo This will release version %1 of %PROJECT_NAME%, built from the current trunk. echo A release means : echo 1. Build from the trunk echo 2. Prepare the distribution files (usually a binary and source zip file) echo 3. Rename and check in the distribution files pause rem Clean up any failed previous run if exist %PROJECT_NAME%.buildtemp\. rd /s /q %PROJECT_NAME%.buildtemp echo Fetching a clean copy... svn -q co http://src.paralint.com/%PROJECT_NAME%/trunk %PROJECT_NAME%.buildtemp rem Call the version specific build all batch file cd %PROJECT_NAME%.buildtemp call makezip.cmd cd .. xcopy /q %PROJECT_NAME%.buildtemp\notifu*.zip rem Done with our copy rd /s /q %PROJECT_NAME%.buildtemp if EXIST %PROJECT_NAME%-%1.zip ( echo An old copy of release %1 exists, replacing. rem Remove old version del %PROJECT_NAME%-%1.zip del %PROJECT_NAME%-src-%1.zip ren %PROJECT_NAME%-src.zip %PROJECT_NAME%-src-%1.zip ren %PROJECT_NAME%.zip %PROJECT_NAME%-%1.zip ) else ( rem Rename and check-in echo Version %1 ready to add to source control ren %PROJECT_NAME%-src.zip %PROJECT_NAME%-src-%1.zip ren %PROJECT_NAME%.zip %PROJECT_NAME%-%1.zip svn add -q %PROJECT_NAME%-src-%1.zip svn add -q %PROJECT_NAME%-%1.zip ) rem rem Check-in (release branch) svn ci -m "Version %1 released" rem Tag rem svn cp http://src.paralint.com/%PROJECT_NAME%/trunk http://src.paralint.com/%PROJECT_NAME%/tags/%1 -m "Version %1" goto END :VCVARS_NOT_SET echo Visual Studio environment variable not set goto END :HELP echo Pass the version name in parameter :END echo. endlocal