Changeset 6583


Ignore:
Timestamp:
06/29/10 08:34:44 (9 years ago)
Author:
curtis
Message:

Populate version information from Git, where applicable.

Location:
trunk/ant
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ant/common.xml

    r6032 r6583  
    3131  </target> 
    3232 
    33   <target name="init-svn"> 
    34     <!-- determine SVN and version statistics --> 
     33  <target name="init-version"> 
     34    <!-- check for SVN versioning information --> 
    3535    <property name="svn.path" value="${basedir}/.svn/entries"/> 
    3636    <available file="${svn.path}" property="svn.present"/> 
     
    3939      <then> 
    4040        <loadfile property="svn.entries" srcFile="${svn.path}"/> 
     41        <propertyregex property="svn.revision" input="${svn.entries}" 
     42          regexp="([^\n]*\n){3}([^\n]*)" select="\2"/> 
     43        <propertyregex property="svn.url" input="${svn.entries}" 
     44          regexp="([^\n]*\n){4}([^\n]*)" select="\2"/> 
     45        <propertyregex property="svn.root" input="${svn.entries}" 
     46          regexp="([^\n]*\n){5}([^\n]*)" select="\2"/> 
     47        <propertyregex property="svn.date" input="${svn.entries}" 
     48          regexp="([^\n]*\n){9}([^\n]*)" select="\2"/> 
     49        <propertyregex property="svn.changed" input="${svn.entries}" 
     50          regexp="([^\n]*\n){10}([^\n]*)" select="\2"/> 
     51      </then> 
     52    </if> 
    4153 
    42         <propertyregex property="svn.revision" 
    43           input="${svn.entries}" regexp="([^\n]*\n){3}([^\n]*)" select="\2"/> 
     54    <!-- check for Git versioning information --> 
     55    <property name="git.path" value="${root.dir}/.git"/> 
     56    <available file="${git.path}" property="git.present"/> 
     57    <if> 
     58      <isset property="git.present"/> 
     59      <then> 
     60        <exec executable="git" outputproperty="git.info" 
     61          failifexecutionfails="false"> 
     62          <arg value="show"/> 
     63          <arg value="-s"/> 
     64          <arg value="HEAD"/> 
     65        </exec> 
     66        <propertyregex property="git.commit" input="${git.info}" 
     67          regexp="commit ([a-f0-9]+)" select="\1"/> 
     68        <propertyregex property="svn.revision" input="${git.info}" 
     69          regexp=".*git-svn-id: [^@]+@([0-9]+)" select="\1"/> 
     70        <propertyregex property="svn.url" 
     71          input="${git.info}" regexp=".*git-svn-id: ([^@]+)" select="\1"/> 
     72        <propertyregex property="svn.root" input="${svn.url}" 
     73          regexp="(.*)(/trunk)|(/branches)|(/tags).*" select="\1"/> 
     74        <propertyregex property="svn.date" 
     75          input="${git.info}" regexp="Date: +([^\n]*)" select="\1"/> 
     76        <property name="svn.changed" value="unknown"/> 
     77      </then> 
     78    </if> 
    4479 
    45         <propertyregex property="svn.url" 
    46           input="${svn.entries}" regexp="([^\n]*\n){4}([^\n]*)" select="\2"/> 
    47  
    48         <propertyregex property="svn.root" 
    49           input="${svn.entries}" regexp="([^\n]*\n){5}([^\n]*)" select="\2"/> 
    50  
    51         <propertyregex property="svn.date" 
    52           input="${svn.entries}" regexp="([^\n]*\n){9}([^\n]*)" select="\2"/> 
    53  
    54         <propertyregex property="svn.changed" 
    55           input="${svn.entries}" regexp="([^\n]*\n){10}([^\n]*)" select="\2"/> 
    56  
    57         <propertyregex property="release.version" defaultValue="trunk" 
     80    <!-- set release version from repository URL --> 
     81    <property name="release.version" value="unknown"/> 
     82    <if> 
     83      <isset property="svn.url"/> 
     84      <then> 
     85        <propertyregex property="release.version" override="true" 
     86          input="${svn.url}" regexp=".*/(trunk).*" replace="\1"/> 
     87        <propertyregex property="release.version" override="true" 
    5888          input="${svn.url}" regexp=".*/branches/([^/]*).*" 
    5989          replace="dev \1"/> 
  • trunk/ant/global.xml

    r6026 r6583  
    106106    </if> 
    107107    <if> 
    108       <isset property="svn.revision"/> 
     108      <isset property="release.version"/> 
    109109      <then> 
    110110        <echo> 
    111111=========== VERSIONING PROPERTIES =========== 
    112         svn.revision = ${svn.revision} 
    113              svn.url = ${svn.url} 
    114             svn.root = ${svn.root} 
    115             svn.date = ${svn.date} 
    116          svn.changed = ${svn.changed} 
    117      release.version = ${release.version}</echo> 
     112         release.version = ${release.version}</echo> 
     113        <if> 
     114          <isset property="svn.revision"/> 
     115          <then> 
     116            <echo>            svn.revision = ${svn.revision} 
     117                 svn.url = ${svn.url} 
     118                svn.root = ${svn.root} 
     119                svn.date = ${svn.date} 
     120             svn.changed = ${svn.changed}</echo> 
     121          </then> 
     122        </if> 
     123        <if> 
     124          <isset property="git.commit"/> 
     125          <then> 
     126            <echo>              git.commit = ${git.commit}</echo> 
     127          </then> 
     128        </if> 
    118129      </then> 
    119130    </if> 
  • trunk/ant/java.xml

    r6026 r6583  
    169169 
    170170  <target name="init" 
    171     depends="init-title, init-timestamp, init-svn, init-manifest-cp"/> 
     171    depends="init-title, init-timestamp, init-version, init-manifest-cp"/> 
    172172 
    173173  <target name="init-manifest-cp"> 
Note: See TracChangeset for help on using the changeset viewer.