Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
authorMattD <mattd@symbian.org>
Fri, 16 Oct 2009 14:33:15 +0100
changeset 677 dd6b7decdca2
parent 676 63fe736c83fb
child 678 be06d8de937c
child 684 6d65abb8bba1
Major packaging change to work around parallel calls - stopped zipping targets from having direct dependency on 'sf-preprocess-package-config', and instead have 'sf-zip-content' call 'sf-preprocess-package-config' if needed. Changed 'sf-prep' to call a target that wipes out the 'generated' directory. It's not perfect but it gets us going again.
common/build.postbuild.xml
common/build.xml
--- a/common/build.postbuild.xml	Thu Oct 15 16:47:42 2009 +0100
+++ b/common/build.postbuild.xml	Fri Oct 16 14:33:15 2009 +0100
@@ -86,7 +86,7 @@
         <ant antfile="${sf.common.config.dir}/generated/tag-hg-code.ant.xml"/>
     </target>
 
-    <target name="sf-run-evalid" depends="sf-preprocess-package-config">
+    <target name="sf-run-evalid" >
         <delete dir="${build.drive}/output/md5"/>
         <mkdir  dir="${build.drive}/output/md5"/>
 
@@ -188,9 +188,8 @@
             <arg value="evalid -g epoc32/winscw output/md5/epoc32_winscw.md5"/>
         </exec>
         </parallel>
-        
         <!-- package MD5s directly into epoc32/relinfo location so that its usable out-of-the-box -->
-		<mkdir dir="${build.output.dir}/zips/release"/> <!-- Hack to prevent non-existing release dir -->
+    		<mkdir dir="${build.output.dir}/zips/release"/> <!-- Hack to prevent non-existing release dir -->
         <zip destfile="${build.output.dir}/zips/release/build_md5.zip">
             <zipfileset dir="${build.drive}/output/md5/" prefix="epoc32/relinfo"/>
         </zip>
@@ -201,7 +200,7 @@
         </antcall>
     </target>    
     
-    <target name="sf-package-binary" depends="sf-preprocess-package-config,sf-package-postbuild-rnd">
+    <target name="sf-package-binary" depends="sf-package-postbuild-rnd">
         <!-- Warning: Reverting to using the He zipper will also revert to a single zip for the binaries:
              would need to update the template and possibly the script that populates it -->
         <!--antcall target="sf-zip-content">
@@ -247,14 +246,14 @@
         </antcall>
     </target>
 
-    <target name="sf-package-postbuild-rnd" depends="sf-preprocess-package-config">
+    <target name="sf-package-postbuild-rnd" >
         <antcall target="sf-zip-content">
             <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
             <param name="zip.target.name" value="rnd-postbuild" />
         </antcall>
     </target>
 
-    <target name="sf-package-tools" depends="sf-preprocess-package-config">
+    <target name="sf-package-tools" >
         <exec executable="7za" dir="${build.drive}" output="${build.log.dir}/zip_${build.id}_tools_epoc32.log">
             <arg value="a"/>
             <arg value="-tzip"/>
@@ -616,7 +615,7 @@
     </target>
 
     <!-- package all logs into zipfile for publishing -->
-    <target name="sf-zip-logs" depends="sf-preprocess-package-config">
+    <target name="sf-zip-logs" >
         <if>
             <istrue value="${sf.spec.logs.zip.enable}"/>
             <then>
--- a/common/build.xml	Thu Oct 15 16:47:42 2009 +0100
+++ b/common/build.xml	Fri Oct 16 14:33:15 2009 +0100
@@ -72,7 +72,7 @@
         </then>
     </if>
     
-    <target name="sf-prep" depends="prep-drive,init-build-area,sf-generate-source-spec,check-tool-dependencies,create-bom,log-build-env">
+    <target name="sf-prep" depends="sf-clean-generated-directory,prep-drive,init-build-area,sf-generate-source-spec,check-tool-dependencies,create-bom,log-build-env">
         <echo>[SF-PREP]</echo>
         <!-- Test for the disk space we would like for this build -->
 	<fail>
@@ -466,13 +466,30 @@
         </antcall>
     </target>
     
-    <target name="sf-zip-content" depends="preprocess-zip-config">
-        <property name="zip.${zip.target.name}.log.file" location="${build.log.dir}/${build.id}_${zip.target.name}_zip.log" />
-        <property name="zips.${zip.target.name}.spec.name" value="${zip.target.name}" />
-        <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" />
+    <target name="sf-zip-content" >
+        <if>
+          <and>
+            <equals arg1="${zip.config.file}" arg2="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
+            <not><available file="${zip.config.file}"/></not>
+          </and>  
+          <then>
+            <runtarget target="sf-preprocess-package-config"/>
+          </then>  
+        </if>
+        <if><available file="${zip.config.file}"/>
+          <then>
+            <runtarget target="preprocess-zip-config" />
+            <property name="zip.${zip.target.name}.log.file" location="${build.log.dir}/${build.id}_${zip.target.name}_zip.log" />
+            <property name="zips.${zip.target.name}.spec.name" value="${zip.target.name}" />
+            <hlm:zipContentMacro type="${zip.target.name}" file="${zip.config.file}" />
+          </then>
+          <else>
+            <echo message="ERROR ${zip.config.file} not available for zipping!"/>
+          </else>
+        </if>
     </target>
     
-    <target name="sf-package-source" depends="sf-preprocess-package-config">
+    <target name="sf-package-source" >
         <!-- Firstly zip up rnd by package -->
         <antcall target="sf-zip-content">
             <param name="zip.config.file" value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
@@ -537,6 +554,11 @@
         <!-- And copy the XSL so the output can be transformed by a browser -->
         <copy file="${sf.common.config.dir}/tools/brag/brag.xsl" toDir="${build.log.dir}/summary/"/>
     </target>
+    
+    <target name="sf-clean-generated-directory">
+      <delete dir="${sf.common.config.dir}/generated" failonerror="false" />
+      <mkdir dir="${sf.common.config.dir}/generated" />
+    </target>
 
 </project>