Guest User

Untitled

a guest
Nov 18th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.28 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="tomcat-demo" default="war" basedir=".">
  3. <property file="build.properties" />
  4.  
  5. <property name="build-directory" value="build" />
  6. <property name="war-file-name" value="${project-name}.war" />
  7. <property name="source-directory" value="src" />
  8. <property name="classes-directory" value="${build-directory}/classes" />
  9. <property name="web-directory" value="WebContent" />
  10. <property name="web-xml-file" value="${web-directory}/WEB-INF/web.xml" />
  11. <tstamp prefix="build-info">
  12. <format property="current-date" pattern="d-MMMM-yyyy" locale="en" />
  13. <format property="current-time" pattern="hh:mm:ss a z" locale="en" />
  14. <format property="year-month-day" pattern="yyyy-MM-dd" locale="en" />
  15. </tstamp>
  16.  
  17. <property name="ftp-remotedir" value="uploaded-wars/${project-name}/${build-info.year-month-day}" />
  18.  
  19. <path id="tomcat.class.path">
  20. <fileset dir="${tomcat.home}/lib">
  21. <include name="**/*.jar"/>
  22. <include name="**/*.zip"/>
  23. </fileset>
  24. <pathelement location="${tomcat.home}/bin/bootstrap.jar"/>
  25. <pathelement location="${tomcat.home}/bin/tomcat-juli.jar"/>
  26. </path>
  27.  
  28. <path id="compile.classpath">
  29. <fileset dir="${web-directory}/WEB-INF/lib">
  30. <include name="*.jar"/>
  31. </fileset>
  32. </path>
  33.  
  34. <taskdef name="start" classname="org.apache.catalina.ant.StartTask" ><classpath refid="tomcat.class.path"/></taskdef>
  35. <taskdef name="stop" classname="org.apache.catalina.ant.StopTask" ><classpath refid="tomcat.class.path"/></taskdef>
  36. <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" ><classpath refid="tomcat.class.path"/></taskdef>
  37. <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" ><classpath refid="tomcat.class.path"/></taskdef>
  38.  
  39. <target name="stop" description="stop application in tomcat">
  40. <stop url="${tomcat-manager-url}" username="${tomcat-manager-username}"
  41. password="${tomcat-manager-password}" path="/${project-name}" />
  42. </target>
  43.  
  44. <target name="start" description="start application in tomcat">
  45. <start url="${tomcat-manager-url}" username="${tomcat-manager-username}"
  46. password="${tomcat-manager-password}" path="/${project-name}" />
  47. </target>
  48.  
  49. <target name="undeploy" description="undeploy from tomcat">
  50. <undeploy
  51. failonerror="no"
  52. url="${tomcat-manager-url}"
  53. username="${tomcat-manager-username}"
  54. password="${tomcat-manager-password}"
  55. path="/${project-name}"
  56. />
  57. </target>
  58.  
  59. <target name="deploy" description="deploy to tomcat">
  60. <echo>deploying from client</echo>
  61. <deploy
  62. url="${tomcat-manager-url}"
  63. username="${tomcat-manager-username}"
  64. password="${tomcat-manager-password}"
  65. path="/${project-name}"
  66. update="true"
  67. war="file:/vagrant/ant_deploy_tomcat_example/${build-directory}/${war-file-name}"
  68. />
  69. </target>
  70.  
  71. <target name="tomcat-start">
  72. <java classname="org.apache.catalina.startup.Bootstrap" fork="true" classpathref="tomcat.class.path">
  73. <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
  74. <arg line="start"/>
  75. </java>
  76. </target>
  77.  
  78. <target name="tomcat-stop" depends="tomcat-check-status" if="tomcat.started">
  79. <java classname="org.apache.catalina.startup.Bootstrap" fork="true" classpathref="tomcat.class.path">
  80. <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
  81. <arg line="stop"/>
  82. </java>
  83. <sleep seconds="5"/>
  84. </target>
  85.  
  86. <target name="tomcat-check-status">
  87. <condition property="tomcat.started">
  88. <socket server="localhost" port="8080"/>
  89. </condition>
  90. </target>
  91.  
  92. <target name="init">
  93. <mkdir dir="${classes-directory}"/>
  94. </target>
  95.  
  96. <target name="compile" depends="init" >
  97. <javac destdir="${classes-directory}" debug="true" srcdir="src">
  98. <classpath refid="compile.classpath"/>
  99. <classpath refid="tomcat.class.path"/>
  100. </javac>
  101. </target>
  102.  
  103. <target name="war" depends="compile">
  104. <mkdir dir="${build-directory}" />
  105. <delete file="${build-directory}/${war-file-name}" />
  106. <war warfile="${build-directory}/${war-file-name}" webxml="${web-xml-file}">
  107. <classes dir="${classes-directory}" />
  108. <fileset dir="${web-directory}">
  109. <!-- Need to exclude it since webxml is an attribute of the war tag above -->
  110. <exclude name="WEB-INF/web.xml" />
  111. </fileset>
  112. <manifest>
  113. <attribute name="Built-By" value="${builder}" />
  114. <attribute name="Built-On" value="${build-info.current-date}" />
  115. <attribute name="Built-At" value="${build-info.current-time}" />
  116. </manifest>
  117. </war>
  118. </target>
  119.  
  120. <target name="ftp" depends="" description="upload war file to server">
  121. <ftp
  122. server="${ftp-server}" remotedir="${ftp-remotedir}"
  123. userid="${ftp-userid}" password="${ftp-password}"
  124. action="mkdir" verbose="yes">
  125. </ftp>
  126. <ftp
  127. server="${ftp-server}" remotedir="${ftp-remotedir}"
  128. userid="${ftp-userid}" password="${ftp-password}"
  129. action="send" verbose="yes" depends="yes">
  130. <fileset file="${build-directory}/${war-file-name}" />
  131. </ftp>
  132. </target>
  133.  
  134. <target name="mail-upload-complete">
  135. <mail from="ant@cakelycakes.com"
  136. tolist="bigcakes@cakelycakes.com"
  137. subject="${war-file-name} was uploaded to the server"
  138. message="The ${war-file-name} file was uploaded to ${ftp-server} in ${ftp-remotedir}"/>
  139. </target>
  140.  
  141. <target name="build-and-ftp" depends="war,ftp,mail-upload-complete" />
  142. <target name="build-and-deploy" depends="war,deploy" />
  143.  
  144. <target name="clean">
  145. <delete dir="${build-directory}" />
  146. </target>
  147.  
  148. </project>
Add Comment
Please, Sign In to add comment