/protocols/ss7/release/build.xml

http://mobicents.googlecode.com/ · XML · 208 lines · 174 code · 30 blank · 4 comment · 0 complexity · 197045b475eb1f1f92fef2cd5c33a5e0 MD5 · raw file

  1. <?xml version="1.0"?>
  2. <project name="ss7.release.sf" default="package" basedir=".">
  3. <!-- Components Versions -->
  4. <property name="release.version" value="2.0.0-SNAPSHOT" />
  5. <property name="ss7.version" value="2.0.0-SNAPSHOT" />
  6. <property name="asn.version" value="1.0.0.CR1" />
  7. <property name="stream.version" value="1.0.0.CR1" />
  8. <property name="protocols.build.list" value="parent,m3ua,mtp,isup,sccp,tcap,map" />
  9. <property name="protocols.copy.list" value="m3ua,mtp,isup,sccp,tcap,map" />
  10. <!-- Directories Configuration -->
  11. <property name="checkout.basedir" value="checkout" />
  12. <property name="zip.dir" value="${basedir}/zip" />
  13. <property name="zip.file.destination.dir" value="${basedir}/upload" />
  14. <property name="zip.file.name" value="mobicents-ss7-${release.version}" />
  15. <property name="failoncopy" value="true" />
  16. <property name="test.skip" value="true" />
  17. <!-- Definition -->
  18. <property name="release.name" value="SNAPSHOT" />
  19. <property environment="sys" />
  20. <condition property="mvn.executable" value="${sys.M2_HOME}\bin\mvn.bat" else="mvn">
  21. <os family="windows" />
  22. </condition>
  23. <taskdef onerror="fail" resource="net/sf/antcontrib/antlib.xml">
  24. <classpath>
  25. <pathelement location="${ss7.release.sf}/../ant-contrib-1.0b3.jar" />
  26. </classpath>
  27. </taskdef>
  28. <target name="init" >
  29. <echo message="Java Version: ${java.version}"/>
  30. <echo message="Java home: ${java.home}"/>
  31. <fail message="Unsupported Java version: ${java.version}. Make sure that the version of the Java compiler is 1.7 (7.0) or greater.">
  32. <condition>
  33. <not>
  34. <or>
  35. <contains string="${java.version}" substring="1.7" casesensitive="false" />
  36. </or>
  37. </not>
  38. </condition>
  39. </fail>
  40. </target>
  41. <target name="checkout" description="Checks out src and downloads everything that is required." depends="checkout-sources" />
  42. <target name="build" description="Builds components sources and everything associated." depends="build-sources-asn,build-sources-stream,build-sources-ss7" />
  43. <target name="copy" depends="copy-asn,copy-protocols-ss7" />
  44. <target name="package" description="Builds builds binary package." depends="init,clean,checkout,zip.src,build,notes,copy,zip.binary" />
  45. <target name="clean">
  46. <echo>Cleaning checkout directory</echo>
  47. <delete dir="${ant.file.ss7.release.sf}/../${checkout.basedir}" verbose="false" />
  48. <echo>Cleaning work directory</echo>
  49. <delete dir="${zip.dir}" verbose="false" />
  50. <echo>Cleaning upload directory</echo>
  51. <delete dir="${zip.file.destination.dir}" verbose="false" />
  52. </target>
  53. <target name="checkout-sources">
  54. <echo>Checking out sources</echo>
  55. <mkdir dir="${checkout.basedir}"/>
  56. <exec executable="${mvn.executable}" dir="${ant.file.mobicents.release}/../">
  57. <arg line="validate -P checkout -Dcheckout.dir=${checkout.basedir}" />
  58. </exec>
  59. </target>
  60. <target name="build-sources-asn">
  61. <exec executable="${mvn.executable}" dir="${checkout.basedir}/asn">
  62. <arg line="install -Prelease,set-svn-revision -Dmaven.test.skip=${test.skip} -Drelease.name=${release.name}" />
  63. </exec>
  64. </target>
  65. <target name="build-sources-stream">
  66. <exec executable="${mvn.executable}" dir="${checkout.basedir}/stream">
  67. <arg line="install -P release,set-svn-revision -Dmaven.test.skip=${test.skip} -Drelease.name=${release.name}" />
  68. </exec>
  69. </target>
  70. <target name="build-sources-ss7">
  71. <echo>Build SS7</echo>
  72. <exec executable="${mvn.executable}" dir="${checkout.basedir}/ss7">
  73. <arg line="-f pom.xml install -P release,set-svn-revision -Dmaven.test.skip=${test.skip} -Drelease.name=${release.name}" />
  74. </exec>
  75. </target>
  76. <target name="notes">
  77. <copy todir="${zip.dir}" file="${basedir}/README.TXT" failonerror="${failoncopy}">
  78. <filterchain>
  79. <replacetokens>
  80. <token key="VERSION" value="${release.version}" />
  81. <token key="ASN_VERSION" value="${asn.version}" />
  82. <token key="STREAM_VERSION" value="${stream.version}" />
  83. <token key="SS7_VERSION" value="${ss7.version}" />
  84. </replacetokens>
  85. </filterchain>
  86. </copy>
  87. </target>
  88. <target name="copy-asn">
  89. <echo>Copy ASN</echo>
  90. <copy todir="${zip.dir}/asn" failonerror="${failoncopy}">
  91. <fileset dir="${checkout.basedir}/asn/release/${release.name}">
  92. <include name="**" />
  93. </fileset>
  94. </copy>
  95. </target>
  96. <target name="copy-stream">
  97. <echo>Copy Stream</echo>
  98. <copy todir="${zip.dir}/stream" failonerror="${failoncopy}">
  99. <fileset dir="${checkout.basedir}/stream/release/${release.name}">
  100. <include name="**" />
  101. </fileset>
  102. </copy>
  103. </target>
  104. <target name="copy-protocols-ss7">
  105. <echo>Copy SS7 Service</echo>
  106. <copy todir="${zip.dir}/ss7/mobicents-ss7-service" failonerror="${failoncopy}">
  107. <fileset dir="${checkout.basedir}/ss7/service/target/mobicents-ss7-service">
  108. <include name="**" />
  109. </fileset>
  110. </copy>
  111. <echo>Copy sgw</echo>
  112. <copy todir="${zip.dir}/ss7/mobicents-sgw" failonerror="${failoncopy}">
  113. <fileset dir="${checkout.basedir}/ss7/sgw/boot/target/mobicents-sgw">
  114. <include name="**" />
  115. </fileset>
  116. </copy>
  117. <echo>Copy Shell</echo>
  118. <copy todir="${zip.dir}/ss7/shell" failonerror="${failoncopy}">
  119. <fileset dir="${checkout.basedir}/ss7/management/shell/target/release">
  120. <include name="**" />
  121. </fileset>
  122. </copy>
  123. <echo>Copy Protocols</echo>
  124. <copy todir="${zip.dir}/ss7/protocols" failonerror="${failoncopy}">
  125. <fileset dir="${checkout.basedir}/ss7/tcap/release/point">
  126. <include name="**" />
  127. </fileset>
  128. <fileset dir="${checkout.basedir}/ss7/map/release/point">
  129. <include name="**" />
  130. </fileset>
  131. <!---->
  132. <fileset dir="${checkout.basedir}/ss7/isup/release/point">
  133. <include name="**" />
  134. </fileset>
  135. </copy>
  136. <echo>Copy Native</echo>
  137. <copy todir="${zip.dir}/ss7/native" failonerror="${failoncopy}">
  138. <fileset dir="${checkout.basedir}/ss7/hardware/dahdi/native/linux/target">
  139. <include name="*.so" />
  140. </fileset>
  141. <fileset dir="${checkout.basedir}/ss7/hardware/dialogic/native/linux/target">
  142. <include name="*.so" />
  143. </fileset>
  144. </copy>
  145. <echo>Copy Docs</echo>
  146. <copy todir="${zip.dir}/ss7/docs" failonerror="${failoncopy}">
  147. <fileset dir="${checkout.basedir}/ss7/docs/jdocbook-mobicents/target/docbook/publish">
  148. <include name="**" />
  149. </fileset>
  150. </copy>
  151. <echo>Copy Build File</echo>
  152. <copy file="${checkout.basedir}/ss7/release/release-build.xml" tofile="${zip.dir}/ss7/build.xml" failonerror="${failoncopy}" />
  153. </target>
  154. <target name="zip.binary">
  155. <zip destfile="${zip.file.destination.dir}/${zip.file.name}.zip">
  156. <zipfileset dir="${zip.dir}" excludes="zip">
  157. </zipfileset>
  158. </zip>
  159. <antcall target="checksum">
  160. <param name="source.file" value="${zip.file.destination.dir}/${zip.file.name}.zip" />
  161. <param name="algorithm" value="sha1" />
  162. </antcall>
  163. </target>
  164. <target name="zip.src">
  165. <mkdir dir="${zip.file.destination.dir}"/>
  166. <zip destfile="${zip.file.destination.dir}/${zip.file.name}-src.zip">
  167. <zipfileset dir="${checkout.basedir}" excludes="zip">
  168. </zipfileset>
  169. </zip>
  170. <antcall target="checksum">
  171. <param name="source.file" value="${zip.file.destination.dir}/${zip.file.name}-src.zip" />
  172. <param name="algorithm" value="sha1" />
  173. </antcall>
  174. </target>
  175. <target name="checksum">
  176. <checksum file="${source.file}" algorithm="${algorithm}" fileext=".${algorithm}.asc" forceOverwrite="yes" />
  177. </target>
  178. </project>