build.xml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="ieat2" basedir="." default="war" xmlns:ivy="antlib:org.apache.ivy.ant">
  3. <property name="app.name" value="ieat"/>
  4. <property name="lib.dir" value="lib/"/>
  5. <property name="web.dir" value="web/"/>
  6. <property name="build.version" value="2.0.0"/>
  7. <property name="build.java.version" value="1.8"/>
  8. <property name="build.dir" value="build/"/>
  9. <property name="build.bootstrap.path" value="/usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar"/>
  10. <property name="build.lib" value="${lib.dir}/war/"/>
  11. <property name="build.warfile" value="${build.dir}/${app.name}-${build.version}.war"/>
  12. <property name="source.dir" value="src/"/>
  13. <property name="target.dir" value="${build.dir}/${app.name}/WEB-INF/classes"/>
  14. <property name="compile.verbose" value="false"/>
  15. <property name="compile.debug" value="true"/>
  16. <property name="compile.deprecation" value="true"/>
  17. <property name="compile.optimize" value="false"/>
  18. <property name="compile.nowarn" value="false"/>
  19. <property name="compile.lib" value="${lib.dir}/compile"/>
  20. <property name="compile.include.ant" value="false"/>
  21. <path id="compile.classpath">
  22. <pathelement location="${target.dir}"/>
  23. <fileset dir="${compile.lib}" includes="*.jar"/>
  24. </path>
  25. <property name="ant.lib" value="${user.home}/.ant/lib"/>
  26. <property name="ivy.signal" value="${ant.lib}/ivy.jar"/>
  27. <available property="ivy.installed" file="${ivy.signal}"/>
  28. <tstamp>
  29. <format property="build.time" pattern="MM/dd/yyyy hh:mm aa z" />
  30. </tstamp>
  31. <target name="help" description="Display build help">
  32. <echo>iEat v${build.version}</echo>
  33. <echo>To see list of targets, use ant -p</echo>
  34. </target>
  35. <target name="ivy.install" unless="ivy.installed">
  36. <mkdir dir="${ant.lib}"/>
  37. <get dest="${ant.lib}/ivy.jar"
  38. src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar"/>
  39. </target>
  40. <target name="ivy.tree" depends="ivy.install" description="Show the dependency tree.">
  41. <ivy:dependencytree />
  42. </target>
  43. <target name="ivy.resolve" depends="ivy.install" description="Use ivy to resolve dependencies">
  44. <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]"/>
  45. </target>
  46. <target name="compile" depends="ivy.resolve" description="Compile source files">
  47. <mkdir dir="${target.dir}"/>
  48. <javac srcdir="${source.dir}"
  49. verbose="${compile.verbose}"
  50. destdir="${target.dir}"
  51. debug="${compile.debug}"
  52. deprecation="${compile.deprecation}"
  53. optimize="${compile.optimize}"
  54. nowarn="${compile.nowarn}"
  55. includeantruntime="${compile.include.ant}"
  56. bootclasspath="${build.bootstrap.path}"
  57. target="${build.java.version}"
  58. source="${build.java.version}">
  59. <classpath refid="compile.classpath" />
  60. </javac>
  61. </target>
  62. <target name="war" depends="compile" description="Create application WAR">
  63. <mkdir dir="${build.dir}"/>
  64. <war warfile="${build.warfile}" webxml="web.xml">
  65. <lib dir="${build.lib}"/>
  66. <fileset dir="web"/>
  67. <classes dir="${target.dir}"/>
  68. </war>
  69. </target>
  70. <target name="clean" description="Delete build files">
  71. <delete dir="${build.dir}" />
  72. </target>
  73. <target name="clean.full" depends="clean" description="Delete build files and dependencies">
  74. <delete dir="${ivy.signal}"/>
  75. <delete dir="${lib.dir}"/>
  76. <ivy:cleancache/>
  77. </target>
  78. </project>