sf-package/build.xml
changeset 1251 0fc9e31020ea
parent 1208 86025b85795b
child 1258 7c13417d5e31
--- a/sf-package/build.xml	Thu Sep 09 13:28:40 2010 +0100
+++ b/sf-package/build.xml	Fri Sep 10 11:29:11 2010 +0100
@@ -1,204 +1,206 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="SF-PACKAGE-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
-  <!-- location of this config -->
-  <dirname property="sf.package.config.dir" file="${ant.file.SF-PACKAGE-CONFIG}"/>
-  
-  <!-- import codeline-specific properties -->
-  <import file="${sf.package.config.dir}/${sf.spec.job.codeline}_props.ant.xml" optional="yes"/>
-  
-  <!-- import package properties -->
-  <import file="${sf.package.config.dir}/package_props.ant.xml" />
-  
-  <!-- import common properties/targets/references -->
-  <import file="../common/build.xml" />
-  
-  <!-- import package references -->
-  <import file="${sf.package.config.dir}/package_refs.ant.xml" />
-  
-  <target name="sf-compile">
-  
-    <!-- Check that package_definition is not in v 3.0.0 otherwise transforms it to 2.0.1 -->
-    <echo message="Check that model file is in a version usable by Raptor"/>
-    <exec executable="perl" dir="${sf.common.config.dir}/sysdefdowngrade" failonerror="false" output="${build.log.dir}/sysdefdowngrade.log">
-      <arg value="sysdefdowngrade.pl"/>
-      <arg value="--model=${build.drive}/${sf.spec.systemdefinition.location}"/>
-      <arg value="--sources=${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
-    </exec>
-    
-    
-    <!-- helium 7+ should use new sf-package-compile target -->
-    <if>
-        <or>
-          <equals arg1="${helium.version}" arg2="7.0"/>
-          <equals arg1="${last.major.helium.version}" arg2="7.0"/>
-        </or>
-        <then>
-            <runtarget target="sf-package-compile"/>
-        </then>
-        <else>
-            <runtarget target="sf-package-compile-hlm-5"/>
-        </else>
-    </if>
-    
-  </target>
-  
-    
-    
-  <target name="sf-package-compile">
-
-    <!-- build stuff -->
-    <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
-      <sequential>
-      
-      <hlm:sbsinput id="sf.build">
-        <sbsOptions>
-            <arg line="-c @{item.sbs.splitconfig}"/>
-            <arg line="-k" />
-            <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
-            <arg line="-t ${sf.spec.sbs.retry.limit}"/>
-            <arg line="${sf.spec.sbs.options}"/>
-            <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
-            <arg name="--logfile" value="${build.log.dir}/${build.id}_@{item.sbs.splitconfig}_compile.log" />
-            <arg name="--makefile" value="${compile.log.dir}/${build.id}_@{item.sbs.splitconfig}_Makefile" />
-        </sbsOptions>
-      </hlm:sbsinput>
-      
-      <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
-      <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.sysdef.configurations.list}" />
-          <param name="sbs.inputs.list" value="sf.build"/>
-          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
-      </antcall>    
-      </sequential>
-    </for>
-    <!-- build test code -->	
-    <if><istrue value="${sf.spec.package.test.enable}"/>
-        <then>
-            <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
-              <sequential>
-      
-              <hlm:sbsinput id="sf.build">
-                <sbsOptions>
-                    <arg line="-c @{item.sbs.splitconfig}.test"/>
-                    <arg line="-k" />
-                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
-                    <arg line="-t ${sf.spec.sbs.retry.limit}"/>
-                    <arg line="${sf.spec.sbs.options}"/>
-                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
-                    <arg name="--logfile" value="${build.log.dir}/${build.id}_@{item.sbs.splitconfig}_compile.log" />
-                    <arg name="--makefile" value="${compile.log.dir}/${build.id}_@{item.sbs.splitconfig}_Makefile" />
-                </sbsOptions>
-              </hlm:sbsinput>
-      
-              <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
-              <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.sysdef.configurations.list}" />
-                  <param name="sbs.inputs.list" value="sf.build"/>
-                  <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
-              </antcall>    
-              </sequential>
-           </for>
-         </then>
-    </if>
-    
-    <!-- CHECK -->
-    <exec executable="cmd" dir="${build.drive}/" output="${build.drive}/output\logs\build_check_compile.log">
-      <arg value="/c sbs.bat -s ${build.drive}/output\build\canonical_system_definition_SF.xml -k -c tools2_rel -c winscw -c armv5 -j 32 --check -m ${build.drive}/output\logs\build_check_Makefile"/>
-      <!-- argument of -j option can be parameterized with: ${number.of.threads} -->
-    </exec>
-   
-  </target>
-        
-        
-  <target name="sf-package-compile-hlm-5">
-
-    <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
-      <sequential>
-        <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
-        
-        <!-- Do CLEAN
-        <hlm:argSet id="sbs.iterate.clean.var">
-          <hlm:arg name="config" value="@{item.sbs.splitconfig}" />
-          <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
-          <hlm:arg name="command" value="CLEAN"/>
-        </hlm:argSet>
-        <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.sysdef.configurations.list}" />
-          <reference refid="sbs.iterate.clean.var" torefid="sbs.var" />
-          <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
-          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
-        </antcall>
-        -->
-
-        <!-- Do BUILD -->
-        <hlm:argSet id="sbs.main.iterate.sbs.var">
-          <hlm:arg name="config" value="@{item.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="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
-          <reference refid="sbs.main.iterate.sbs.var" torefid="sbs.var" />
-          <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
-          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
-        </antcall>                
-      </sequential>
-    </for>
-    
-    <!-- CHECK -->
-    <exec executable="cmd" dir="${build.drive}/" output="${build.drive}/output\logs\build_check_compile.log">
-      <arg value="/c sbs.bat -s ${build.drive}/output\build\canonical_system_definition_SF.xml -k -c tools2_rel -c winscw -c armv5 -j 32 --check -m ${build.drive}/output\logs\build_check_Makefile"/>
-      <!-- argument of -j option can be parameterized with: ${number.of.threads} -->
-    </exec>
-    
-  </target>
-        
-        
-  <target name="sf-test-package">
-
-    <echo message="INFO Preparing package"/>
-    <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" output="${build.log.dir}/ATS_${build.id}_prep_package.log">
-        <arg value="hlm_prep_package.pl"/>
-        <arg value="--csv-file=${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
-        <arg value="--bld-drive=${build.drive}"/>
-    </exec>
-  
-    <echo message="INFO Building package test drop(s)"/>
-<!--    <runtarget target="ats-test"/> --> <!-- Supported from Helium 9.0.5 onwards -->
-    <echo message="INFO Skipped - Helium 9.0.5+ required"/>
-	
-    <for param="file">
-        <path>
-            <fileset dir="${build.drive}/output/ats" includes="*.zip"/>
-        </path>
-        <sequential>
-            <propertyregex override="yes" property="program"  input="@{file}" regexp="([^\\/\/]*)$" select="\1"/>  						
-            <echo message="INFO Updating package test drop with test info"/>
-            <echo message="************ Test drop name:  ${program} " />
-            <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_packagetest.log">
-                <arg value="ats_specialise_test_drop.pl"/>
-                <arg value="--test-drop-name=${env.COMPUTERNAME}-packagetest-${build.id}_${program}"/> 
-                <arg value="--host-name=${env.COMPUTERNAME}.ad-sfpd.intra"/>
-                <arg value="--src=${build.drive}/output/ats/${program}"/>
-                <arg value="--dest=${sf.spec.test.package.location}\${env.COMPUTERNAME}-packagetest-${build.id}_${program}" />
-                <arg value="--publish=${publish.dir}\ats_reports\${program}"/>
-                <arg value="--ats-version=ats4"/> <!-- Hard-coded ats-version as Test Drop Generator for WINSCW supports only ATS4 -->
-            </exec>
-            <!-- Now ready to send to ATS -->  
-            <echo message="Sending test drop :  ${program} ............" />
-            <antcall target="sf-send-testpkg" inheritAll="false">
-                <param name="sf.spec.test.package.name" value="${env.COMPUTERNAME}-packagetest-${build.id}_${program}"/>
-            </antcall>
-        </sequential>
-    </for>
-
-  </target>
-
-  <target name="ats-emulator-zip"/> <!-- This is to override exisiting Helium target called from ats-test -->
-  
-</project>
-
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="SF-PACKAGE-CONFIG" xmlns:hlm="http://www.nokia.com/helium">
+  <!-- location of this config -->
+  <dirname property="sf.package.config.dir" file="${ant.file.SF-PACKAGE-CONFIG}"/>
+  
+  <!-- import codeline-specific properties -->
+  <import file="${sf.package.config.dir}/${sf.spec.job.codeline}_props.ant.xml" optional="yes"/>
+  
+  <!-- import package properties -->
+  <import file="${sf.package.config.dir}/package_props.ant.xml" />
+  
+  <!-- import common properties/targets/references -->
+  <import file="../common/build.xml" />
+  
+  <!-- import package references -->
+  <import file="${sf.package.config.dir}/package_refs.ant.xml" />
+  
+  <target name="sf-compile">
+  
+    <!-- Check that package_definition is not in v 3.0.0 otherwise transforms it to 2.0.1 -->
+    <echo message="Check that model file is in a version usable by Raptor"/>
+    <exec executable="perl" dir="${sf.common.config.dir}/sysdefdowngrade" failonerror="false" output="${build.log.dir}/sysdefdowngrade.log">
+      <arg value="sysdefdowngrade.pl"/>
+      <arg value="--model=${build.drive}/${sf.spec.systemdefinition.location}"/>
+      <arg value="--sources=${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
+    </exec>
+    
+    <!-- Moved from generate-layers -->
+    <copy file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}.xml" todir="${build.log.dir}/BOM/"/>
+
+    <!-- helium 7+ should use new sf-package-compile target -->
+    <if>
+        <or>
+          <equals arg1="${helium.version}" arg2="7.0"/>
+          <equals arg1="${last.major.helium.version}" arg2="7.0"/>
+        </or>
+        <then>
+            <runtarget target="sf-package-compile"/>
+        </then>
+        <else>
+            <runtarget target="sf-package-compile-hlm-5"/>
+        </else>
+    </if>
+    
+  </target>
+  
+    
+    
+  <target name="sf-package-compile">
+
+    <!-- build stuff -->
+    <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
+      <sequential>
+      
+      <hlm:sbsinput id="sf.build">
+        <sbsOptions>
+            <arg line="-c @{item.sbs.splitconfig}"/>
+            <arg line="-k" />
+            <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
+            <arg line="-t ${sf.spec.sbs.retry.limit}"/>
+            <arg line="${sf.spec.sbs.options}"/>
+            <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
+            <arg name="--logfile" value="${build.log.dir}/${build.id}_@{item.sbs.splitconfig}_compile.log" />
+            <arg name="--makefile" value="${compile.log.dir}/${build.id}_@{item.sbs.splitconfig}_Makefile" />
+        </sbsOptions>
+      </hlm:sbsinput>
+      
+      <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
+      <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.sysdef.configurations.list}" />
+          <param name="sbs.inputs.list" value="sf.build"/>
+          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
+      </antcall>    
+      </sequential>
+    </for>
+    <!-- build test code -->	
+    <if><istrue value="${sf.spec.package.test.enable}"/>
+        <then>
+            <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
+              <sequential>
+      
+              <hlm:sbsinput id="sf.build">
+                <sbsOptions>
+                    <arg line="-c @{item.sbs.splitconfig}.test"/>
+                    <arg line="-k" />
+                    <arg line="-j ${sf.spec.sbs.numberofjobs}"/>
+                    <arg line="-t ${sf.spec.sbs.retry.limit}"/>
+                    <arg line="${sf.spec.sbs.options}"/>
+                    <arg name="--filters" value="&quot;${sf.spec.sbs.filter.list}&quot;"/>
+                    <arg name="--logfile" value="${build.log.dir}/${build.id}_@{item.sbs.splitconfig}_compile.log" />
+                    <arg name="--makefile" value="${compile.log.dir}/${build.id}_@{item.sbs.splitconfig}_Makefile" />
+                </sbsOptions>
+              </hlm:sbsinput>
+      
+              <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
+              <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.sysdef.configurations.list}" />
+                  <param name="sbs.inputs.list" value="sf.build"/>
+                  <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
+              </antcall>    
+              </sequential>
+           </for>
+         </then>
+    </if>
+    
+    <!-- CHECK -->
+    <exec executable="cmd" dir="${build.drive}/" output="${build.drive}/output\logs\build_check_compile.log">
+      <arg value="/c sbs.bat -s ${build.drive}/output\build\canonical_system_definition_SF.xml -k -c tools2_rel -c winscw -c armv5 -j 32 --check -m ${build.drive}/output\logs\build_check_Makefile"/>
+      <!-- argument of -j option can be parameterized with: ${number.of.threads} -->
+    </exec>
+   
+  </target>
+        
+        
+  <target name="sf-package-compile-hlm-5">
+
+    <for list="${sf.spec.sbs.config}" delimiter="," param="item.sbs.splitconfig">
+      <sequential>
+        <echo message="INFO [Iterative compile] Building target: @{item.sbs.splitconfig}"/>
+        
+        <!-- Do CLEAN
+        <hlm:argSet id="sbs.iterate.clean.var">
+          <hlm:arg name="config" value="@{item.sbs.splitconfig}" />
+          <hlm:arg name="enable-filter" value="${sf.spec.logs.raptorfilter.enable}" />
+          <hlm:arg name="command" value="CLEAN"/>
+        </hlm:argSet>
+        <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.sysdef.configurations.list}" />
+          <reference refid="sbs.iterate.clean.var" torefid="sbs.var" />
+          <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
+          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
+        </antcall>
+        -->
+
+        <!-- Do BUILD -->
+        <hlm:argSet id="sbs.main.iterate.sbs.var">
+          <hlm:arg name="config" value="@{item.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="sysdef.configurations.list" value="${sf.spec.sysdef.configurations.list}" />
+          <reference refid="sbs.main.iterate.sbs.var" torefid="sbs.var" />
+          <reference refid="sbs.fullbuild.options" torefid="sbs.make.options" />
+          <reference refid="sf.spec.system.definition.files" torefid="system.definition.files" />
+        </antcall>                
+      </sequential>
+    </for>
+    
+    <!-- CHECK -->
+    <exec executable="cmd" dir="${build.drive}/" output="${build.drive}/output\logs\build_check_compile.log">
+      <arg value="/c sbs.bat -s ${build.drive}/output\build\canonical_system_definition_SF.xml -k -c tools2_rel -c winscw -c armv5 -j 32 --check -m ${build.drive}/output\logs\build_check_Makefile"/>
+      <!-- argument of -j option can be parameterized with: ${number.of.threads} -->
+    </exec>
+    
+  </target>
+        
+        
+  <target name="sf-test-package">
+
+    <echo message="INFO Preparing package"/>
+    <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" output="${build.log.dir}/ATS_${build.id}_prep_package.log">
+        <arg value="hlm_prep_package.pl"/>
+        <arg value="--csv-file=${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
+        <arg value="--bld-drive=${build.drive}"/>
+    </exec>
+  
+    <echo message="INFO Building package test drop(s)"/>
+<!--    <runtarget target="ats-test"/> --> <!-- Supported from Helium 9.0.5 onwards -->
+    <echo message="INFO Skipped - Helium 9.0.5+ required"/>
+	
+    <for param="file">
+        <path>
+            <fileset dir="${build.drive}/output/ats" includes="*.zip"/>
+        </path>
+        <sequential>
+            <propertyregex override="yes" property="program"  input="@{file}" regexp="([^\\/\/]*)$" select="\1"/>  						
+            <echo message="INFO Updating package test drop with test info"/>
+            <echo message="************ Test drop name:  ${program} " />
+            <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_packagetest.log">
+                <arg value="ats_specialise_test_drop.pl"/>
+                <arg value="--test-drop-name=${env.COMPUTERNAME}-packagetest-${build.id}_${program}"/> 
+                <arg value="--host-name=${env.COMPUTERNAME}.ad-sfpd.intra"/>
+                <arg value="--src=${build.drive}/output/ats/${program}"/>
+                <arg value="--dest=${sf.spec.test.package.location}\${env.COMPUTERNAME}-packagetest-${build.id}_${program}" />
+                <arg value="--publish=${publish.dir}\ats_reports\${program}"/>
+                <arg value="--ats-version=ats4"/> <!-- Hard-coded ats-version as Test Drop Generator for WINSCW supports only ATS4 -->
+            </exec>
+            <!-- Now ready to send to ATS -->  
+            <echo message="Sending test drop :  ${program} ............" />
+            <antcall target="sf-send-testpkg" inheritAll="false">
+                <param name="sf.spec.test.package.name" value="${env.COMPUTERNAME}-packagetest-${build.id}_${program}"/>
+            </antcall>
+        </sequential>
+    </for>
+
+  </target>
+
+  <target name="ats-emulator-zip"/> <!-- This is to override exisiting Helium target called from ats-test -->
+  
+</project>
+