Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="tomcat-demo" default="war" basedir=".">
- <property file="build.properties" />
- <property name="build-directory" value="build" />
- <property name="war-file-name" value="${project-name}.war" />
- <property name="source-directory" value="src" />
- <property name="classes-directory" value="${build-directory}/classes" />
- <property name="web-directory" value="WebContent" />
- <property name="web-xml-file" value="${web-directory}/WEB-INF/web.xml" />
- <tstamp prefix="build-info">
- <format property="current-date" pattern="d-MMMM-yyyy" locale="en" />
- <format property="current-time" pattern="hh:mm:ss a z" locale="en" />
- <format property="year-month-day" pattern="yyyy-MM-dd" locale="en" />
- </tstamp>
- <property name="ftp-remotedir" value="uploaded-wars/${project-name}/${build-info.year-month-day}" />
- <path id="tomcat.class.path">
- <fileset dir="${tomcat.home}/lib">
- <include name="**/*.jar"/>
- <include name="**/*.zip"/>
- </fileset>
- <pathelement location="${tomcat.home}/bin/bootstrap.jar"/>
- <pathelement location="${tomcat.home}/bin/tomcat-juli.jar"/>
- </path>
- <path id="compile.classpath">
- <fileset dir="${web-directory}/WEB-INF/lib">
- <include name="*.jar"/>
- </fileset>
- </path>
- <taskdef name="start" classname="org.apache.catalina.ant.StartTask" ><classpath refid="tomcat.class.path"/></taskdef>
- <taskdef name="stop" classname="org.apache.catalina.ant.StopTask" ><classpath refid="tomcat.class.path"/></taskdef>
- <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" ><classpath refid="tomcat.class.path"/></taskdef>
- <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" ><classpath refid="tomcat.class.path"/></taskdef>
- <target name="stop" description="stop application in tomcat">
- <stop url="${tomcat-manager-url}" username="${tomcat-manager-username}"
- password="${tomcat-manager-password}" path="/${project-name}" />
- </target>
- <target name="start" description="start application in tomcat">
- <start url="${tomcat-manager-url}" username="${tomcat-manager-username}"
- password="${tomcat-manager-password}" path="/${project-name}" />
- </target>
- <target name="undeploy" description="undeploy from tomcat">
- <undeploy
- failonerror="no"
- url="${tomcat-manager-url}"
- username="${tomcat-manager-username}"
- password="${tomcat-manager-password}"
- path="/${project-name}"
- />
- </target>
- <target name="deploy" description="deploy to tomcat">
- <echo>deploying from client</echo>
- <deploy
- url="${tomcat-manager-url}"
- username="${tomcat-manager-username}"
- password="${tomcat-manager-password}"
- path="/${project-name}"
- update="true"
- war="file:/vagrant/ant_deploy_tomcat_example/${build-directory}/${war-file-name}"
- />
- </target>
- <target name="tomcat-start">
- <java classname="org.apache.catalina.startup.Bootstrap" fork="true" classpathref="tomcat.class.path">
- <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
- <arg line="start"/>
- </java>
- </target>
- <target name="tomcat-stop" depends="tomcat-check-status" if="tomcat.started">
- <java classname="org.apache.catalina.startup.Bootstrap" fork="true" classpathref="tomcat.class.path">
- <jvmarg value="-Dcatalina.home=${tomcat.home}"/>
- <arg line="stop"/>
- </java>
- <sleep seconds="5"/>
- </target>
- <target name="tomcat-check-status">
- <condition property="tomcat.started">
- <socket server="localhost" port="8080"/>
- </condition>
- </target>
- <target name="init">
- <mkdir dir="${classes-directory}"/>
- </target>
- <target name="compile" depends="init" >
- <javac destdir="${classes-directory}" debug="true" srcdir="src">
- <classpath refid="compile.classpath"/>
- <classpath refid="tomcat.class.path"/>
- </javac>
- </target>
- <target name="war" depends="compile">
- <mkdir dir="${build-directory}" />
- <delete file="${build-directory}/${war-file-name}" />
- <war warfile="${build-directory}/${war-file-name}" webxml="${web-xml-file}">
- <classes dir="${classes-directory}" />
- <fileset dir="${web-directory}">
- <!-- Need to exclude it since webxml is an attribute of the war tag above -->
- <exclude name="WEB-INF/web.xml" />
- </fileset>
- <manifest>
- <attribute name="Built-By" value="${builder}" />
- <attribute name="Built-On" value="${build-info.current-date}" />
- <attribute name="Built-At" value="${build-info.current-time}" />
- </manifest>
- </war>
- </target>
- <target name="ftp" depends="" description="upload war file to server">
- <ftp
- server="${ftp-server}" remotedir="${ftp-remotedir}"
- userid="${ftp-userid}" password="${ftp-password}"
- action="mkdir" verbose="yes">
- </ftp>
- <ftp
- server="${ftp-server}" remotedir="${ftp-remotedir}"
- userid="${ftp-userid}" password="${ftp-password}"
- action="send" verbose="yes" depends="yes">
- <fileset file="${build-directory}/${war-file-name}" />
- </ftp>
- </target>
- <target name="mail-upload-complete">
- <mail from="[email protected]"
- tolist="[email protected]"
- subject="${war-file-name} was uploaded to the server"
- message="The ${war-file-name} file was uploaded to ${ftp-server} in ${ftp-remotedir}"/>
- </target>
- <target name="build-and-ftp" depends="war,ftp,mail-upload-complete" />
- <target name="build-and-deploy" depends="war,deploy" />
- <target name="clean">
- <delete dir="${build-directory}" />
- </target>
- </project>
Add Comment
Please, Sign In to add comment