Helium API

Target sf-os-compile

Location

d:\maintools\sf-config\sf-platform\build.xml:162:

Conditional execution

No conditions on target execution.


Description

Name: SF-OS-COMPILE

Desc: Compile OS part of build using the spec defined in:

- job_props.ant.xml - job_refs.ant.xml


Property dependencies

NameEdit status
User editable properties
Internal properties


Target dependencies

sf-os-compile dependencies


Source code

    <target name="sf-os-compile">

        <hlm:argSet xmlns:hlm="http://www.nokia.com/helium" id="sbs.tools2.var">
                <hlm:arg name="config" value="tools2_rel.whatlog"/>
                <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>

		<hlm:argSet xmlns:hlm="http://www.nokia.com/helium" id="sbs.tools2.clean.var">
                <hlm:arg name="config" value="tools2_rel.whatlog"/>
                <hlm:arg name="singlejob" value="false"/>
                <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}"/>
		<hlm:arg name="command" value="CLEAN --check"/>
        </hlm:argSet>

        <hlm:argSet xmlns:hlm="http://www.nokia.com/helium" id="sbs.tools.var">
                <hlm:arg name="config" value="tools_rel.whatlog"/>
                <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 xmlns:hlm="http://www.nokia.com/helium" id="sbs.tools.clean.var">
                <hlm:arg name="config" value="tools_rel.whatlog"/>
                <hlm:arg name="singlejob" value="true"/>
                <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}"/>
		<hlm:arg name="command" value="CLEAN --check"/>
        </hlm:argSet>

        <hlm:argSet xmlns:hlm="http://www.nokia.com/helium" 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 xmlns:hlm="http://www.nokia.com/helium" 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 xmlns:hlm="http://www.nokia.com/helium" 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 xmlns:hlm="http://www.nokia.com/helium" engine="gmake" id="sbs.toolsbuild.options"/>
        <hlm:sbsMakeOptions xmlns:hlm="http://www.nokia.com/helium" engine="gmake" id="sbs.fullbuild.options"/>

		<!-- 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 what -->
		<!--
        <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.what.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>
		-->
		
		<!-- OS 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="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>
				<!-- OS tools2 build first-->
				<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>
				
				
				<!-- OS tools build after tools2 -->
				<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>
		<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 xmlns:hlm="http://www.nokia.com/helium" 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 -->
        <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>
				
				<!-- what has been cleaned and not rebuilt -->
			</else>
		</if>
		
  </target>

Helium API
Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: http://www.eclipse.org/legal/epl-v10.html