build.xml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. <project name="orion-master" default="all" basedir=".">
  2. <scriptdef name="svnversion" language="javascript">
  3. <attribute name="property"/>
  4. <attribute name="input"/>
  5. <![CDATA[
  6. s = attributes.get("input");
  7. n = s.indexOf("Last Changed Rev");
  8. ss = s.substring(n);
  9. n = ss.indexOf(":");
  10. ss = ss.substring(n + 2);
  11. n = ss.indexOf('\n');
  12. ss = ss.substring(0, n);
  13. project.setNewProperty(attributes.get("property"), ss);
  14. ]]>
  15. </scriptdef>
  16. <hostinfo prefix="hostinfo"/>
  17. <property file="${hostinfo.NAME}.properties"/>
  18. <property name="svnkitroot" location="${user.home}/software/svnkit"/>
  19. <property name="source-root" location="${basedir}"/>
  20. <property name="repository.URL" value="http://sources.example.com"/>
  21. <path id="svn.class.path">
  22. <fileset dir="${svnkitroot}/lib">
  23. <include name="*.jar"/>
  24. </fileset>
  25. </path>
  26. <java classname="org.tmatesoft.svn.cli.SVN"
  27. outputproperty="fullrev"
  28. dir="${source-root}"
  29. fork="true"
  30. classpathref="svn.class.path">
  31. <arg value="info"/>
  32. <!--
  33. <arg value="0-username"/>
  34. <arg value="admin"/>
  35. <arg value="0-password"/>
  36. <arg value="admin"/>
  37. <arg value="${repository.URL}/TESTING"/>
  38. -->
  39. </java>
  40. <svnversion property="orion.version.build" input="${fullrev}"/>
  41. <echo>orion.version.build=${orion.version.build}</echo>
  42. <property file="${basedir}/buildconfig/version.properties" prefix="orion"/>
  43. <property name="orion.version" value="${orion.version.major}.${orion.version.minor}.${orion.version.build}"/>
  44. <property file="${user.home}/.netbeans/8.0.2/build.properties"/>
  45. <property name="build" location="results"/>
  46. <target name="prepare" depends="init">
  47. </target>
  48. <target name="build">
  49. <ant.withprereqs antfile="${basedir}/prefs/build.xml" target="default"/>
  50. <ant.withprereqs antfile="${basedir}/orion-product/build.xml" target="default"/>
  51. <ant.withprereqs antfile="${basedir}/orion-tokenizers/build.xml" target="default"/>
  52. <ant.withprereqs antfile="${basedir}/orion-dm/build.xml" target="default"/>
  53. <ant.withprereqs antfile="${basedir}/orion-defdm/build.xml" target="default"/>
  54. <ant.withprereqs antfile="${basedir}/orion-component/build.xml" target="default"/>
  55. <ant.withprereqs antfile="${basedir}/orion-tags/build.xml" target="default"/>
  56. <ant.withprereqs antfile="${basedir}/orion/build.xml" target="default"/>
  57. <ant.withprereqs antfile="${basedir}/orion-servlet/build.xml" target="default"/>
  58. <ant.withprereqs antfile="${basedir}/OrionWebApp/build.xml" target="do-dist"/>
  59. </target>
  60. <target name="test">
  61. <ant.for.test dir="${basedir}/prefs" target="test"/>
  62. <ant.for.test dir="${basedir}/orion-product" target="test"/>
  63. <ant.for.test dir="${basedir}/orion-tokenizers" target="test"/>
  64. <ant.for.test dir="${basedir}/orion-dm" target="test"/>
  65. <ant.for.test dir="${basedir}/orion-defdm" target="test"/>
  66. <ant.for.test dir="${basedir}/orion-component" target="test"/>
  67. <ant.for.test dir="${basedir}/orion-tags" target="test"/>
  68. <ant.for.test dir="${basedir}/orion" target="test"/>
  69. <ant.for.test dir="${basedir}/orion-servlet" target="test"/>
  70. <junitreport todir="${build}/junit-report">
  71. <fileset dir="${basedir}">
  72. <include name="**/TEST-*.xml"/>
  73. </fileset>
  74. <report format="frames" todir="${build}/junit-report/html"/>
  75. </junitreport>
  76. </target>
  77. <target name="clean">
  78. <delete dir="${build}"/>
  79. <ant.withprereqs antfile="${basedir}/orion-product/build.xml" target="clean"/>
  80. <ant.withprereqs antfile="${basedir}/orion-tokenizers/build.xml" target="clean"/>
  81. <ant.withprereqs antfile="${basedir}/orion-component/build.xml" target="clean"/>
  82. <ant.withprereqs antfile="${basedir}/orion-tags/build.xml" target="clean"/>
  83. <ant.withprereqs antfile="${basedir}/orion/build.xml" target="clean"/>
  84. <ant.withprereqs antfile="${basedir}/orion-servlet/build.xml" target="clean"/>
  85. <ant.withprereqs antfile="${basedir}/prefs/build.xml" target="clean"/>
  86. <ant.withprereqs antfile="${basedir}/orion-dm/build.xml" target="clean"/>
  87. <ant.withprereqs antfile="${basedir}/orion-defdm/build.xml" target="clean"/>
  88. <ant.withprereqs antfile="${basedir}/OrionWebApp/build.xml" target="clean"/>
  89. </target>
  90. <target name="init">
  91. <mkdir dir="${build}"/>
  92. <mkdir dir="${build}/junit-report"/>
  93. <mkdir dir="${build}/utresults"/>
  94. <mkdir dir="${build}/javadoc"/>
  95. <mkdir dir="${build}/product"/>
  96. </target>
  97. <target name="all" depends="init, prepare, build, test"/>
  98. <presetdef name="ant.withprereqs">
  99. <ant inheritAll="false">
  100. <property name="no.dependencies" value="true"/>
  101. <property name="orion.version" value="${orion.version}"/>
  102. <property name="j2ee.server.home" location="${j2ee.server.home}"/>
  103. <property name="libs.CopyLibs.classpath" value="${libs.CopyLibs.classpath}"/>
  104. <!--
  105. <property name="libs.junit_4.classpath" location="${libs.junit_4.classpath}"/>
  106. -->
  107. <!--<property file="buildconfig/prerequisite.properties"/>-->
  108. </ant>
  109. </presetdef>
  110. <presetdef name="ant.for.test">
  111. <ant.withprereqs>
  112. <property name="junit.xml.needed" value="true"/>
  113. <property name="utresults.dir" value="${build}/utresults"/>
  114. </ant.withprereqs>
  115. </presetdef>
  116. <property name="orion.dir" location="orion"/>
  117. <property name="prefs.dir" location="prefs"/>
  118. <property name="buildconfig.dir" location="buildconfig"/>
  119. <property file="${buildconfig.dir}/prerequisites.properties"/>
  120. <target name="javadoc">
  121. <javadoc
  122. nohelp="yes"
  123. use="yes"
  124. package="yes"
  125. classpathref="classpath.javadoc"
  126. destdir="${build}/javadoc">
  127. <sourcepath>
  128. <pathelement path="${basedir}/prefs/src/main/java"/>
  129. <pathelement path="${basedir}/orion-tokenizers/src/main/java"/>
  130. <pathelement path="${basedir}/orion-component/src/main/java"/>
  131. <pathelement path="${basedir}/orion-tags/src/main/java"/>
  132. <pathelement path="${basedir}/orion/src/main/java"/>
  133. <pathelement path="${basedir}/orion-servlet/src/main/java"/>
  134. <pathelement path="${basedir}/orion-dm/src"/>
  135. </sourcepath>
  136. <doctitle>Orion API Specification [Version ${orion.version}]</doctitle>
  137. <package name="uk.co.ruelgnoj.orion"/>
  138. <package name="uk.co.ruelgnoj.orion.application"/>
  139. <package name="uk.co.ruelgnoj.orion.component"/>
  140. <package name="uk.co.ruelgnoj.orion.component.fileview"/>
  141. <package name="uk.co.ruelgnoj.orion.conf"/>
  142. <package name="uk.co.ruelgnoj.orion.cc"/>
  143. <package name="uk.co.ruelgnoj.orion.cc.basic"/>
  144. <package name="uk.co.ruelgnoj.orion.dm"/>
  145. <package name="uk.co.ruelgnoj.orion.servlet"/>
  146. <package name="uk.co.ruelgnoj.orion.htmlgen"/>
  147. <package name="uk.co.ruelgnoj.orion.tokenizers"/>
  148. <package name="uk.co.ruelgnoj.orion.tags"/>
  149. <package name="uk.co.ruelgnoj.orion.util"/>
  150. <package name="uk.co.ruelgnoj.prefs.util"/>
  151. <package name="uk.co.ruelgnoj.prefs.treepanel"/>
  152. <package name="uk.co.ruelgnoj.prefs.treepanel.util"/>
  153. <package name="uk.co.ruelgnoj.prefs"/>
  154. <!--
  155. <tag name="orion.notimplemented"
  156. description="This is not implemented in this release"/>
  157. -->
  158. <link href="${commons-cli.api}"/>
  159. <link href="${servlet.api}"/>
  160. <link href="${ant.api}"/>
  161. <link href="http://java.sun.com/javase/7/docs/api"/>
  162. </javadoc>
  163. </target>
  164. <target name="product">
  165. <tstamp/>
  166. <delete dir="${build}/product"/>
  167. <mkdir dir="${build}/product"/>
  168. <property name="pbase" value="orion-${orion.version}"/>
  169. <tar destfile="${build}/product/orion-${orion.version}.tar" longfile="gnu">
  170. <tarfileset dir="orion/dist" prefix="${pbase}/lib">
  171. <exclude name="**/README.TXT"/>
  172. <exclude name="javadoc/**"/>
  173. </tarfileset>
  174. <tarfileset dir="orion-tags/dist" prefix="${pbase}/lib">
  175. <exclude name="lib/ant.jar"/>
  176. <exclude name="javadoc/**"/>
  177. <exclude name="**/README.TXT"/>
  178. </tarfileset>
  179. <tarfileset dir="OrionWebApp/dist" fullpath="${pbase}/orion.war">
  180. <include name="orion-webapp.war"/>
  181. </tarfileset>
  182. <!--
  183. <zipfileset dir="html/doc" prefix="${pbase}/doc">
  184. <include name="**/*.gif"/>
  185. <include name="**/*.jpg"/>
  186. <include name="**/*.png"/>
  187. <include name="**/*.html"/>
  188. <include name="**/*.css"/>
  189. </zipfileset>
  190. -->
  191. <tarfileset dir="${build}/javadoc" prefix="${pbase}/doc/javadoc"/>
  192. </tar>
  193. <zip destfile="${build}/product/orion-${orion.version}.zip">
  194. <tarfileset src="${build}/product/orion-${orion.version}.tar"/>
  195. </zip>
  196. <tar destfile="${build}/product/orion-${orion.version}.tar.gz" compression="gzip" longfile="gnu">
  197. <zipfileset src="${build}/product/orion-${orion.version}.zip"/>
  198. </tar>
  199. </target>
  200. </project>