common/build.xml
changeset 206 32693583e769
parent 201 9f98eafcf480
child 208 bf91a7e3c25b
--- a/common/build.xml	Thu Jun 18 14:32:22 2009 +0100
+++ b/common/build.xml	Fri Jun 19 14:38:25 2009 +0100
@@ -24,13 +24,24 @@
     <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" />
     
     <!-- import common references -->
     <import file="${sf.common.config.dir}/common_refs.ant.xml" />
              
+	<!-- setup conditional Helium internal properties -->
+	<if><istrue value="${sf.spec.sourcesync.usecache}"/>
+		<then>
+			<property name="sf.spec.sourcesync.sourcespecdir" value="${sf.common.config.dir}/generated"/>
+		</then>
+		<else>
+			<property name="sf.spec.sourcesync.sourcespecdir" value="${sf.project.location}"/>
+		</else>
+	</if>
+
     <!-- conditional import of generated source spec if available -->
     <if><available  file="${sf.common.config.dir}/generated/source-spec.ant.xml" />
         <then>
@@ -40,7 +51,7 @@
     </if>
      
     
-    <target name="sf-prep" depends="sf-generate-source-spec,prep-drive,init-build-area,check-tool-dependencies,create-bom,log-build-env">
+    <target name="sf-prep" depends="prep-drive,init-build-area,sf-generate-source-spec,check-tool-dependencies,create-bom,log-build-env">
         <echo>[SF-PREP]</echo>
         <tempfile property="prep.dynamic.config" suffix="ant.xml" destdir="${temp.build.dir}"/>
     </target>
@@ -48,7 +59,7 @@
     <target name="sf-build-all" depends="sf-prebuild,sf-build-noprep,sf-postbuild">
         <echo>[SF-BUILD-ALL]</echo>
     </target>
-
+    
     <target name="sf-build-and-pack" depends="sf-build-noprep,sf-postbuild">
         <echo>[SF-BUILD-AND-PACK]</echo>
     </target>
@@ -64,6 +75,20 @@
     </target>
     
     <target name="sf-generate-source-spec" depends="sf-parse-project-config">
+	
+		<!-- Generate the sources.csv if hg cache is activated -->
+		<if><istrue value="${sf.spec.sourcesync.usecache}"/>
+			<then>
+				<echo message="Generating Hg local cache..." />
+				<exec executable="perl" dir="${build.log.dir}" failonerror="true" output="${build.log.dir}/${build.id}_hgcache.log">
+					<arg value="${sf.common.config.dir}/tools/cachefiles.pl"/>
+					<arg value="${sf.spec.job.rootdir}/hgcache"/>
+					<arg value="${sf.project.location}/${sf.spec.sourcesync.sourcespecfile}"/>
+					<arg value="${sf.common.config.dir}/generated/${sf.spec.sourcesync.sourcespecfile}"/>
+				</exec>
+			</then>
+		</if>
+		
         <!-- TODO: 1. Same file name souce-spec.ant.xml is used for all packages
         for multiple package builds, this needs to be linked with package name. -->
         <!-- TODO: 2. Change fmpp data to be a full property rather than relative path -->
@@ -72,7 +97,7 @@
               outputFile="${sf.common.config.dir}/generated/source-spec.ant.xml">
               <data expandProperties="yes">
                     ant: antProperties()
-                    data: csv(${sf.project.location}/${sf.spec.sourcesync.sourcespecfile}, {separator:','})
+                    data: csv(${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}, {separator:','})
               </data>
         </fmpp>
     </target>
@@ -435,7 +460,7 @@
               outputFile="${sf.common.config.dir}/generated/tag-hg-code.ant.xml">
             <data expandProperties="yes">
                 ant: antProperties()
-                data: csv(${sf.project.location}/${sf.spec.sourcesync.sourcespecfile}, {separator:','})
+                data: csv(${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}, {separator:','})
             </data>
         </fmpp>
         <ant antfile="${sf.common.config.dir}/generated/tag-hg-code.ant.xml"/>
@@ -458,7 +483,7 @@
         <mkdir dir="${sf.common.config.dir}/generated"/>
         <exec executable="perl" dir="${build.drive}/" failonerror="false" output="${build.log.dir}/zipconfig.log">
             <arg value="${sf.common.config.dir}/tools/populateziptemplate.pl"/>
-            <arg value="${sf.project.location}/${sf.spec.sourcesync.sourcespecfile}"/>
+            <arg value="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
             <arg value="${sf.common.config.dir}/templates/zip.cfg.xml.ftl.template"/>
             <arg value="${sf.common.config.dir}/generated/zip.cfg.xml.ftl"/>
         </exec>
@@ -641,7 +666,7 @@
 
         <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="${sf.spec.sourcesync.sourcespecdir}/${sf.spec.sourcesync.sourcespecfile}"/>
             <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"/>