Project

General

Profile

1 113 jones
<?xml version="1.0"?>
2
<!--
3 670 jones
  *   '$RCSfile$'
4
  *     Authors: Matt Jones, Chad Berkley, Jivka Bojilova
5
  *   Copyright: 2000 Regents of the University of California and the
6
  *              National Center for Ecological Analysis and Synthesis
7
  * For Details: http://www.nceas.ucsb.edu/
8 113 jones
  *
9 670 jones
  *    '$Author$'
10
  *      '$Date$'
11
  *  '$Revision$'
12 666 jones
  *
13 670 jones
  * Build file for the Ant cross-platform build system for metacat
14
  * See http://jakarta.apache.org for details on Ant
15 113 jones
  *
16 303 jones
  * usage: ant [compile|jar|install|jdoc]
17 666 jones
  *
18
  * This program is free software; you can redistribute it and/or modify
19
  * it under the terms of the GNU General Public License as published by
20
  * the Free Software Foundation; either version 2 of the License, or
21
  * (at your option) any later version.
22
  *
23
  * This program is distributed in the hope that it will be useful,
24
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26
  * GNU General Public License for more details.
27
  *
28
  * You should have received a copy of the GNU General Public License
29
  * along with this program; if not, write to the Free Software
30
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31 113 jones
-->
32 329 jones
<project name="metacat" default="jar" basedir=".">
33 113 jones
   <target name="init">
34 685 jones
      <property name="jdbc-connect"
35
                value="jdbc:oracle:thin:@dev.nceas.ucsb.edu:1521:exp"/>
36 877 jones
      <property name="dbDriver" value="oracle.jdbc.driver.OracleDriver"/>
37 780 berkley
      <property name="installdir" value="/opt/tomcat/webapps/jones" />
38 348 jones
      <property name="name" value="metacat"/>
39
      <property name="Name" value="MetaCat"/>
40 877 jones
      <property name="release" value="1.0.1"/>
41 685 jones
      <property name="web-base-url"
42 811 bojilova
                value="http://knb.ecoinformatics.org"/>
43 845 jones
      <property name="replication-path" value="/servlet/replication"/>
44 780 berkley
      <property name="servlet-path" value="/jones/servlet/metacat"/>
45
      <property name="html-path" value="/jones"/>
46
      <property name="image-path" value="/img/jones" />
47 833 jones
      <property name="style-path" value="/jones/style"/>
48 861 jones
      <property name="server" value="dev.nceas.ucsb.edu"/>
49 780 berkley
      <property name="replication-log" value="/tmp/metacatreplication.log"/>
50 852 jones
      <property name="user" value="jones"/>
51 858 jones
      <property name="password" value="your-pw-goes-here"/>
52 832 jones
      <property name="config-dir" value="${installdir}" />
53
      <property name="default-style" value="knb" />
54 877 jones
      <property name="eml-module" value="mdstandards/eml" />
55
      <property name="eml-version" value="2.0.0beta6" />
56
      <property name="eml-tag" value="RELEASE_EML_2_0_0_BETA_6" />
57
      <property name="cvsroot"
58
                value=":ext:jones@cvs.nceas.ucsb.edu:/cvs/pbi" />
59 348 jones
60 588 berkley
      <filter token="jdbc-connect" value="${jdbc-connect}"/>
61 614 bojilova
      <filter token="install-dir" value="${installdir}"/>
62 586 berkley
      <filter token="server" value="${server}"/>
63
      <filter token="replication-log" value="${replication-log}"/>
64 348 jones
      <filter token="release" value="${release}"/>
65
      <filter token="servlet-path" value="${servlet-path}"/>
66 359 bojilova
      <filter token="html-path" value="${html-path}"/>
67 362 jones
      <filter token="user" value="${user}"/>
68
      <filter token="password" value="${password}"/>
69 409 berkley
      <filter token="image-path" value="${image-path}"/>
70 828 jones
      <filter token="style-path" value="${style-path}"/>
71 506 jones
      <filter token="web-base-url" value="${web-base-url}"/>
72 525 berkley
      <filter token="replication-path" value="${replication-path}"/>
73 832 jones
      <filter token="config-dir" value="${config-dir}"/>
74
      <filter token="default-style" value="${default-style}"/>
75 877 jones
      <filter token="eml-version" value="${eml-version}"/>
76
77 254 jones
      <property name="srcdir" value="./src" />
78 348 jones
      <property name="build.dir" value="./build"/>
79
      <property name="build.src" value="${build.dir}/src"/>
80
      <property name="build.dest" value="${build.dir}/classes"/>
81 516 jones
      <property name="build.docs" value="${build.dir}/docs"/>
82 348 jones
      <property name="build.samples" value="${build.dir}/samples"/>
83
      <property name="build.tests" value="${build.dir}/tests"/>
84
      <property name="build.data" value="${build.dir}/data"/>
85 806 jones
      <property name="build.javadocs" value="${build.dir}/docs/api"/>
86 409 berkley
      <property name="build.img" value="/opt/httpd/html${image-path}"/>
