<?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>
