Merge changes
authorShabe Razvi <shaber@symbian.org>
Mon, 08 Jun 2009 15:59:51 +0100
changeset 143 f2ac8aeae6bb
parent 142 247e27021cd0 (diff)
parent 139 7f5b4e3699cb (current diff)
child 144 588200b6a71b
Merge changes
--- a/common/build.xml	Thu Jun 04 11:41:08 2009 +0100
+++ b/common/build.xml	Mon Jun 08 15:59:51 2009 +0100
@@ -24,7 +24,7 @@
     <property name="build.system" value="${sf.spec.build.system}"/>
     <property name="base_release.path" value="${sf.spec.baseline.location}"/>
     <property name="base_release.getenv_options" value="${sf.spec.baseline.getenv_options}"/>
-    
+
     <!-- import all core HELIUM targets -->
     <import file="${helium.dir}/helium.ant.xml" />
     
@@ -189,7 +189,21 @@
             <arg value="echo"/>
             <arg value="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}"/>
         </exec>
-        
+
+        <!-- tools baseline must come before epoc baseline to allow clean listing -->
+        <if>
+            <istrue value="${sf.spec.toolsbaseline.enable}" />
+            <then>
+                <!-- wrapper around preparation-getenv but with diff params -->
+                <runtarget target="sf-getenv-tools"/>
+                
+                <echo message="INFO Getting tools environment listing"/>
+                <exec executable="perl" dir="${build.log.dir}/" failonerror="true" output="${build.log.dir}/listdir_${build.id}_toolsbaseline.log">
+                    <arg value="${sf.common.config.dir}/tools/listdir.pl"/>
+                    <arg value="${build.drive}/epoc32"/>
+                </exec>
+            </then>
+        </if>        
         <if>
             <istrue value="${sf.spec.baseline.enable}" />
             <then>
@@ -211,7 +225,7 @@
                 <touch file="${build.drive}/output/logs/BOM/baseline.txt"/>
             </else>
         </if>
-        
+
         <if>
             <istrue value="${sf.spec.sourcesync.enable}" />
             <then>
@@ -241,7 +255,7 @@
     
     <target name="sf-postbuild">
         <echo>[SF-POSTBUILD]</echo>
-                
+        <parallel>                
         <!-- TAG SOURCE CODE -->
         <if>
             <istrue value="${sf.spec.tagafterbuild.enable}" />
@@ -250,7 +264,14 @@
                 <runtarget target="sf-tag-hg-code"/>
             </then>
         </if>
-    
+        
+        <if>
+            <istrue value="${sf.spec.md5.enable}"/>
+            <then>
+                <echo message="INFO Creating MD5s"/>
+                <runtarget target="sf-run-evalid"/>
+            </then>
+        </if>
         <if>
             <istrue value="${sf.spec.package.bin.enable}"/>
             <then>
@@ -258,9 +279,11 @@
                 <runtarget target="sf-package-binary"/>
             </then>
         </if>
-
+        </parallel>
+        
         <if><istrue value="${sf.spec.test.sendpkg.enable}"/>
             <then>
+                <runtarget target="sf-build-smoketestpkg"/>
                 <runtarget target="sf-send-testpkg"/>
             </then>
         </if>
@@ -287,6 +310,13 @@
         </if>
     </target>
 
+    <target name="sf-getenv-tools">
+        <antcall target="preparation-getenv" inheritAll="false">
+            <param name="base_release.path"           value="${sf.spec.toolsbaseline.location}"/>
+            <param name="base_release.getenv_options" value="${sf.spec.toolsbaseline.getenv_options}"/>
+        </antcall>
+    </target>
+
     <!-- package all logs into zipfile before publish -->
     <target name="sf-zip-logs">
         <if>
@@ -533,12 +563,47 @@
             <arg value="--host=${sf.spec.test.host.name}"/>
             <arg value="--username=${sf.spec.test.host.username}"/>
             <arg value="--password=${sf.spec.test.host.password}"/>
