common/templates/source-spec.ant.xml.ftl
changeset 949 627fc020bb12
parent 945 0286796100fd
child 952 ea541face66b
equal deleted inserted replaced
948:21eb99277b75 949:627fc020bb12
     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     <!-- Create an empty hg repo to use when converting remote tags into hashes-->
       
    10     <exec executable="hg" dir="${ant['temp.build.dir']}">
       
    11         <arg value="init"/>
       
    12         <arg value="emptyRepo"/>
       
    13     </exec>
       
    14 
       
    15 <#assign fileset = "" />
     9 <#assign fileset = "" />
    16 <#assign sync_list = "" />
    10 <#assign sync_list = "" />
    17 <#assign bom_list  = "" />
    11 <#assign bom_list  = "" />
    18 <#assign change_list  = "" />
    12 <#assign change_list  = "" />
    19 <#assign count = 0 />
    13 <#assign count = 0 />
    32                 <!-- Work out cache location from source location -->
    26                 <!-- Work out cache location from source location -->
    33                 <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/"/>
    34                 <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/"/>
    35             </then>
    29             </then>
    36         </if>
    30         </if>
    37         
    31 	
    38         <!-- Convert source tag/branch to to changeset hash, in case it's a local tag on the server -->
       
    39         <exec executable="hg" dir="${ant['temp.build.dir']}/emptyRepo" outputproperty="sf.sourcesync.${count}.checksum">
       
    40             <arg value="in"/>
       
    41             <arg value="${pkg_detail.source}"/>
       
    42             <arg value="-r"/>
       
    43             <arg value="${pkg_detail.pattern}"/>
       
    44             <arg value="-l"/>
       
    45             <arg value="1"/>
       
    46             <arg value="-n"/>
       
    47             <arg value="--template"/>
       
    48             <arg value="{node|short}"/>
       
    49             <arg value="-q"/>
       
    50         </exec>
       
    51         
       
    52         <if>
    32         <if>
    53             <and>
    33             <and>
    54                 <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
    34                 <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
    55                 <available file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" type="dir"/>
    35                 <available file="${dollar}{sf.spec.sourcesync.cachelocation.${count}}" type="dir"/>
    56             </and>
    36             </and>
   100                 </if>
    80                 </if>
   101                 <!-- Update to required revision -->
    81                 <!-- Update to required revision -->
   102                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
    82                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
   103                     <arg value="update"/>
    83                     <arg value="update"/>
   104                     <arg value="-r"/>
    84                     <arg value="-r"/>
   105                     <arg value="${dollar}{sf.sourcesync.${count}.checksum}"/>
    85                     <arg value="${pkg_detail.pattern}"/>
       
    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"/>
   106                 </exec>
    91                 </exec>
   107             </then>
    92             </then>
   108             <else>
    93             <else>
   109                 <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
    94                 <echo message="Clone from ${pkg_detail.source} to ${ant['build.drive']}${pkg_detail.dst}"/>
   110                 <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
    95                 <exec executable="hg" dir="${ant['build.drive']}/" failonerror="true">
   115                 </exec>
   100                 </exec>
   116                 <!-- Update to required version -->
   101                 <!-- Update to required version -->
   117                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
   102                 <exec executable="hg" dir="${ant['build.drive']}${pkg_detail.dst}" failonerror="true">
   118                     <arg value="update"/>
   103                     <arg value="update"/>
   119                     <arg value="-r"/>
   104                     <arg value="-r"/>
   120                     <arg value="${dollar}{sf.sourcesync.${count}.checksum}"/>
   105                     <arg value="${pkg_detail.pattern}"/>
       
   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"/>
   121                 </exec>
   111                 </exec>
   122                 <if>
   112                 <if>
   123                     <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
   113                     <isset property="sf.spec.sourcesync.cachelocation.${count}"/>
   124                     <then>
   114                     <then>
   125                         <forget>
   115                         <forget>