|
1 <?xml version="1.0" encoding="UTF-8"?> |
|
2 <!-- |
|
3 |
|
4 Licensed to Jasig under one or more contributor license |
|
5 agreements. See the NOTICE file distributed with this work |
|
6 for additional information regarding copyright ownership. |
|
7 Jasig licenses this file to you under the Apache License, |
|
8 Version 2.0 (the "License"); you may not use this file |
|
9 except in compliance with the License. You may obtain a |
|
10 copy of the License at the following location: |
|
11 |
|
12 http://www.apache.org/licenses/LICENSE-2.0 |
|
13 |
|
14 Unless required by applicable law or agreed to in writing, |
|
15 software distributed under the License is distributed on an |
|
16 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|
17 KIND, either express or implied. See the License for the |
|
18 specific language governing permissions and limitations |
|
19 under the License. |
|
20 |
|
21 --> |
|
22 <project name="cas" default="deploy" basedir="."> |
|
23 |
|
24 <!-- ******************* PROPERTIES ************************* --> |
|
25 <property environment="env" /> |
|
26 <property name="build.target.dir" value="target" /> |
|
27 |
|
28 <property name="catalina.home" value="${env.CATALINA_HOME}" /> |
|
29 <property name="tomcat.log.patterns" value="**/*.log, **/*.txt" /> |
|
30 <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> |
|
31 <property name="cas.resources.dir" value="/etc/cas" /> |
|
32 |
|
33 <!-- ******************* MAVEN PROPERTIES******************** --> |
|
34 <condition property="mavenExecutableFile" value="mvn.bat" else="mvn"> |
|
35 <os family="windows" /> |
|
36 </condition> |
|
37 <var name="mavenExecutable" value="${env.M2_HOME}\bin\${mavenExecutableFile}"/> |
|
38 <available file="${mavenExecutable}" property="maven.exec.exists" /> |
|
39 |
|
40 <if> |
|
41 <not> |
|
42 <isset property="${maven.exec.exists}" /> |
|
43 </not> |
|
44 <then> |
|
45 <var name="mavenExecutable" value="${env.MAVEN_HOME}\bin\${mavenExecutableFile}"/> |
|
46 <available file="${mavenExecutable}" property="maven.exec.exists" /> |
|
47 </then> |
|
48 </if> |
|
49 <fail unless="${maven.exec.exists}" message="Cannot determine the maven installation location through M2_HOME or MAVEN_HOME environment variables."/> |
|
50 |
|
51 <!-- ***************** TOMCAT PROPERTIES ******************** --> |
|
52 <condition property="tomcatStartupFile" value="startup.bat" else="startup"> |
|
53 <os family="windows" /> |
|
54 </condition> |
|
55 <property name="tomcatStartup" value="${catalina.home}\bin\${tomcatStartupFile}" /> |
|
56 |
|
57 <condition property="tomcatShutDownFile" value="shutdown.bat" else="shutdown"> |
|
58 <os family="windows" /> |
|
59 </condition> |
|
60 <property name="tomcatShutDown" value="${catalina.home}\bin\${tomcatShutDownFile}" /> |
|
61 |
|
62 <!-- ********************* TARGETS *************************** --> |
|
63 <target name="cleanTomcatLogs" description="Clean tomcat log files"> |
|
64 <delete failonerror="false"> |
|
65 <fileset dir="${catalina.home}/logs" includes="${tomcat.log.patterns}" /> |
|
66 <fileset dir="${catalina.home}/bin" includes="${tomcat.log.patterns}" /> |
|
67 <fileset dir="${catalina.home}" includes="${tomcat.log.patterns}" /> |
|
68 </delete> |
|
69 </target> |
|
70 |
|
71 <target name="clean" description="Clean deployed artifacts and logs"> |
|
72 <delete file="${catalina.home}/webapps/${ant.project.name}.war" verbose="false" failonerror="true" /> |
|
73 <delete file="${catalina.home}\conf\Catalina\localhost\cas.xml" verbose="false" failonerror="true" /> |
|
74 <delete file="${catalina.home}/bin/${ant.project.name}.log" verbose="false" failonerror="true" /> |
|
75 |
|
76 <delete dir="${catalina.home}/webapps/${ant.project.name}" verbose="false" includeemptydirs="true" failonerror="true" /> |
|
77 <delete file="${catalina.home}/webapps/cas-management.war" verbose="false" includeemptydirs="true" failonerror="true" /> |
|
78 <delete dir="${catalina.home}/webapps/cas-management" verbose="false" includeemptydirs="true" failonerror="true" /> |
|
79 <delete dir="/etc/cas/log" verbose="false" includeemptydirs="true" failonerror="true" /> |
|
80 |
|
81 <delete dir="${catalina.home}/work/Catalina" verbose="false" includeemptydirs="true" failonerror="true"/> |
|
82 |
|
83 |
|
84 <exec dir="${basedir}" executable="${mavenExecutable}"> |
|
85 <arg value="clean" /> |
|
86 <arg value="-Dmaven.test.skip=true" /> |
|
87 </exec> |
|
88 <antcall target="cleanTomcatLogs" /> |
|
89 </target> |
|
90 |
|
91 <target name="compile" description="Compile artifacts" depends="clean"> |
|
92 <exec dir="${basedir}" executable="${mavenExecutable}"> |
|
93 <arg value="compile" /> |
|
94 <arg value="-Dmaven.test.skip=true" /> |
|
95 </exec> |
|
96 </target> |
|
97 |
|
98 <target name="test" description="Compile artifacts and run tests" depends="clean"> |
|
99 <exec dir="${basedir}" executable="${mavenExecutable}"> |
|
100 <arg value="test" /> |
|
101 </exec> |
|
102 </target> |
|
103 |
|
104 <target name="copy" description="Copy artifacts over to tomcat" depends="package"> |
|
105 <copy overwrite="true" |
|
106 todir="${catalina.home}\webapps" |
|
107 file="target/${ant.project.name}.war" |
|
108 verbose="true" |
|
109 /> |
|
110 |
|
111 <mkdir dir="${cas.resources.dir}" /> |
|
112 <copy overwrite="true" verbose="true" todir="${cas.resources.dir}" flatten="true"> |
|
113 <fileset dir="${basedir}/etc" includes="*.conf" /> |
|
114 </copy> |
|
115 <copy overwrite="true" verbose="true" todir="${cas.resources.dir}" flatten="true"> |
|
116 <fileset dir="${basedir}/etc" includes="*.xml" /> |
|
117 </copy> |
|
118 <copy overwrite="true" verbose="true" todir="${cas.resources.dir}" flatten="true"> |
|
119 <fileset dir="${basedir}/etc" includes="*.properties" /> |
|
120 </copy> |
|
121 |
|
122 </target> |
|
123 |
|
124 <target name="package" description="Package src artifacts and prepare for deployment" depends="clean"> |
|
125 <exec dir="${basedir}" executable="${mavenExecutable}"> |
|
126 <arg value="install" /> |
|
127 <arg value="-Dmaven.test.skip=true" /> |
|
128 </exec> |
|
129 </target> |
|
130 |
|
131 |
|
132 <target name="deploy" depends="copy" description="Clean, package and deploy artifacts" /> |
|
133 |
|
134 <target name="help" description="Prints instructions on how to run the build."> |
|
135 <echo message="Use 'ant -projecthelp' to see all available commands" /> |
|
136 </target> |
|
137 |
|
138 </project> |
|
139 |