-            <arg value="--local-test-pkg=${sf.spec.test.package.name}"/>
+            <arg value="--local-test-pkg=${sf.spec.test.package.location}\${sf.spec.test.package.name}"/>
             <arg value="--local-drop-path=${sf.spec.test.package.droppath}"/>
             <arg value="--host-drop-path=${sf.spec.test.host.droppath}"/>
         </exec>
     </target>
-  
+
+    <target name="sf-build-smoketestpkg" depends="sf-getenv-tools">
+        <delete dir  ="${build.drive}/smoketest"/>
+        <delete file ="${build.log.dir}/ATS_${build.id}_smoketest.log"/>
+        
+        <echo message="INFO Copy smoketest source to EPOCROOT"/>
+        
+        <copy todir="${build.drive}/smoketest">
+            <fileset dir="${sf.common.config.dir}/tools/ats/smoketest"/>
+        </copy>
+        
+        <echo message="INFO Building smoketest"/>
+        <exec executable="cmd" dir="${build.drive}/smoketest/group" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_smoketest.log">
+            <arg value="/c"/>
+            <arg value="sbs -b bld.inf -c winscw.test"/>
+        </exec>
+
+        <echo message="INFO Creating smoketest testpackage"/>
+        <exec executable="cmd" dir="${build.drive}/smoketest/group" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_smoketest.log">
+            <arg value="/c"/>
+            <arg value="smoketest.pl"/>
+        </exec>
+        <copy file="${build.drive}/smoketest/group/smoketest.zip" todir="${sf.spec.test.package.location}"/>
+        
+        <echo message="INFO Updating smoketest package with test info"/>
+        <exec executable="perl" dir="${sf.common.config.dir}/tools/ats/" failonerror="false" append="true" output="${build.log.dir}/ATS_${build.id}_smoketest.log">
+            <arg value="ats_specialise_test_drop.pl"/>
+            <arg value="--test-drop-name=Smoketest-${build.id}"/> 
+            <arg value="--device-name=ATSINTERFACE EMULATOR on ${env.COMPUTERNAME}"/>
+            <arg value="--src=${sf.spec.test.package.location}\smoketest.zip"/>
+            <arg value="--dest=${sf.spec.test.package.location}\${sf.spec.test.package.name}"/>
+
+        </exec>
+        <!-- Now ready to send to ATS3 -->
+    </target>   
+
     <!-- runs analysis of missing bins and source -->
     <target name="sf-run-analysis">
         <mkdir dir="${build.log.dir}/analysis"/>
@@ -566,14 +631,15 @@
             <arg value="${sf.common.config.dir}/tools/analysis/merge_csv.pl"/>
             <arg value="${build.id}_what_results.csv"/>
             <arg value="${build.id}_list_results.log"/>
-	    <arg value="${build.drive}/output/zips/postbuild/bin_rnd_internal_initial.zip"/>
+            <arg value="${build.drive}/output/zips/postbuild/bin_rnd_internal_initial.zip"/>
         </exec>
-	<exec executable="perl" dir="${build.log.dir}/analysis" failonerror="false" output="${build.log.dir}/analysis/${build.id}_analysecomponents.log">
+
+        <exec executable="perl" dir="${build.log.dir}/analysis" failonerror="false" output="${build.log.dir}/analysis/${build.id}_analysecomponents.log">
             <arg value="${sf.common.config.dir}/tools/analysis/analyse_components.pl"/>
             <arg value="${sf.project.location}/${sf.spec.sourcesync.sourcespecfile}"/>
-	    <arg value="${build.id}_what_results.csv_results.csv"/>
+            <arg value="${build.id}_what_results.csv_results.csv"/>
             <arg value="${sf.project.location}/sysdefs/system_model_os_contributed.xml"/>
-	    <arg value="${sf.project.location}/sysdefs/system_model_s60_contributed.xml"/>
+            <arg value="${sf.project.location}/sysdefs/system_model_s60_contributed.xml"/>
         </exec>
 
         <echo message="Running collision analysis"/>
@@ -583,5 +649,108 @@
         </exec>
     </target>
   
