Ensure "prebuilt" binaries are classified as such. Also populate details about the release, such as build.version.
<?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="" />
<set name="grace.product" value="${build.family}" />
<set name="grace.release" value="${build.version}" />
<!-- 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 and for OSS code will be inserted here -->
</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_udeb">
<set name="name" value="binaries_armv5_udeb"/>
</config>
<config name="armv5_urel">
<set name="name" value="binaries_armv5_urel"/>
</config>
<config name="armv5_lib">
<set name="name" value="binaries_armv5_lib"/>
</config>
<config name="winscw_udeb">
<set name="name" value="binaries_winscw_udeb"/>
</config>
<config name="winscw_urel">
<set name="name" value="binaries_winscw_urel"/>
</config>
<config name="winscw_lib">
<set name="name" value="binaries_winscw_lib"/>
</config>
</config>
<!-- "Null" SDK entry, which matches no files, but does populate the release_metadata.xml -->
<config name="bin-sdk-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="sdk">
<set name="name" value="binaries_epoc_sdk"/>
</config>
</config>
<!-- For packaging tools builds such as "prebuilt", identified by sf.spec.job.name -->
<config name="bin-${sf.spec.job.name}-metadata" abstract="true">
<set name="archives.dir" value="${build.output.dir}/zips/release" />
<set name="grace.filters" value="prebuilt"/>
<set name="include" value="*"/>
<set name="exclude" value="**"/>
<config name="${sf.spec.job.name}">
<set name="name" value="binaries_${sf.spec.job.name}"/>
</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">
<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>