sf-platform/compile-hlm-5.ant.xml
changeset 913 eeffe74cd1b2
child 1169 5fafe4f9fda8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sf-platform/compile-hlm-5.ant.xml	Wed Mar 03 19:46:30 2010 +0000
@@ -0,0 +1,324 @@
+<?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>
+