87 348 jones
88 806 jones
      <property name="dist.dir" value="./dist"/>
89
      <property name="ver.dir" value="${dist.dir}/${name}-${release}"/>
90
      <property name="ver.src" value="${ver.dir}/src"/>
91
92 113 jones
      <property name="oracle_home"
93 329 jones
                value="/oracle01/app/oracle/product/8.1.6" />
94
      <property name="toolsdir"
95
                value="/usr/local/devtools" />
96 113 jones
      <property name="xmlp"
97 329 jones
                value="${toolsdir}/OracleXSU111/lib/xmlparserv2.jar" />
98 185 jones
      <property name="xmlp2"
99 329 jones
                value="${toolsdir}/xerces-1_1_3/xerces.jar" />
100 113 jones
      <property name="jdbc"
101
                value="${oracle_home}/jdbc/lib/classes111.zip" />
102
      <property name="jserv"
103
                value="/usr/lib/apache/ApacheJServ.jar" />
104
      <property name="jsdk"
105 329 jones
                value="${toolsdir}/jakarta-tomcat/lib/servlet.jar" />
106 213 jones
      <property name="srb"
107
                value="lib/srbrmi" />
108 798 jones
      <property name="cos"
109
                value="lib/cos.jar" />
110 113 jones
      <property name="cpath"
111 798 jones
                value="${xmlp2}:${xmlp}:${jdbc}:${jserv}:${jsdk}:${srb}:${cos}"/>
112 254 jones
      <property name="package.home" value="edu/ucsb/nceas/metacat" />
113 348 jones
114 113 jones
   </target>
115
116 348 jones
   <target name="prepare" depends="init">
117
      <mkdir dir="${build.dir}"/>
118
      <mkdir dir="${build.src}"/>
119
      <mkdir dir="${build.dest}"/>
120 516 jones
      <mkdir dir="${build.javadocs}"/>
121 348 jones
122 822 jones
      <copy todir="${build.src}" filtering="yes">
123
        <fileset dir="${srcdir}">
124
          <include name="edu/**"/>
125
          <include name="com/**"/>
126 877 jones
          <include name="**/*.sql"/>
127 822 jones
          <exclude name="**/CVS*"/>
128
          <exclude name="**/.#*"/>
129
        </fileset>
130
      </copy>
131 348 jones
   </target>
132
133
   <target name="compile" depends="prepare">
134
       <javac srcdir="${build.src}"
135
              destdir="${build.dest}"
136 257 jones
              classpath="${cpath}"
137
              excludes="**/*.sql" />
138 822 jones
       <copy file="lib/metacat.properties"
139
             tofile="${build.dest}/${package.home}/metacat.properties"
140
             filtering="yes" />
141
       <copy file="lib/srbProps.properties"
142
             tofile="${build.dest}/${package.home}/srbProps.properties"/>
143 113 jones
   </target>
144
145 204 jones
   <target name="jar" depends="compile">
146 353 jones
       <delete file="${build.dir}/${name}.jar" />
147 822 jones
       <copy todir="${build.dest}">
148
         <fileset dir="lib/srbrmi"/>
149
       </copy>
150 635 jones
       <jar jarfile="${build.dir}/${name}.jar" basedir="${build.dest}"
151
            excludes="**/protocols/" />
152 113 jones
   </target>
153 635 jones
154
   <target name="protocol" depends="compile">
155
       <delete file="${build.dir}/protocol.jar" />
156
       <jar jarfile="${build.dir}/protocol.jar" basedir="${build.dest}"
157
            includes="**/protocols/" />
158
   </target>
159 113 jones
160 877 jones
   <target name="getdtd" depends="prepare">
161
        <cvs cvsRoot="${cvsroot}"
162
             package="${eml-module}"
163
             tag="${eml-tag}"
164
             dest="${build.src}" />
165 879 jones
       <mkdir dir="lib/dtd" />
166
       <copy todir="lib/dtd" filtering="yes">
167
         <fileset dir="${build.src}/${eml-module}">
168
           <include name="*.dtd"/>
169
         </fileset>
170
         <mapper type="glob" from="eml-*.dtd" to="eml-*-${eml-version}.dtd" />
171
       </copy>
172 877 jones
   </target>
173
174 879 jones
   <target name="instdtd">
175 877 jones
       <mkdir dir="${installdir}/dtd" />
176
       <copy todir="${installdir}/dtd" filtering="yes">
177 879 jones
         <fileset dir="lib/dtd">
178 877 jones
           <include name="*.dtd"/>
179
         </fileset>
180
       </copy>
181
   </target>
182
183
   <target name="dtdsql" depends="prepare">
184
     <echo/>
185
     <echo>Registering the DTDs with the new Metacat instance...</echo>
186
     <sql driver="${dbDriver}"
187
          classpath="${jdbc}"
188
          url="${jdbc-connect}"
189
          userid="${user}"
190
          password="${password}"
191
          src="${build.src}/loaddtd.sql" />
192
   </target>
193
194 204 jones
   <target name="install" depends="jar">