+    <target name="sf-run-evalid">
+        <delete dir="${build.drive}/output/md5"/>
+        <mkdir  dir="${build.drive}/output/md5"/>
+
+        <parallel>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/include output/md5/epoc32_include.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/s60 output/md5/epoc32_s60.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/localisation output/md5/epoc32_localisation.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -x \.sym$ -x ^armv5/udeb -x ^armv5/urel -x ^winscw/udeb -x ^winscw/urel -g epoc32/release output/md5/epoc32_release.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -x \.sym$ -g epoc32/release/armv5/udeb output/md5/epoc32_release_armv5_udeb.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -x \.sym$ -g epoc32/release/armv5/urel output/md5/epoc32_release_armv5_urel.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -x \.sym$ -g epoc32/release/winscw/urel output/md5/epoc32_release_winscw_udeb.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -x \.sym$ -g epoc32/release/winscw/udeb output/md5/epoc32_release_winscw_urel.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/cshlpcmp_template 	output/md5/epoc32_cshlpcmp_template.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/data output/md5/epoc32_data.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/engdoc output/md5/epoc32_engdoc.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/engineeringtools output/md5/epoc32_engineeringtools.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/gcc output/md5/epoc32_gcc.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/gcc_mingw output/md5/epoc32_gcc_mingw.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/ksa output/md5/epoc32_ksa.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/rom output/md5/epoc32_rom.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/rombuild output/md5/epoc32_rombuild.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/sbs_config output/md5/epoc32_sbs_config.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/sdk_special output/md5/epoc32_sdk_special.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/stdapis output/md5/epoc32_stdapis.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/stubs output/md5/epoc32_stubs.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/tools output/md5/epoc32_tools.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/wins output/md5/epoc32_wins.md5"/>
+        </exec>
+        <exec executable="cmd" dir="${build.drive}">
+            <arg value="/c"/>
+            <arg value="evalid -g epoc32/winscw output/md5/epoc32_winscw.md5"/>
+        </exec>
+        </parallel>
+    </target>
 </project>
 
--- a/common/common_props.ant.xml	Thu Jun 04 11:41:08 2009 +0100
+++ b/common/common_props.ant.xml	Mon Jun 08 15:59:51 2009 +0100
@@ -42,6 +42,7 @@
     <property name="sf.spec.baseline.getenv_options" value="-i emu"/>
     <property name="sf.spec.toolsbaseline.enable" value="true"/>
     <property name="sf.spec.toolsbaseline.select" value="auto"/>
+    <property name="sf.spec.toolsbaseline.getenv_options" value="-i tools"/>
     
     <property name="sf.spec.publish.enable" value="true"/>
     <property name="sf.spec.publish.unpackagedartefacts.enable" value="true"/>
@@ -68,6 +69,9 @@
     <property name="sf.spec.package.bin.enable"  value="false"/>
     <property name="sf.spec.package.src.enable"  value="false"/>
 
+    <!-- enable creation of MD5s -->
+    <property name="sf.spec.md5.enable"          value="false"/>
+
     <!-- ATS client properties -->
     <property name="sf.spec.test.sendpkg.enable" value="false"/>
     <property name="sf.spec.test.host.name"      value="172.16.11.11"/> <!-- sym-build01 -->
@@ -77,7 +81,8 @@
     <property name="sf.spec.test.epocroot"       value="D:\ATS3\winscw_smoketest"/>
 
     <!-- ATS local properties -->
-    <property name="sf.spec.test.package.name"      value="D:\ATS3\smoketest_package\9.zip"/>
+    <property name="sf.spec.test.package.location"  value="D:\ATS3\smoketest_package"/>
+    <property name="sf.spec.test.package.name"      value="Smoketest-${sf.spec.job.name}_${sf.spec.job.codeline}.${sf.spec.job.number}.zip"/> <!-- build.id not available at this point, so construct it from component parts -->
     <property name="sf.spec.test.package.droppath"  value="D:\ATS3\TestDrops"/>
 
     <!-- BC check properties -->