Re-apply changes to allow sources.csv to specify a revision by a *local* tag in the web repository.
Uses "hg id" instead of "hg in", so not affected by the aborts we had previously. And no need for an empty repo this time either.
<?xml version="1.0"?>
<!DOCTYPE BuildEnv [
<!ELEMENT BuildEnv (context*)>
<!ATTLIST BuildEnv name CDATA #REQUIRED
revision CDATA #REQUIRED>
<!ELEMENT context (context*, tool+)>
<!ATTLIST context id (system|p4|cbr) "system">
<!ELEMENT tool (location?, verify*)>
<!ATTLIST tool name CDATA #REQUIRED>
<!ELEMENT location EMPTY>
<!ATTLIST location strict (true|false) "true" value CDATA #REQUIRED>
<!ELEMENT verify (check+)>
<!ATTLIST verify version CDATA #REQUIRED showstopper (true|false) "false">
<!ELEMENT check EMPTY>
<!ATTLIST check exclusive (false|true) "false"
values CDATA #REQUIRED
locator CDATA #IMPLIED
var CDATA #IMPLIED
execute CDATA #IMPLIED
name CDATA #IMPLIED
silent (false|true) "false"
log (false|true) "false">
]>
<BuildEnv name="BuildEnv" revision="1">
<!-- OS-dependant contexts -->
<context id="Common">
<tool name="Perl">
<location strict="false" value="C:\apps\perl\bin\perl.exe"/>
<verify version="5.6.1" showstopper="true" >
<check name="version" execute="%location% -v" values="v5\.6\.1" locator="This is perl, (.*) built"/>
<check name="build" execute="%location% -v" values="build 633|build 635|build 638" locator="Binary (.*) provided by ActiveState" log="true"/>
<check name="module SAX version" execute="ppm query sax" values="0\.15" locator="XML-SAX \[(.*)\] Simple API" />
</verify>
</tool>
<tool name="Mercurial">
<location strict="false" value="C:\Apps\mercurial\hg.exe"/>
<verify version="1.2 or later" showstopper="false">
<check name="version" execute="%location% version" values="1\.[2-5](\.[0-9])?" locator="Mercurial Distributed SCM \(version ([0-9\.]*)\)"/>
</verify>
</tool>
<tool name="Python">
<location strict="false" value="c:\apps\python25\python.exe"/>
<verify version="2.5" showstopper="false">
<check name="version" execute="%location% -V" values="2\.5\.[0-9]" locator="Python (.*)"/>
</verify>
</tool>
<tool name="Java Compiler">
<location strict="false" value="C:\apps\jdk1.6.0_14\bin\javac"/>
<verify version="1.6" showstopper="false">
<check var="JAVA_6_HOME" values="jdk1\.6"/>
<check name="version" execute="%JAVA_6_HOME%\bin\javac -version" values="1\.6\.[0-9]_[0-9]+" locator="javac (.*)"/>
</verify>
<verify version="default" showstopper="false">
<check var="JAVA_HOME" values="jdk1\.6"/>
</verify>
</tool>
<tool name="7-Zip">
<verify version="4.65" showstopper="false">
<check name="version" execute="7z.exe -h" values="4\.65" locator="7-Zip (.*) Copyright"/>
</verify>
</tool>
<tool name="EPOC">
<verify version="Environment Vars" showstopper="true">
<check var="EPOCROOT" values="^\\$"/>
<check var="PATH" values=";\\epoc32\\tools;" silent="true"/>
</verify>
</tool>
<tool name="Helium">
<location strict="false" value="C:\Symbian\Tools\PDT_1.0\helium\hlm.bat"/>
<verify version="5.0" showstopper="true">
<check var="HELIUM_HOME" values="[CD]:\\Symbian\\Tools\\PDT_1.\d\\helium"/>
<check name="version" execute="%HELIUM_HOME%\hlm.bat -f %HELIUM_HOME%\build.xml version" values="5\.\d" locator="Helium version: ([\d\.]+)"/>
</verify>
</tool>
<tool name="Raptor">
<location strict="false" value="C:\apps\raptor2.7.2\bin\sbs.bat"/>
<verify version="2.9.*" showstopper="true">
<check name="version" execute="%SBS_HOME%\bin\sbs.bat -version" values="2\.9\.\d" locator="sbs version (.*) \["/>
</verify>
</tool>
</context>
<context id="ARMv5">
<tool name="RVCT ARM Compiler">
<location strict="false" value="C:\apps\arm\RVCT2.2[616]\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe"/>
<verify version="2.2" showstopper="true">
<check name="version" execute="%location% --help" values="RVCT2\.2\ \[Build 616\]" log="false" locator="ARM\/Thumb C\/C\+\+ Compiler, (.*)Usage"/>
<!-- <check execute="%RVCT22BIN%\armcc.exe" values="616" log="false"/> -->
<check var="RVCT22BIN" values="RVCT\\Programs\\2\.2\\349\\win_32-pentium" silent="true"/>
<check var="RVCT22INC" values="RVCT\\Data\\2\.2\\349\\include\\windows" silent="true"/>
<check var="RVCT22LIB" values="RVCT\\Data\\2\.2\\349\\lib" silent="true"/>
<check var="ARMLMD_LICENSE_FILE" values="8224@LON-ENGBUILD8[79]|8224@C10072[56]"/>
</verify>
<verify version="2.2 [options]" showstopper="false">
<check var="RVCT22_ASMOPT" values="--licretry" silent="true"/>
<check var="RVCT22_CCOPT" values="--licretry" silent="true"/>
<check var="RVCT22_LINKOPT" values="--licretry" silent="true"/>
</verify>
</tool>
</context>
<context id="Test">
<tool name="cURL">
<location strict="false" value="C:\apps\curl_7.18.2\curl.exe"/>
<verify version="7.18.2" showstopper="false">
<check name="version" execute="%location% -V" values="7\.18\.2" locator="curl (.*) \(i386-pc-win32\)"/>
</verify>
</tool>
<tool name="Junction">
<location strict="true" value="C:\Bin\junction.exe"/>
<verify version="1.0.5" showstopper="true">
<check name="version - local" execute="%location%" values="v1\.05" locator="Junction (.*) - Windows junction creator"/>
<check execute="junction - system" values="v1\.05" locator="Junction (.*) - Windows junction creator"/>
</verify>
</tool>
<tool name="ATS3 Worker">
<location strict="true" value="C:\apps\ats3\bin\STAFEnv.bat"/>
<verify version="7.18.2" showstopper="false">
<check execute="%location%" values=".*"/>
<check var="ATS3_HOME" values="\w:\\\w+"/>
</verify>
</tool>
</context>
<context id="Tools">
<tool name="Microsoft Visual C++ compiler">
<location strict="false" value="C:\apps\MSVC6\VC98\bin\vcvars32.bat"/>
<verify version="6.00" showstopper="false">
<check var="PATH" values="MSVC6\\Common\\MSDev98\\bin" silent="true"/>
<check var="PATH" values="MSVC6\\Common\\Tools\\WinNT" silent="true"/>
<check var="PATH" values="MSVC6\\Common\\Tools" silent="true"/>
<check var="PATH" values="MSVC6\\VC98\\bin" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\atl\\include" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\mfc\\include" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\include" silent="true"/>
<check var="LIB" values="MSVC6\\VC98\\mfc\\lib" silent="true"/>
<check var="LIB" values="MSVC6\\VC98\\lib" silent="true"/>
<check var="MSDEVDIR" values="msvc6\\Common\\MSDev98" silent="true"/>
</verify>
</tool>
</context>
</BuildEnv>