Made better use of fmpp constructs when filtering units and specfifying default options.
authorSimon Howkins <simonh@symbian.org>
Wed, 04 Aug 2010 12:30:14 +0100
changeset 1181 7ff3bbb2e9d9
parent 1180 17aa569095fc
child 1182 8e3d3bbaed03
Made better use of fmpp constructs when filtering units and specfifying default options. Removed '/'s that don't belong in the output.
common/templates/run-qmake.ant.xml.ftl
--- a/common/templates/run-qmake.ant.xml.ftl	Mon Aug 02 17:40:29 2010 +0100
+++ b/common/templates/run-qmake.ant.xml.ftl	Wed Aug 04 12:30:14 2010 +0100
@@ -9,56 +9,51 @@
         <if><not><available file="${r'$'}{build.drive}/sf/mw/qt/bin/qmake.exe" type="file"/></not>
             <then>
                 <sequential>
-  <#list data["//unit/@bldFile/.."] as unit>
-      <#if (unit.@bldFile=="/sf/mw/qt/src/s60installs/deviceconfiguration")>
+  <#list data["//unit[@bldFile = '/sf/mw/qt/src/s60installs/deviceconfiguration']"] as unit>
                     <echo>INFO: Building and configuring qmake for ${unit.@bldFile}</echo>
                     <if>
-                        <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+                        <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
                         <then>
-                            <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+                            <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
                                 <arg value="/C"/>
                                 <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qmake.log"/>
                             </exec>
                         </then>
                         <else>
-                           <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+                           <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
                            <fail message="Unit /sf/mw/qt/src/s60installs/deviceconfiguration is in the model, but not present on disk. Cannot build qmake!"/>
                         </else>
                     </if>          
-      </#if>
   </#list>
                 </sequential>
             </then>
         </if>
 
         <sequential>
-  <#list data["//unit/@bldFile/.."] as unit>
-      <#if (unit.@bldFile=="/sf/mw/qtextensions/group")>
+  <#list data["//unit[@bldFile = '/sf/mw/qtextensions/group']"] as unit>
             <echo>INFO: Configuring qtextensions for ${unit.@bldFile}</echo>
             <if>
-                <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
                 <then>
-                    <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
                         <arg value="/C"/>
                         <arg line="sbs -c tools2 -j 4 --logfile=${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_qtextensions.log"/>
                     </exec>
                 </then>
                 <else>
-                    <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
                 </else>
             </if>          
-      </#if>
   </#list>
         </sequential>
 
         <sequential>
-  <#list data["//unit/@proFile/.."] as unit>
-      <#if (unit.@proFile=="hb.pro")>
+  <#list data["//unit[@proFile = 'hb.pro']"] as unit>
             <echo>Running configure.py for ${unit.@bldFile}/${unit.@proFile}</echo>
             <if>
-                <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+                <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
                 <then>
-                    <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_hb_configure.log">
+                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_compile_hb_configure.log">
                         <arg value="/C"/>
                         <arg value="python"/>
                         <arg line ="configure.py --qmake-spec=symbian-sbsv2 --platform=symbian --qmake-options=MMP_RULES+=EXPORTUNFROZEN CONFIG+=sgimagelite_support DEFINES+=HB_EFFECTS_OPENVG DEFINES+=HB_FILTER_EFFECTS"/>
@@ -66,45 +61,39 @@
                         
                     <echo>INFO: Exporting Orbit mkspecs to epoc32\tools for ${unit.@bldFile}/${unit.@proFile}</echo>
                     <echo>INFO: Running Orbit theme installer, make install step</echo>
-                    <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_install_hb_configure.log">
+                    <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false" output="${r'$'}{build.drive}/output/logs/${ant['build.id']}_install_hb_configure.log">
                         <arg value="/C"/>
                         <arg value="make install"/>
                     </exec>
                 </then>
                 <else>
-                    <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+                    <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
                 </else>
             </if>
-      </#if>
   </#list>
-
         </sequential>
 
         <parallel threadCount="${r'$'}{number.of.threads}">
-  <#list data["//unit/@proFile/.."] as unit>
+  <#list data["//unit[@proFile != 'hb.pro']"] as unit>
             <sequential>
-      <#if (unit.@proFile!="hb.pro")>
                 <echo>Running qmake for ${unit.@bldFile}/${unit.@proFile}</echo>
                 <if>
-                    <available file="${r'$'}{build.drive}/${unit.@bldFile}" type="dir"/>
+                    <available file="${r'$'}{build.drive}${unit.@bldFile}" type="dir"/>
                     <then>
-                        <exec executable="cmd" dir="${r'$'}{build.drive}/${unit.@bldFile}" failonerror="false">
+                        <exec executable="cmd" dir="${r'$'}{build.drive}${unit.@bldFile}" failonerror="false">
                             <arg value="/C"/>
                             <arg value="qmake"/>
                             <!-- arg value="-listgen"/ -->
-          <#if unit.@qmakeArgs[0]??>
-                            <arg line="${unit.@qmakeArgs?xml}"/>
-          <#else>
-                            <arg line="${ant['qt.qmake.default.args']?xml}"/>
-          </#if>
+      <#escape x as x?xml>
+                            <arg line="${unit.@qmakeArgs[0]!ant['qt.qmake.default.args']}"/>
+      </#escape>
                             <arg value="${unit.@proFile?xml}"/>
                         </exec>
                     </then>
                     <else>
-                       <echo message="ERROR: Directory ${r'$'}{build.drive}/${unit.@bldFile} doesn't exist."/>
+                       <echo message="ERROR: Directory ${r'$'}{build.drive}${unit.@bldFile} doesn't exist."/>
                     </else>
                 </if>          
-      </#if>
             </sequential>
   </#list>
         </parallel>