<?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="${build.family}" />
		<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.${sf.spec.package.zip.format}"/>
			<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.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5_udeb">
				<set name="name" value="binaries_armv5_udeb.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5_urel">
				<set name="name" value="binaries_armv5_urel.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5_lib">
				<set name="name" value="binaries_armv5_lib.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5smp_udeb">
				<set name="name" value="binaries_armv5smp_udeb.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5smp_urel">
				<set name="name" value="binaries_armv5smp_urel.${sf.spec.package.zip.format}"/>
			</config>
			<config name="armv5smp_lib">
				<set name="name" value="binaries_armv5smp_lib.${sf.spec.package.zip.format}"/>
			</config>
			<config name="winscw_udeb">
				<set name="name" value="binaries_winscw_udeb.${sf.spec.package.zip.format}"/>
			</config>
			<config name="winscw_urel">
				<set name="name" value="binaries_winscw_urel.${sf.spec.package.zip.format}"/>
			</config>
			<config name="winscw_lib">
				<set name="name" value="binaries_winscw_lib.${sf.spec.package.zip.format}"/>
			</config>
			<config name="rom_images">
				<set name="name" value="binaries_rom_images.${sf.spec.package.zip.format}"/>
			</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.${sf.spec.package.zip.format}"/>
			</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}.${sf.spec.package.zip.format}"/>
			</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>
