description: "set version in CONSTANTS class for EiffelStudio" author: "Jocelyn Fiat and others" note: "This script could be split into severals scripts, one for each product" @echo off rem Set Version rem %1 : svn wc path rem %2 : filename.e setlocal set SVNWCT=%1 set EFILE=%2 set EFILE_TMP=%EFILE%.tmp set LC_MESSAGES=C svn info %SVNWCT% > %EFILE_TMP% For /f "tokens=1-4 delims=/ " %%a in ('findstr /L /B /C:"Last Changed Rev" %EFILE_TMP%') do (set LASTREV=%%d) del %EFILE_TMP% if .%LASTREV%. == .. set LASTREV=0000 -- Script was unable to set this value For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set TODAYDATE=%%c-%%a-%%b) echo Set version: LASTREV=%LASTREV% svn revert %EFILE% sed -e "s/:= 0000/:= %LASTREV%/" %EFILE% > %EFILE_TMP% move %EFILE_TMP% %EFILE% rem update the version_info ... sed -e "s/Version_info:\ STRING\ is\ \"[0-9a-zA-Z_\,\ \/\:()\.\=\-]*\"/Version_info:\ STRING\ is\ \"Revision:\ %LASTREV% , Compilation:\ %TODAYDATE%\ %TIME%\"/g" %EFILE% > %EFILE_TMP% move %EFILE_TMP% %EFILE% endlocal @echo on #!/bin/sh # set version number in $2 to the latest SVN repository version number. # $1 = SVN repository # $2 = file to process if any, otherwise display version on output LC_MESSAGES=C computed_svn_revision=`until svn info $1; do echo ""; done | grep "Last Changed Rev" | sed -e "s/Last Changed Rev: //"` if test "$computed_svn_revision" = "" ; then echo bad computed_svn_revision='0000 -- Script was unable to set this value' fi if test "$2" = "" ; then echo $computed_svn_revision else echo Set version: LASTREV=$computed_svn_revision svn revert $2 #revert in case it was modification sed -e "s/:= 0000/:= $computed_svn_revision/" $2 > tmp mv tmp $2 fi