Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
authorSimon Howkins <simonh@symbian.org>
Fri, 04 Sep 2009 17:41:59 +0100
changeset 396 178a6d6661b3
parent 395 1f4867b1e0c1
child 397 3a9cb357ea5d
Moved tasks for generating config and project BOMs into their own target so they can be tested independently, and simplified them slightly also.
common/build.xml
--- a/common/build.xml	Fri Sep 04 17:38:56 2009 +0100
+++ b/common/build.xml	Fri Sep 04 17:41:59 2009 +0100
@@ -196,50 +196,7 @@
         <delete file="${build.drive}/output/build/canonical_system_definition_${sysdef.configuration}_temp.xml"/>
     </target>
 
-    <target name="sf-prebuild" depends="sf-prep,sf-prebuild-announce,sf-diamonds-tag-build">
-        <!-- create BOM dir -->
-        <mkdir dir="${build.drive}/output/logs/BOM"/>
-        
-        <!-- record project and config information in BOM files -->
-        <delete file="${build.drive}/output/logs/BOM/config.csv" quiet="true"/>
-        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.repo">
-            <arg value="showconfig"/>
-            <arg value="paths.default"/>
-        </exec>
-        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.rev">
-            <arg value="identify"/>
-            <arg value="-n"/>
-        </exec>
-        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.checksum">
-            <arg value="identify"/>
-            <arg value="-i"/>
-        </exec>
-        <echo message="dir ${sf.config.dir} : revision ${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}"/>
-        <exec executable="cmd" output="${build.drive}/output/logs/BOM/config.csv" append="true">
-            <arg value="/c"/>
-            <arg value="echo"/>
-            <arg value="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}"/>
-        </exec>
-        <delete file="${build.drive}/output/logs/BOM/project.csv" quiet="true"/>
-        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.repo">
-            <arg value="showconfig"/>
-            <arg value="paths.default"/>
-        </exec>
-        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.rev">
-            <arg value="identify"/>
-            <arg value="-n"/>
-        </exec>
-        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.checksum">
-            <arg value="identify"/>
-            <arg value="-i"/>
-        </exec>
-        <echo message="dir ${sf.project.location} : revision ${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}"/>
-        <exec executable="cmd" output="${build.drive}/output/logs/BOM/project.csv" append="true">
-            <arg value="/c"/>
-            <arg value="echo"/>
-            <arg value="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}"/>
-        </exec>
-
+    <target name="sf-prebuild" depends="sf-prep,sf-prebuild-announce,sf-diamonds-tag-build,sf-record-proj-conf-bom">
         <!-- tools baseline must come before epoc baseline to allow clean listing -->
         <if>
             <istrue value="${sf.spec.toolsbaseline.enable}" />
@@ -328,6 +285,42 @@
       </if>
     </target>
     
+    <target name="sf-record-proj-conf-bom">
+        <!-- create BOM dir -->
+        <mkdir dir="${build.drive}/output/logs/BOM"/>
+        
+        <!-- record config and project information in BOM files -->
+        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.repo">
+            <arg value="showconfig"/>
+            <arg value="paths.default"/>
+        </exec>
+        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.rev">
+            <arg value="identify"/>
+            <arg value="-n"/>
+        </exec>
+        <exec executable="hg" dir="${sf.config.dir}" outputproperty="sf.job.bom.config.checksum">
+            <arg value="identify"/>
+            <arg value="-i"/>
+        </exec>
+        <echo message="dir ${sf.config.dir} : revision ${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}"/>
+        <echo message="${sf.job.bom.config.repo},sf-config,${sf.job.bom.config.rev}:${sf.job.bom.config.checksum}" file="${build.drive}/output/logs/BOM/config.csv"/>
+
+        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.repo">
+            <arg value="showconfig"/>
+            <arg value="paths.default"/>
+        </exec>
+        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.rev">
+            <arg value="identify"/>
+            <arg value="-n"/>
+        </exec>
+        <exec executable="hg" dir="${sf.project.location}" outputproperty="sf.job.bom.project.checksum">
+            <arg value="identify"/>
+            <arg value="-i"/>
+        </exec>
+        <echo message="dir ${sf.project.location} : revision ${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}"/>
+	<echo message="${sf.job.bom.project.repo},build/config,${sf.job.bom.project.rev}:${sf.job.bom.project.checksum}" file="${build.drive}/output/logs/BOM/project.csv"/>
+    </target>
+
     <target name="sf-getenv-tools">
         <antcall target="preparation-getenv" inheritAll="false">
             <param name="base_release.path"           value="${sf.spec.toolsbaseline.location}"/>