build.xml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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="conf.dir" value="conf/"/>
  5. <property name="lib.dir" value="lib/"/>
  6. <property name="web.dir" value="web/"/>
  7. <property name="build.version" value="2.0.0"/>
  8. <property name="build.java.version" value="1.8"/>
  9. <property name="build.dir" value="build/"/>
  10. <property name="build.bootstrap.path" value="/usr/lib/jvm/java-8-openjdk/jre/lib/rt.jar"/>
  11. <property name="build.lib" value="${lib.dir}/war/"/>
  12. <property name="build.warfile" value="${build.dir}/${app.name}-${build.version}.war"/>
  13. <property name="source.dir" value="src/"/>
  14. <property name="target.dir" value="${build.dir}/${app.name}/WEB-INF/classes"/>
  15. <property name="compile.verbose" value="false"/>
  16. <property name="compile.debug" value="true"/>
  17. <property name="compile.deprecation" value="true"/>
  18. <property name="compile.optimize" value="false"/>
  19. <property name="compile.nowarn" value="false"/>
  20. <property name="compile.lib" value="${lib.dir}/compile"/>
  21. <property name="compile.include.ant" value="false"/>
  22. <path id="compile.classpath">
  23. <pathelement location="${target.dir}"/>
  24. <fileset dir="${compile.lib}" includes="*.jar"/>
  25. </path>
  26. <property name="ant.lib" value="${user.home}/.ant/lib"/>
  27. <property name="ivy.jar" value="${ant.lib}/ivy.jar"/>
  28. <available property="ivy.installed" file="${ivy.jar}"/>
  29. <tstamp>
  30. <format property="build.time" pattern="MM/dd/yyyy hh:mm aa z" />
  31. </tstamp>
  32. <target name="help" description="Display build help">
  33. <echo>iEat v${build.version}</echo>
  34. <echo>To see list of targets, use ant -p</echo>
  35. </target>
  36. <target name="ivy.install" unless="ivy.installed">
  37. <mkdir dir="${ant.lib}"/>
  38. <get dest="${ivy.jar}"
  39. src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar"/>
  40. <taskdef resource="org/apache/ivy/ant/antlib.xml"
  41. uri="antlib:org.apache.ivy.ant"/>
  42. <property name="ivy.installed" value="true"/>
  43. </target>
  44. <target name="ivy.tree" depends="ivy.install" description="Show the dependency tree.">
  45. <ivy:dependencytree />
  46. </target>
  47. <target name="ivy.resolve.compile" depends="ivy.install">
  48. <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" conf="compile"/>
  49. </target>
  50. <target name="ivy.resolve.war" depends="ivy.install">
  51. <ivy:retrieve pattern="${lib.dir}/[conf]/[artifact].[ext]" conf="war"/>
  52. </target>
  53. <target name="ivy.resolve.deploy" depends="ivy.install">
  54. <ivy:retrieve pattern="${ant.lib}/[artifact].[ext]" conf="deploy"/>
  55. <taskdef resource="org/apache/catalina/ant/antlib.xml"
  56. uri="antlib:org.apache.catalina.ant"/>
  57. <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" />
  58. <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" />
  59. </target>
  60. <target name="ivy.resolve"
  61. depends="ivy.resolve.compile,ivy.resolve.war,ivy.resolve.deploy"
  62. description="Use ivy to resolve compilation dependencies"/>
  63. <target name="compile" depends="ivy.resolve.compile" description="Compile source files">
  64. <mkdir dir="${target.dir}"/>
  65. <javac srcdir="${source.dir}"
  66. verbose="${compile.verbose}"
  67. destdir="${target.dir}"
  68. debug="${compile.debug}"
  69. deprecation="${compile.deprecation}"
  70. optimize="${compile.optimize}"
  71. nowarn="${compile.nowarn}"
  72. includeantruntime="${compile.include.ant}"
  73. bootclasspath="${build.bootstrap.path}"
  74. target="${build.java.version}"
  75. source="${build.java.version}">
  76. <classpath refid="compile.classpath" />
  77. </javac>
  78. </target>
  79. <target name="war" depends="compile,ivy.resolve.war" description="Create application WAR">
  80. <mkdir dir="${build.dir}"/>
  81. <war warfile="${build.warfile}" webxml="${conf.dir}/web.xml">
  82. <lib dir="${build.lib}"/>
  83. <fileset dir="web"/>
  84. <classes dir="${target.dir}"/>
  85. </war>
  86. </target>
  87. <target name="clean" description="Delete build files">
  88. <delete dir="${build.dir}" />
  89. </target>
  90. <target name="clean.full" depends="clean" description="Delete build files and dependencies">
  91. <delete dir="${ivy.jar}"/>
  92. <delete dir="${lib.dir}"/>
  93. <ivy:cleancache/>
  94. </target>
  95. <property file="${conf.dir}/tomcat.properties"/>
  96. <target name="deploy" depends="war,ivy.resolve.deploy" description="Deploy to tomcat">
  97. <deploy url="http://localhost:8080/manager/text"
  98. username="${tomcat.username}"
  99. password="${tomcat.password}"
  100. update="true"
  101. path="/ieat-${build.version}"
  102. war="file:./${build.warfile}" />
  103. </target>
  104. </project>