Advertisement
Guest User

Untitled

a guest
Feb 26th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.58 KB | None | 0 0
  1. build.major.number=00
  2. build.revision.number=00
  3. build.minor.number=00
  4.  
  5. <?xml version="1.0" encoding="UTF-8"?>
  6. <project name="project" default="current-number">
  7.  
  8. <property file="build_info.properties"/>
  9. <property name="build.number" value="${build.major.number}.${build.minor.number}.${build.revision.number}"/>
  10.  
  11. <target name="current-number">
  12. <echo>Current build number:${build.number}</echo>
  13. </target>
  14.  
  15. <target name="compile">
  16. <antcall target="revision"></antcall>
  17. </target>
  18.  
  19. <target name="dist">
  20. <antcall target="minor"></antcall>
  21. </target>
  22.  
  23. <target name="revision">
  24. <propertyfile file="build_info.properties">
  25. <entry key="build.revision.number" type="int" operation="+" value="1" pattern="00"/>
  26. </propertyfile>
  27. </target>
  28.  
  29. <target name="minor">
  30. <propertyfile file="build_info.properties">
  31. <entry key="build.minor.number" type="int" operation="+" value="1" pattern="00"/>
  32. <entry key="build.revision.number" type="int" value="0" pattern="00"/>
  33. </propertyfile>
  34. </target>
  35.  
  36. <target name="major">
  37. <propertyfile file="build_info.properties">
  38. <entry key="build.major.number" type="int" operation="+" value="1" pattern="00"/>
  39. <entry key="build.minor.number" type="int" value="0" pattern="00"/>
  40. <entry key="build.revision.number" type="int" value="0" pattern="00"/>
  41. </propertyfile>
  42. </target>
  43.  
  44. <target name="all">
  45. <propertyfile file="build_info.properties">
  46. <entry key="build.major.number" type="int" operation="+" value="1" pattern="00"/>
  47. <entry key="build.minor.number" type="int" operation="+" value="1" pattern="00"/>
  48. <entry key="build.revision.number" type="int" operation="+" value="1" pattern="00"/>
  49. </propertyfile>
  50. </target>
  51.  
  52. </project>
  53.  
  54. <?xml version="1.0" encoding="UTF-8"?>
  55. <project name="Numbers" default="dist" basedir=".">
  56.  
  57. <property name="version.file" location="${basedir}/version.properties"/>
  58.  
  59. <target name="inc.revision.properties" unless="no.increment.revision">
  60. <propertyfile file="${version.file}">
  61. <entry key="minor.number" default="00" operation="=" pattern="00" type="int"/>
  62. <entry key="major.number" default="00" operation="=" pattern="00" type="int"/>
  63. <entry key="build.number" default="00" operation="+" pattern="00" type="int"/>
  64. </propertyfile>
  65. </target>
  66.  
  67. <target name="inc.minor.properties" unless="no.increment.minor">
  68. <propertyfile file="${version.file}">
  69. <entry key="minor.number" default="00" operation="+" pattern="00" type="int"/>
  70. <entry key="major.number" default="00" operation="=" pattern="00" type="int"/>
  71. <entry key="build.number" value="00" operation="=" type="int"/>
  72. </propertyfile>
  73. </target>
  74.  
  75. <target name="inc.major" if="inc.major">
  76. <property name="no.increment.minor" value="true" />
  77. <property name="no.increment.revision" value="true" />
  78. <propertyfile file="${version.file}">
  79. <entry key="minor.number" value="00" operation="=" pattern="00" type="int"/>
  80. <entry key="major.number" default="00" operation="+" pattern="00" type="int"/>
  81. <entry key="build.number" value="00" operation="=" pattern="00" type="int"/>
  82. </propertyfile>
  83. <load.version.info/>
  84. </target>
  85.  
  86. <target name="inc.minor" depends="inc.major,inc.minor.properties">
  87. <property name="no.increment.revision" value="true"/>
  88. <load.version.info/>
  89. </target>
  90.  
  91. <target name="inc.revision" depends="inc.major,inc.revision.properties">
  92. <load.version.info/>
  93. </target>
  94.  
  95. <macrodef name="load.version.info">
  96. <sequential>
  97. <property file="${version.file}"/>
  98. <checksum file="${version.file}" property="sha1.number" algorithm="SHA" format="CHECKSUM"/>
  99. <echo>Version: ${major.number}.${minor.number}.${build.number}</echo>
  100. <echo>SHA1: ${sha1.number}</echo>
  101. </sequential>
  102. </macrodef>
  103.  
  104. <target name="compile" depends="inc.revision" description="Compile Task"/>
  105.  
  106. <target name="dist" depends="inc.minor, compile" description="Dest Task"/>
  107.  
  108. </project>
  109.  
  110. <target name="checkout">
  111. <echo>Checking out revision ${param_SubProjectSvnREV} of project: ${param_SubProjectSvnName}</echo>
  112. <svn username="${svnant.repository.user}" password="${svnant.repository.passwd}">
  113. <checkout url="${svnant.latest.url}/${param_SubProjectSvnName}/" revision="${param_SubProjectSvnREV}" destPath="${all.projects.dir}/${param_SubProjectDirName}" />
  114. <info target="${all.projects.dir}/${param_SubProjectDirName}" ></info>
  115. </svn>
  116. <propertyfile file="${all.projects.dir}/${param_SubProjectDirName}/build_info.properties" comment="Modify build numbers in a properties file.">
  117. <entry key="build.number" type="int" operation="+" value="1" pattern="00"/><!--increment it here -->
  118. <entry key="build.revision" type="string" value="${svn.info.rev}"/>
  119. <entry key="build.major.number" default="01"/><!-- can do some logic here to increase the values, or write value from somewhere else-->
  120. <entry key="build.minor.number" default="01"/><!-- can do some logic here to increase the values, or write value from somewhere else-->
  121. </propertyfile>
  122. </target>
  123.  
  124. <target name="compile" depends="checkout">
  125. <property file="${all.projects.dir}/${param_SubProjectDirName}/build_info.properties" />
  126. <mkdir dir="${release.name}/${param_SubProjectDirName}/${build.major.number}.${build.minor.number}.${build.number}" />
  127. <!-- compile it to the new folder, an so on... -->
  128. <!-- after all, if the build wass successfull, commit the file 'build_info.properties' back to repository -->
  129. </target>
  130.  
  131. <entry key="build.major.number" value="${global.release.major}"></entry>
  132. <entry key="build.minor.number" value="${global.release.minor}"></entry>
  133.  
  134. <entry key="build.major.number" type="int" operation="+" default="1" pattern="00"/>
  135.  
  136. <target name="increase.micro" if ="microNotEquals9">
  137. <propertyfile file="build.properties">
  138. <entry key="micro.number" default="0" operation="+" pattern="0" type="int"/>
  139. </propertyfile>
  140.  
  141. </target>
  142.  
  143. <target name="increase.minor" if = "microEquals9andMinorNotEquals9">
  144. <propertyfile file="build.properties">
  145. <entry key="minor.number" default="0" operation="+" pattern="0" type="int"/>
  146. <entry key="micro.number" value="0" operation="=" pattern="0" type="int"/>
  147. </propertyfile>
  148.  
  149. </target>
  150.  
  151. <target name="increase.major" if = "microAndMinorEquals9" >
  152. <propertyfile file="build.properties">
  153. <entry key="major.number" default="0" operation="+" pattern="0" type="int"/>
  154. <entry key="minor.number" value="0" operation="=" pattern="0" type="int"/>
  155. <entry key="micro.number" value="0" operation="=" pattern="0" type="int"/>
  156. </propertyfile>
  157.  
  158.  
  159. </target>
  160.  
  161. <condition property="minorEquals9">
  162. <equals arg1="${minor.number}" arg2="9"/>
  163. </condition>
  164.  
  165. <condition property="microEquals9andMinorNotEquals9">
  166. <and>
  167. <equals arg1="${micro.number}" arg2="9"/>
  168. <not><equals arg1="${minor.number}" arg2="9"/></not>
  169. </and>
  170. </condition>
  171.  
  172. <condition property="microAndMinorEquals9">
  173. <and>
  174. <equals arg1="${micro.number}" arg2="9"/>
  175. <equals arg1="${minor.number}" arg2="9"/>
  176. </and>
  177. </condition>
  178.  
  179. <condition property="microNotEquals9">
  180. <not><equals arg1="${micro.number}" arg2="9"/></not>
  181. </condition>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement