Moved the generation of the release metadata entry for the MD5 zip outside of
the parallel section, so it can't co-incide with the zipping of the binaries.
Ensured that any errors generated when merging log files are not just hidden
by putting them in the output file (which will render it not well-formed XML).
<?xml version="1.0"?>
<build>
<config abstract="true">
<!-- Options that apply accross the board -->
<set name="archive.tool" value="7za" />
<set name="root.dir" value="${build.drive}/" />
<set name="temp.build.dir" value="${temp.build.dir}" />
<set name="casesensitive" value="false" />
<set name="archives.dir" value="${build.output.dir}/zips" />
<set name="policy.internal.name" value="removed" />
<!--set name="policy.csv" value="${policy.csv}" /-->
<set name="policy.zip2zip" value="false" />
<set name="policy.default.value" value="" />
<!-- Metadata creation -->
<set name="grace.template" value="${temp.build.dir}/release_metadata_template.xml" />
<set name="grace.metadata" value="true" />
<set name="grace.service" value="${grace.service.name}" />
<set name="grace.product" value="${grace.product.name}" />
<set name="grace.release" value="${grace.release.name}" />
<!-- Options that apply to all configs - don't put in any hg internals! -->
<set name="exclude" value="**/.hg/**"/>
<set name="exclude" value="**/.hgtags"/>
<set name="exclude" value="**/.hgignore"/>
<set name="exclude" value="**/.hg_archival.txt"/>
<!-- Specify this config to package all src inputs to the build -->
<config name="src" abstract="true">
<!-- These configs will be populated with tags for the source -->
<config name="sfl" abstract="true">
<set name="grace.filters" value="src" />
</config>
<config name="oss" abstract="true">
<set name="grace.filters" value="src" />
</config>
<config name="misc" abstract="true">
<set name="grace.filters" value="misc" />
</config>
</config>
<!-- Specify this config to double-package all src inputs to the build -->
<config name="src-by-layer" abstract="true">
<set name="root.dir" value="${build.output.dir}/zips"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="src" />
<set name="grace.extract" value="double" />
<!-- Zips of zips for SFL code -->
<config name="sfl-adaptation">
<set name="name" value="src_sfl_adaptation"/>
<set name="include" value="src_sfl_adaptation_*.zip"/>
</config>
<config name="sfl-app">
<set name="name" value="src_sfl_app"/>
<set name="include" value="src_sfl_app_*.zip"/>
</config>
<config name="sfl-mw">
<set name="name" value="src_sfl_mw"/>
<set name="include" value="src_sfl_mw_*.zip"/>
</config>
<config name="sfl-os">
<set name="name" value="src_sfl_os"/>
<set name="include" value="src_sfl_os_*.zip"/>
</config>
<config name="sfl-ostools">
<set name="name" value="src_sfl_ostools"/>
<set name="include" value="src_sfl_ostools_*.zip"/>
</config>
<config name="sfl-tools">
<set name="name" value="src_sfl_tools"/>
<set name="include" value="src_sfl_tools_*.zip"/>
</config>
<!-- Zips of zips for OSS code -->
<config name="oss-adaptation">
<set name="name" value="src_oss_adaptation"/>
<set name="include" value="src_oss_adaptation_*.zip"/>
</config>
<config name="oss-app">
<set name="name" value="src_oss_app"/>
<set name="include" value="src_oss_app_*.zip"/>
</config>
<config name="oss-mw">
<set name="name" value="src_oss_mw"/>
<set name="include" value="src_oss_mw_*.zip"/>
</config>
<config name="oss-os">
<set name="name" value="src_oss_os"/>
<set name="include" value="src_oss_os_*.zip"/>
</config>
<config name="oss-ostools">
<set name="name" value="src_oss_ostools"/>
<set name="include" value="src_oss_ostools_*.zip"/>
</config>
<config name="oss-tools">
<set name="name" value="src_oss_tools"/>
<set name="include" value="src_oss_tools_*.zip"/>
</config>
</config>
<!-- Specify this config to package all rnd inputs to the build that should be released -->
<config name="rnd" abstract="true">
<set name="grace.filters" value="rnd" />
<set name="archives.dir" value="${build.output.dir}/zips/release" />
</config>
<!-- Specify this config to package all rnd inputs to the build that should be released -->
<config name="rnd-internal" abstract="true">
<set name="grace.filters" value="emu" />
</config>
<!-- Specify this config to package all outputs from the build -->
<config name="bin" abstract="true">
<!-- This config will be populated with exclusions for the rnd bins -->
<config>
<set name="name" value="binaries_epoc"/>
<set name="grace.filters" value="emu" />
<set name="include" value="epoc32/**"/>
<set name="exclude" value="epoc32/build/**"/>
</config>
</config>
<!-- Specify this config to re-package the internal rnd bins after the build has updates some of the files -->
<config name="rnd-postbuild" abstract="true">
<set name="grace.filters" value="emu"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
</config>
<!-- "Null" tools entry, which matches no files, but does populate the release_metadata.xml -->
<config name="tools">
<set name="name" value="tools_epoc"/>
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="tools"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
</config>
<!-- "Null" binaries entries, which match no files, but do populate the release_metadata.xml -->
<config name="bin-just-metadata" abstract="true">
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="emu"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
<config name="core">
<set name="name" value="binaries_epoc"/>
</config>
<config name="armv5">
<set name="name" value="binaries_armv5"/>
</config>
<config name="winscw">
<set name="name" value="binaries_winscw"/>
</config>
</config>
<!-- "Null" info entries, which match no files, but do populate the release_metadata.xml -->
<config name="info-just-metadata" abstract="true">
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="include" value="*"/>
<set name="exclude" value="**"/>
<config name="logs">
<set name="name" value="build_logs"/>
<set name="grace.filters" value="logs"/>
</config>
<config name="BOM">
<set name="name" value="build_BOM"/>
<set name="grace.filters" value="info"/>
</config>
</config>
<!-- "Null" md5 entry, which matches no files, but does populate the release_metadata.xml -->
<config name="md5-just-metadata" abstract="true">
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="name" value="build_md5"/>
<set name="grace.filters" value="info"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
</config>
</config>
</build>