2010-04-29 6 views
1

Je travaille actuellement sur un script qui incrémente automatiquement le numéro de version. La version est au format major.minor.build donc je ne peux pas utiliser buildnumber. J'ai réussi à augmenter la propriété dans le fichier comme ceci:Numéro de version de mise à jour Ant dans le fichier mais pas dans le script

<propertyfile file="./build.properties"> 
    <entry key="ver.minor" type="int" operation="+" value="1" pattern="0"/> 
</propertyfile> 

Cela fonctionne, mais ver.minor n'est pas incrémentée dans le script. <property file="build.properties"/> n'aide pas non plus.

Répondre

1

Vous pouvez trouver la réponse/explication sur le blog de Alessandro: http://www.sephiroth.it/weblog/archives/2010/01/update_your_app_version_using_ant_bui.php est ici la cible:

<target name="update-version"> 
<propertyset id="tdate"></propertyset> 
<tstamp> 
    <format property="tdate" pattern="yyyyMMdd"/> 
</tstamp> 
<buildnumber file="build.number"/> 
<echo>updating version to current datetime: ${tdate}</echo> 
<replaceregexp byline="true"> 
    <regexp pattern="public static const BUILD_DATE: String = \'([0-9]+)'"/> 
    <substitution expression="public static const BUILD_DATE: String = '${tdate}'"/> 
    <fileset dir="src/it/sephiroth/somestuff"> 
     <include name="Library.as"/> 
    </fileset> 
</replaceregexp> 

<replaceregexp byline="true"> 
    <regexp pattern="public static const BUILD_NUMBER: String = \'([0-9\.]+)'"/> 
    <substitution expression="public static const BUILD_NUMBER: String = '${build.number}'"/> 
    <fileset dir="src/it/sephiroth/somestuff"> 
     <include name="Library.as"/> 
    </fileset> 
</replaceregexp> 

exemple Alessandro est pour Actionscript qui ne fonctionne pas trop bien sur mon Java, est donc ici ce que je faisais:

<target name="update-version"> 
    <property file="build_info.properties" /> 
    <property name="build.number" value="${build.major.number}.${build.minor.number}.${build.revision.number}" /> 
    <echo>Updating build number: ${build.number}</echo> 
    <propertyset id="tdate" /> 
    <tstamp> 
     <!-- 02.10.2011 21:27 --> 
     <format property="tdate" pattern="MM.dd.yyyy hh:mm" /> 
    </tstamp> 
    <echo>Updating version to current datetime: ${tdate}</echo> 
    <replaceregexp byline="true" 
     match="BUILD_DATE = &quot;([0-9\.]+)&quot;" 
     replace="BUILD_DATE = &quot;${tdate}&quot;"> 
     <fileset dir="src/my/package"> 
      <include name="Application.java" /> 
     </fileset> 
    </replaceregexp> 
    <replaceregexp byline="true" 
     match="BUILD_NUMBER = &quot;([0-9\.]+)&quot;" 
     replace="BUILD_NUMBER = &quot;${build.number}&quot;"> 
     <fileset dir="src/my/package"> 
      <include name="Application.java" /> 
     </fileset> 
    </replaceregexp> 
</target> 

Le seul hic est que vous devez avoir un fichier de propriétés nommé « build_info.properties » avec les trois propriétés en elle.

 
build.major.number=01 
build.minor.number=00 
build.revision.number=0001 
Questions connexes