common/templates/source-spec.ant.xml.ftl
changeset 952 ea541face66b
parent 949 627fc020bb12
child 977 293f16b1c667
equal deleted inserted replaced
951:5d2cdb4d231d 952:ea541face66b
     3 
     3 
     4 <#assign dollar = "$"/>
     4 <#assign dollar = "$"/>
     5 
     5 
     6     <!-- Convert \s in cache location, because otherwise they disappear entirely when used in a regex replacement! -->
     6     <!-- Convert \s in cache location, because otherwise they disappear entirely when used in a regex replacement! -->
     7     <propertyregex property="sf.spec.sourcesync.cachelocation.for.regex" input="${dollar}{sf.spec.sourcesync.cachelocation}" regexp="\\" replace="/" global="true" defaultValue="${dollar}{sf.spec.sourcesync.cachelocation}"/>
     7     <propertyregex property="sf.spec.sourcesync.cachelocation.for.regex" input="${dollar}{sf.spec.sourcesync.cachelocation}" regexp="\\" replace="/" global="true" defaultValue="${dollar}{sf.spec.sourcesync.cachelocation}"/>
     8     
     8 
     9 <#assign fileset = "" />
     9 <#assign fileset = "" />
    10 <#assign sync_list = "" />
    10 <#assign sync_list = "" />
    11 <#assign bom_list  = "" />
    11 <#assign bom_list  = "" />
    12 <#assign change_list  = "" />
    12 <#assign change_list  = "" />
    13 <#assign count = 0 />
    13 <#assign count = 0 />
    26                 <!-- Work out cache location from source location -->
    26                 <!-- Work out cache location from source location -->
    27                 <propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^http://developer.symbian.org/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation.for.regex}/Live/"/>
    27                 <propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^http://developer.symbian.org/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation.for.regex}/Live/"/>
    28                 <propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^${ant['sf.spec.sourcesync.local.development.area']}/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation.for.regex}/LocalDev/"/>
    28                 <propertyregex property="sf.spec.sourcesync.cachelocation.${count}" input="${pkg_detail.source}" regexp="^${ant['sf.spec.sourcesync.local.development.area']}/" casesensitive="false" replace="${dollar}{sf.spec.sourcesync.cachelocation.for.regex}/LocalDev/"/>
    29             </then>
    29             </then>
    30         </if>
    30         </if>
    31 	
    31         
       
    32         <!-- Convert source tag/branch to to changeset hash, in case it's a local tag on the server -->
       
    33         <exec executable="hg" outputproperty="sf.sourcesync.${count}.checksum">
       
    34             <arg value="id"/>
       
    35             <arg value="${pkg_detail.source}"/>
       
    36             <arg value="-r"/>
       
    37             <arg value="${pkg_detail.pattern}"/>
       
    38             <arg value="-q"/>
       
    39         </exec>
       
    40         
    32         <if>
    41         <if>
    33             <and>
    42             <and>
    34                 <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
    43                 <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
    35                 <available file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" type="dir"/>
    44                 <available file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" type="dir"/>
    36             </and>
    45             </and>
    80                 </if>
    89                 </if>
    81                 <!-- Update to required revision -->
    90                 <!-- Update to required revision -->
    82                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
    91                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
    83                     <arg value="update"/>
    92                     <arg value="update"/>
    84                     <arg value="-r"/>
    93                     <arg value="-r"/>
    85                     <arg value="${pkg_detail.pattern}"/>
    94                     <arg value="${dollar}{sf.sourcesync.${count}.checksum}"/>
    86                 </exec>
       
    87                 <!-- Record the changeset selected, for the BOM -->
       
    88                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
       
    89                     <arg value="identify"/>
       
    90                     <arg value="-i"/>
       
    91                 </exec>
    95                 </exec>
    92             </then>
    96             </then>
    93             <else>
    97             <else>
    94                 <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
    98                 <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
    95                 <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
    99                 <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
   100                 </exec>
   104                 </exec>
   101                 <!-- Update to required version -->
   105                 <!-- Update to required version -->
   102                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
   106                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
   103                     <arg value="update"/>
   107                     <arg value="update"/>
   104                     <arg value="-r"/>
   108                     <arg value="-r"/>
   105                     <arg value="${pkg_detail.pattern}"/>
   109                     <arg value="${dollar}{sf.sourcesync.${count}.checksum}"/>
   106                 </exec>
       
   107                 <!-- Record the changeset selected, for the BOM -->
       
   108                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" outputproperty="sf.sourcesync.${count}.checksum">
       
   109                     <arg value="identify"/>
       
   110                     <arg value="-i"/>
       
   111                 </exec>
   110                 </exec>
   112                 <if>
   111                 <if>
   113                     <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
   112                     <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
   114                     <then>
   113                     <then>
   115                         <forget>
   114                         <forget>