Add initial support for Helium7 for the platform.
* Use sf.spec.sbs.options to pass args direct to Raptor.
* Backwards compatibility with Helium5 maintained.
* Listdir function to be provided by sbs check filter, which will be added later.
<?xml version="1.0" encoding="UTF-8"?>
<project name="SF-COMPILE-HLM-5" xmlns:hlm="http://www.nokia.com/helium">
<!--
== Name: SF-OS-COMPILE
==
== Desc: Compile OS part of build using the spec defined in:
==
== - job_props.ant.xml
== - job_refs.ant.xml
==
-->
<target name="sf-os-compile" depends="sf-compile-options">
<echo message="INFO Using Helium 5 for sf-os-compile"/>
<!-- generate baseline dir list to allow delta creation -->
<if><isset property="sf.os.compile.fast"/>
<then>
<echo message="INFO [FAST COMPILE] Skipping baseline dir list generation"/>
</then>
<else>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="baseline"/>
</antcall>
</else>
</if>
<!-- OS clean main build -->
<if><istrue value="${sf.spec.baseline.clean}"/>
<then>
<hlm:argSet id="sbs.main.clean.sbs.var">
<hlm:arg name="config" value="${sf.spec.sbs.config}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="command" value="CLEAN --check" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
<reference refid="sbs.main.clean.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
</then>
</if>
<if><isset property="sf.os.compile.fast"/>
<then>
<echo message="INFO [FAST COMPILE] Skipping baseline vs post-clean delta generation"/>
</then>
<else>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-clean"/>
</antcall>
<!-- what has been cleaned from baseline PDK by sos model -->
<antcall target="sf-delta-dir" inheritAll="false">
<param name="sf.list_a.name" value="baseline"/>
<param name="sf.list_b.name" value="post-clean"/>
</antcall>
</else>
</if>
<if><isset property="sf.os.compile.fast"/>
<then>
<echo message="INFO [FAST COMPILE] Skipping Tools/Tools2 builds"/>
</then>
<else>
<for list="${sf.spec.sbs.tools.config}" delimiter="," param="sf.spec.sbs.tools.splitconfig">
<sequential>
<echo message="INFO [Iterative tools compile] @{sf.spec.sbs.tools.splitconfig}"/>
<propertyregex property="sf.building.tools2" override="true" input="@{sf.spec.sbs.tools.splitconfig}" regexp="^tools2" select="true" defaultValue="false"/>
<if>
<istrue value="${sf.building.tools2}"/>
<then>
<!-- "tools2" build -->
<hlm:argSet id="sbs.tools2.var">
<hlm:arg name="config" value="@{sf.spec.sbs.tools.splitconfig}" />
<hlm:arg name="singlejob" value="false" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
<reference refid="sbs.tools2.var" torefid="sbs.var" />
<reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-build-tools2"/>
</antcall>
</then>
<else>
<!-- "tools" build -->
<hlm:argSet id="sbs.tools.var">
<hlm:arg name="config" value="@{sf.spec.sbs.tools.splitconfig}" />
<hlm:arg name="singlejob" value="true" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
<reference refid="sbs.tools.var" torefid="sbs.var" />
<reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-build-tools"/>
</antcall>
</else>
</if>
</sequential>
</for>
</else>
</if>
<if><istrue value="${sf.os.compile.iterate}"/>
<then>
<for list="${sf.spec.sbs.config}" delimiter="," param="sf.spec.sbs.splitconfig">
<sequential>
<echo message="INFO [Iterative compile] @{sf.spec.sbs.splitconfig}"/>
<hlm:argSet id="sbs.main.iterate.sbs.var">
<hlm:arg name="config" value="@{sf.spec.sbs.splitconfig}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
<reference refid="sbs.main.iterate.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
</sequential>
</for>
</then>
<else>
<!-- OS main build -->
<hlm:argSet id="sbs.main.sbs.var">
<hlm:arg name="config" value="${sf.spec.sbs.config}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="compile.sysdef.dtd.stub" value="${sf.spec.os.sysdef.dtd}" />
<param name="sysdef.configurations.list" value="${sf.spec.os.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.os.sysdef.version}"/>
<reference refid="sbs.main.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.os.system.definition.files" torefid="system.definition.files" />
</antcall>
</else>
</if>
<if><isset property="sf.os.compile.fast"/>
<then>
<echo message="INFO [FAST COMPILE] Skipping delta and intersect list generation"/>
</then>
<else>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-build-main"/>
</antcall>
<!-- what has been built in tools2+tools+main -->
<antcall target="sf-delta-dir" inheritAll="false">
<param name="sf.list_a.name" value="post-clean"/>
<param name="sf.list_b.name" value="post-build-main"/>
</antcall>
<!-- what has been cleaned and rebuilt -->
<antcall target="sf-intersect-dir" inheritAll="false">
<param name="sf.list_a.name" value="post-clean_delta"/> <!-- clean list -->
<param name="sf.list_b.name" value="post-build-main_delta"/> <!-- built list -->
</antcall>
</else>
</if>
</target>
<!--
== Name: SF-S60-COMPILE
==
== Desc: Compile S60 part of build using the spec defined in:
==
== - job_props.ant.xml
== - job_refs.ant.xml
==
-->
<target name="sf-s60-compile" depends="sf-compile-options">
<hlm:argSet id="sbs.tools.var">
<hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
<hlm:arg name="singlejob" value="true" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<hlm:argSet id="sbs.tools.clean.var">
<hlm:arg name="config" value="${sf.spec.sbs.tools.config}" />
<hlm:arg name="singlejob" value="true" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
</hlm:argSet>
<hlm:argSet id="sbs.main.sbs.var">
<hlm:arg name="config" value="${sf.spec.sbs.config}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="retry-limit" value="${sf.spec.sbs.retry.limit}" />
</hlm:argSet>
<hlm:argSet id="sbs.main.clean.sbs.var">
<hlm:arg name="config" value="${sf.spec.sbs.config}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="command" value="CLEAN --check" />
</hlm:argSet>
<hlm:argSet id="sbs.main.what.sbs.var">
<hlm:arg name="config" value="${sf.spec.sbs.config}" />
<hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
<hlm:arg name="command" value="WHAT" />
</hlm:argSet>
<hlm:sbsMakeOptions engine="gmake" id="sbs.toolsbuild.options" />
<hlm:sbsMakeOptions engine="gmake" id="sbs.fullbuild.options" />
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="s60-baseline"/>
</antcall>
<!-- s60 what -->
<!--
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
<reference refid="sbs.main.what.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
</antcall>
-->
<!-- s60 clean main build -->
<if><istrue value="${sf.spec.baseline.clean}"/>
<then>
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
<reference refid="sbs.main.clean.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
</antcall>
</then>
</if>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-s60-clean"/>
</antcall>
<!-- what has been cleaned from baseline PDK by s60 model -->
<antcall target="sf-delta-dir" inheritAll="false">
<param name="sf.list_a.name" value="s60-baseline"/>
<param name="sf.list_b.name" value="post-s60-clean"/>
</antcall>
<!-- s60 tools build -->
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value ="${sf.spec.s60.sysdef.version}"/>
<reference refid="sbs.tools.var" torefid="sbs.var" />
<reference refid="sbs.toolsbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
</antcall>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-s60-build-tools"/>
</antcall>
<!-- s60 main build -->
<antcall target="compile-main" inheritAll="false" inheritRefs="true">
<param name="build.system" value="${sf.spec.build.system}" />
<param name="sysdef.configurations.list" value="${sf.spec.s60.sysdef.clean.configurations.list}" />
<param name="sf.spec.sysdef.version" value="${sf.spec.s60.sysdef.version}"/>
<reference refid="sbs.main.sbs.var" torefid="sbs.var" />
<reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
<reference refid="sf.spec.s60.system.definition.files" torefid="system.definition.files" />
</antcall>
<antcall target="sf-list-dir" inheritAll="false">
<param name="sf.list.name" value="post-s60-build-main"/>
</antcall>
<!-- what has been built by tools+2+main -->
<antcall target="sf-delta-dir" inheritAll="false">
<param name="sf.list_a.name" value="s60-baseline"/>
<param name="sf.list_b.name" value="post-s60-build-main"/>
</antcall>
<!-- what has been cleaned and rebuilt -->
<antcall target="sf-intersect-dir" inheritAll="false">
<param name="sf.list_a.name" value="post-s60-clean_delta"/> <!-- clean list -->
<param name="sf.list_b.name" value="post-s60-build-main_delta"/> <!-- built list -->
</antcall>
</target>
</project>