Index: src/external/utils/svn_insert_version.cmd =================================================================== diff -u --- src/external/utils/svn_insert_version.cmd (revision 0) +++ src/external/utils/svn_insert_version.cmd (revision 43) @@ -0,0 +1,76 @@ +setlocal enabledelayedexpansion +@ECHO off +ECHO "%0 started" + +REM REMEMBER ORIGINAL WORKING FOLDER AND GO TO THE SOURCES DIRECTORY +SET ORG_DIR=%CD% +cd ..\.. + +SET argcount=0 +FOR %%x IN (%*) DO SET /A argcount+=1 + +IF %argcount%==0 ( + ECHO "invalid arguments: [path] (infile) (outfile)" + ECHO "usage: replace SVNREV text with revision number, SVNROOT with repository" + ECHO "path: execute at specific location" + ECHO "[optional] infile: file to read, defaults to AssemblyInfo.cs.svn" + ECHO "[optional] outfile: file to create, defaults to AssemblyInfo.cs" + GOTO EOF +) + +ECHO "%argcount% arguments received" + +IF %argcount%==1 ( + ECHO "setting default in and out files." + SET INTEXTFILE=AssemblyInfo.cs.svn + SET OUTTEXTFILE=AssemblyInfo.cs +) ELSE ( + ECHO "setting custom in and out files." + SET INTEXTFILE=%2 + SET OUTTEXTFILE=%3 +) + +ECHO "parsing svn info in directory %CD%" + +REM GET THE SVN VERSION NUMBER AND REVISION PATH +FOR /f "tokens=1,* delims=�" %%A IN ('svn info') DO ( + ECHO %%A | findstr /I "^Revision" && SET REV_BUF=%%A + ECHO %%A | findstr /I "^URL" && SET ROOT_BUF=%%A + ECHO %%A | findstr /I /C:"Repository Root" && SET AFTER_BUF=%%A +) + +IF NOT DEFINED REV_BUF ( + SET SVN_REV=0 + SET SVN_ROOT= +) ELSE ( + SET SVN_REV=%REV_BUF:~10% + SET SVN_ROOT=%ROOT_BUF:~5% + SET "FIND=*%AFTER_BUF:~17% + CALL SET SVN_ROOT=%%SVN_ROOT:!FIND!=%% +) + +ECHO "using rev %SVN_REV% and root %SVN_ROOT%" + +REM SUBSTITUTE THE VERSION NUMBER IN TEMPLATE +CD %1 +ECHO "modifying %OUTTEXTFILE% in directory %1" +SET SEARCHTEXT=SVNREV +SET SEARCHROOT=SVNROOT +SET OUTPUTLINE= + +IF EXIST %OUTTEXTFILE% ( + ECHO "removing %OUTTEXTFILE%" + DEL %OUTTEXTFILE% +) + +ECHO "writing new %OUTTEXTFILE%" +FOR /f "tokens=1,* delims=�" %%A IN ( '"type %INTEXTFILE%"') DO ( + SET string=%%A + SET modified=!string:%SEARCHTEXT%=%SVN_REV%! + SET modified=!modified:%SEARCHROOT%=%SVN_ROOT%! + ECHO !modified! >> %OUTTEXTFILE% +) + +CD %ORG_DIR% +ECHO "%0 done" +:EOF \ No newline at end of file