195 329 jones
       <mkdir dir="${installdir}/WEB-INF/lib" />
196 822 jones
       <copy file="${build.dir}/${name}.jar"
197
             tofile="${installdir}/WEB-INF/lib/${name}.jar" />
198
       <copy file="${xmlp2}"
199
             tofile="${installdir}/WEB-INF/lib/xerces.jar" />
200
       <copy file="${xmlp}"
201
             tofile="${installdir}/WEB-INF/lib/xmlparserv2.jar" />
202
       <copy file="${jdbc}"
203
             tofile="${installdir}/WEB-INF/lib/oracle-jdbc111.jar" />
204
       <copy file="${cos}"
205
             tofile="${installdir}/WEB-INF/lib/cos.jar" />
206
       <copy file="lib/web.xml"
207
             tofile="${installdir}/WEB-INF/web.xml" />
208
       <copy todir="${build.img}" filtering="no">
209
         <fileset dir="lib">
210
           <include name="**/*.jpg"/>
211
           <include name="**/*.png"/>
212
           <include name="**/*.gif"/>
213
         </fileset>
214
       </copy>
215
       <copy todir="${installdir}" filtering="yes">
216
         <fileset dir="lib">
217
           <exclude name="*.jar"/>
218
           <exclude name="*.properties"/>
219
           <exclude name="web.xml"/>
220
           <exclude name="**/srbrmi*"/>
221
         </fileset>
222
       </copy>
223 810 berkley
       <mkdir dir="${installdir}/dtd" />
224 877 jones
       <echo>
225
             ***********************************************************
226
              Remember to copy the appropriate DTD
227
              files to the installation dtd directory. If you have cvs
228
              access this can be done using "ant instdtd".
229
230
              Remember to register the default DTDs by running the
231
              "${build.src}/loaddtd.sql script". This is most easily
232
              done by using the "ant dtdsql" which will run it for you.
233
             ***********************************************************
234
       </echo>
235 204 jones
   </target>
236
237 113 jones
   <target name="clean" depends="init">
238 822 jones
       <delete dir="${build.dir}" />
239 113 jones
   </target>
240
241 516 jones
   <target name="jdoc" depends="prepare">
242 822 jones
       <javadoc packagenames="edu.ucsb.nceas.*"
243 516 jones
           sourcepath="${build.src}"
244
           destdir="${build.javadocs}"
245 113 jones
           author="true"
246
           version="true"
247
           use="true"
248 348 jones
           windowtitle="${Name} API"
249
           doctitle="&lt;h1&gt;${Name}&lt;/h1&gt;"
250 113 jones
           bottom="&lt;i&gt;Copyright &#169; 2000 National Center for Ecological Analysis and Synthesis. All Rights Reserved.&lt;/i&gt;"
251
       />
252
   </target>
253
254 879 jones
   <target name="dist" depends="jar,protocol,jdoc,getdtd">
255 806 jones
      <mkdir dir="${dist.dir}"/>
256
      <delete dir="${ver.dir}" />
257
      <mkdir dir="${ver.dir}"/>
258
      <copy todir="${ver.dir}">
259
        <fileset dir="." excludes="**/CVS* **/.#* **/src* **/test* **/build*"/>
260
      </copy>
261
      <copy todir="${ver.dir}" file="build.xml"/>
262
      <copy todir="${ver.dir}/lib" file="${build.dir}/metacat.jar"/>
263
      <copy todir="${ver.dir}/lib" file="${build.dir}/protocol.jar"/>
264
      <copy todir="${ver.dir}/docs/dev">
265
        <fileset dir="${build.dir}/docs"/>
266
      </copy>
267
268
      <delete file="./lib/${name}-${release}.zip"/>
269
      <zip zipfile="./lib/${name}-${release}.zip" basedir="${dist.dir}"/>
270
      <delete file="./lib/${name}-${release}.tar.gz" />
271
      <tar tarfile="./lib/${name}-${release}.tar" basedir="${dist.dir}"/>
272
      <gzip zipfile="./lib/${name}-${release}.tar.gz"
273
                src="./lib/${name}-${release}.tar"/>
274
      <delete file="./lib/${name}-${release}.tar" />
275
  </target>
276
277
  <target name="distsrc" depends="dist">
278
      <mkdir dir="${ver.src}"/>
279
      <copy todir="${ver.src}">
280
        <fileset dir="./src"/>
281
      </copy>
282
283
      <delete file="./lib/${name}-src-${release}.zip"/>
284
      <zip zipfile="./lib/${name}-src-${release}.zip" basedir="${dist.dir}"/>
285
      <delete file="./lib/${name}-src-${release}.tar.gz" />
286
      <tar tarfile="./lib/${name}-src-${release}.tar" basedir="${dist.dir}"/>
287
      <gzip zipfile="./lib/${name}-src-${release}.tar.gz"
288
                src="./lib/${name}-src-${release}.tar"/>
289
      <delete file="./lib/${name}-src-${release}.tar" />
290 807 jones
      <delete dir="${dist.dir}"/>
291 806 jones
  </target>
292
293 113 jones
</project>