This is a simple script written which will upon running, get the latest changeset or specified changeset from team foundation server and build the specified RELEASE/DEBUG configuration. Very useful in the long run for large solutions.
@echo off
@setlocal
call "%ProgramFiles%\Microsoft Visual Studio 8\VC\vcvarsall.bat" x86
set TFS_USER=YOUR_TFS_USERNAME
set TFS_PASS=YOUR_TFS_PASSWORD
set TFS_WS=YOUR_WORKSPACE_NAME
set TFS_SERVER=YOUR_SERVER_NAME
set PROJECT_SRC_DIRS=\path\dir1 \path\dir2 \path\dir3
set PROJECT_SLN=\path\file.sln
set CFG_MODE=RELEASE
set /p TFS_CHANGESET=which changeset? (press ENTER for latest version)
@echo CREATING Workspace '%TFS_WS%;%TFS_USER%'... (skipped if already created)
tf workspace /new %TFS_WS%;%TFS_USER% /server:%TFS_SERVER% /login:%TFS_USER%,%TFS_PASS% /noprompt
@echo CREATING Workspace '%TFS_WS%;%TFS_USER%'...done
if not (%TFS_CHANGESET%)==() date /t > %TFS_CHANGESET%.log && time /t >> %TFS_CHANGESET%.log
if not (%TFS_CHANGESET%)==() @echo GETTING source changeset %TFS_CHANGESET%...
if not (%TFS_CHANGESET%)==() tf get %PROJECT_SRC_DIRS% /version:C%TFS_CHANGESET% /recursive /login:%TFS_USER%,%TFS_PASS% /noprompt
if not (%TFS_CHANGESET%)==() @echo GETTING source changeset %TFS_CHANGESET%...done
if (%TFS_CHANGESET%)==() date /t > latest.log && time /t >> latest.log
if (%TFS_CHANGESET%)==() @echo GETTING latest source...
if (%TFS_CHANGESET%)==() tf get %PROJECT_SRC_DIRS% /version:T /recursive /login:%TFS_USER%,%TFS_PASS% /noprompt
if (%TFS_CHANGESET%)==() @echo GETTING latest source...done
@echo. > Build.log
@echo Build %CFG_MODE%...
devenv %PROJECT_SLN% /REBUILD %CFG_MODE% /out Build.log
Posted
Jul 26 2006, 08:53 PM
by
blackinkbottle