source: main/tags/3.03/greenstone3/build.xml@ 21156

Last change on this file since 21156 was 14722, checked in by qq6, 17 years ago

updated by Shaoqun

  • Property svn:keywords set to Author Date Id Revision
File size: 43.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- ======================================================================
3 March 2005
4
5 Greenstone3 build and install script
6
7 kjdon
8 ====================================================================== -->
9<project name="greenstone3" default="usage" basedir=".">
10
11 <!-- ============ classpath =================== -->
12
13 <path id="project.classpath">
14 <fileset dir="lib/java">
15 <include name="**/*.jar"/>
16 </fileset>
17 </path>
18
19 <!-- ============ self defined tasks =================== -->
20
21
22 <taskdef name="mysetproxy" classname="org.greenstone.anttasks.MySetProxy" classpath="${basedir}/lib/java/anttasks.jar"/>
23 <taskdef name="getuserandpassword" classname="org.greenstone.anttasks.MyGetUserAndPassword" classpath="${basedir}/lib/java/anttasks.jar"/>
24 <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="project.classpath"/>
25 <taskdef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpath="${basedir}/lib/java/anttasks.jar"/>
26
27
28<!-- ===================== Property Definitions =========================== -->
29
30
31<!--
32
33 Each of the following properties are used in the build script.
34 Values for these properties are set by the first place they are
35 defined, from the following list:
36
37 * Definitions on the "ant" command line (ant -Dfoo=bar compile).
38
39 * Definitions from a "build.properties" file in the top level
40 source directory of this application.
41
42 * Definitions from a "build.properties" file in the user's
43 home directory.
44
45 * Default definitions in this build.xml file.
46
47 You will note below that property values can be composed based on the
48 contents of previously defined properties. This is a powerful technique
49 that helps you minimize the number of changes required when your development
50 environment is modified. Note that property composition is allowed within
51 "build.properties" files as well as in the "build.xml" script.
52
53-->
54
55
56 <property file="build.properties"/>
57 <property file="${user.home}/build.properties"/>
58
59 <!-- get properties from the environment -->
60
61 <property environment="env"/>
62 <property name="build.home" value="${basedir}/build"/>
63 <property name="src.home" value="${basedir}/src/java"/>
64 <property name="src.packages.home" value="${basedir}/src/packages"/>
65 <property name="packages.home" value="${basedir}/packages"/>
66 <!-- this may be set in build.properties, eg if you move the web dir to
67 tomcats webapps directory -->
68
69 <property name="web.home" value="${basedir}/web"/>
70 <!-- jar files needed by applets go here -->
71
72 <property name="web.applet" value="${web.home}/applet"/>
73 <!-- jar files needed by the servlet (and extra ones) go here -->
74
75 <property name="web.lib" value="${web.home}/WEB-INF/lib"/>
76 <!-- other files needed by the servlet go here -->
77
78 <property name="web.classes" value="${web.home}/WEB-INF/classes"/>
79 <!-- jni libraries and java wrappers go here -->
80
81 <property name="lib.jni" value="${basedir}/lib/jni"/>
82
83 <property name="javadocs" value="${basedir}/docs/javadoc"/>
84
85 <property name="app.name" value="greenstone3"/>
86 <property name="app.path" value="/${app.name}"/>
87
88
89 <!-- version number stuff -->
90
91
92 <!-- app.version defaults to trunk -->
93
94 <condition property="app.version" value="trunk">
95 <not><isset property="app.version"/></not>
96 </condition>
97
98 <!-- determine the 'branch path' -->
99
100 <condition property="branch.path" value="trunk">
101 <equals arg1="${app.version}" arg2="trunk"/>
102 </condition>
103 <condition property="branch.path" value="branches/${app.version}">
104 <not><equals arg1="${app.version}" arg2="trunk"/></not>
105 </condition>
106
107
108 <property name="flax.svn.root" value="http://svn.greenstone.org/flax"/>
109
110 <property name="svn.root" value="http://svn.greenstone.org"/>
111<!-- <property name="cvs.root" value=":pserver:[email protected]:2402/usr/local/global-cvs/gsdl-src"/> -->
112
113 <!-- catalina home is set to tomcat basedir is already installed, otherwise
114 use greenstone's tomcat -->
115
116 <condition property="catalina.home" value="${tomcat.installed.path}">
117 <and>
118 <isset property="tomcat.installed.path"/>
119 <not>
120 <equals arg1="" arg2="${tomcat.installed.path}"/>
121 </not>
122 </and>
123 </condition>
124 <property name="catalina.home" value="${packages.home}/tomcat"/>
125
126 <property name="os.linux" value="Linux"/>
127 <property name="os.mac" value="Mac OS X"/>
128 <property name="os.solaris" value="SunOS"/>
129 <property name="os.unix" value="${os.linux},${os.mac},${os.solaris}"/>
130 <property name="os.windows" value="Windows 95,Windows 98,Windows 2000,Windows XP,Windows NT,Windows ME"/> <!-- check this!!!-->
131
132
133 <!-- this is true for linux and macs -->
134
135 <condition property="current.os.isunix">
136 <os family="unix"/>
137 </condition>
138
139 <condition property="current.os.isunixnotmac">
140 <and>
141 <os family="unix"/>
142 <not>
143 <os family="mac"/>
144 </not>
145 </and>
146 </condition>
147 <condition property="current.os.ismac">
148 <os family="mac"/>
149 </condition>
150
151 <condition property="current.os.iswindows">
152 <os family="windows"/>
153 </condition>
154
155 <condition property="collection.building.enabled">
156 <not>
157 <isset property="disable.collection.building"/>
158 </not>
159 </condition>
160
161 <condition property="collection.building.enabled.windows">
162 <and>
163 <isset property="collection.building.enabled"/>
164 <isset property="current.os.iswindows"/>
165 </and>
166 </condition>
167
168 <condition property="collection.building.enabled.unix">
169 <and>
170 <isset property="collection.building.enabled"/>
171 <isset property="current.os.isunix"/>
172 </and>
173 </condition>
174
175 <condition property="independent-indexers">
176 <isset property="disable.collection.building"/>
177 </condition>
178
179 <!-- ============= Base dirs for each package and component ============ -->
180
181 <property name="src.applet.home" value="${src.home}/org/greenstone/applet"/>
182 <property name="src.gsdl3.home" value="${src.home}/org/greenstone/gsdl3"/>
183 <property name="anttasks.home" value="${src.home}/org/greenstone/anttasks"/>
184 <property name="gs2build.home" value="${basedir}/gs2build"/>
185 <property name="gli.home" value="${basedir}/gli"/>
186 <property name="javagdbm.home" value="${src.packages.home}/javagdbm"/>
187
188 <!--<property name="indexers.home" value="${basedir}/src/packages/indexers">-->
189
190 <condition property="indexers.home" value="${basedir}/src/packages/indexers">
191 <isset property="disable.collection.building"/>
192 </condition>
193 <condition property="indexers.home" value="${gs2build.home}/indexers">
194 <not>
195 <isset property="disable.collection.building"/>
196 </not>
197 </condition>
198
199 <property name="mg.home" value="${indexers.home}/mg"/>
200 <property name="mgpp.home" value="${indexers.home}/mgpp"/>
201 <property name="lucene.home" value="${indexers.home}/lucene-gs"/>
202
203
204<!-- ==================== Compilation Control Options ==================== -->
205
206
207<!--
208
209 These properties control option settings on the Javac compiler when it
210 is invoked using the <javac> task.
211
212 compile.debug Should compilation include the debug option?
213
214 compile.deprecation Should compilation include the deprecation option?
215
216 compile.optimize Should compilation include the optimize option?
217
218-->
219
220
221 <property name="compile.debug" value="true"/>
222 <property name="compile.deprecation" value="true"/>
223 <property name="compile.optimize" value="true"/>
224
225<!--
226
227 Rather than relying on the CLASSPATH environment variable, Ant includes
228 features that makes it easy to dynamically construct the classpath you
229 need for each compilation. The example below constructs the compile
230 classpath to include the servlet.jar file, as well as the other components
231 that Tomcat makes available to web applications automatically, plus anything
232 that you explicitly added.
233
234-->
235
236
237 <path id="compile.classpath">
238 <!-- Include all jar files and libraries in our jni lib directory -->
239 <pathelement location="${lib.jni}"/>
240 <fileset dir="${lib.jni}">
241 <include name="*.jar"/>
242 </fileset>
243 <!-- Include all jar files in our web lib directory -->
244 <pathelement location="${web.lib}"/>
245 <fileset dir="${web.lib}">
246 <include name="*.jar"/>
247 </fileset>
248
249 <!-- Include the axis jar files -->
250 <!--<fileset dir="${basedir}/comms/soap/axis/lib">
251 <include name="*.jar"/>
252 </fileset>-->
253
254 <!-- include the jar files from the source packages -->
255 <!-- mg and mgpp get installed into lib/jni but they may not be there yet
256 so we add them in by name -->
257 <pathelement location="${lib.jni}/mg.jar"/>
258 <pathelement location="${lib.jni}/mgpp.jar"/>
259
260 <!-- Include all elements that Tomcat exposes to applications -->
261 <pathelement location="${catalina.home}/common/classes"/>
262 <fileset dir="${catalina.home}/common/endorsed">
263 <include name="*.jar"/>
264 </fileset>
265 <fileset dir="${catalina.home}/common/lib">
266 <include name="*.jar"/>
267 </fileset>
268 <pathelement location="${catalina.home}/shared/classes"/>
269 <fileset dir="${catalina.home}/shared/lib">
270 <include name="*.jar"/>
271 </fileset>
272 </path>
273
274 <path id="local.tomcat.classpath">
275 <!-- explicitly include the jni java wrappers in the classpath -->
276 <pathelement location="${lib.jni}"/>
277 <fileset dir="${lib.jni}">
278 <include name="*.jar"/>
279 </fileset>
280 </path>
281
282 <path id="local.tomcat.path">
283 <pathelement location="${basedir}/bin/script"/>
284 <pathelement location="${basedir}/bin"/>
285 <pathelement location="${lib.jni}"/>
286 <pathelement path="${env.PATH}"/>
287 <pathelement path="${env.Path}"/>
288 </path>
289
290 <target name="test-setup">
291 <echo>ant java version=${ant.java.version}</echo>
292 <echo>is unix : ${current.os.isunix}</echo>
293 <echo>is mac : ${current.os.ismac}</echo>
294 <echo>is unixnotmac : ${current.os.isunixnotmac}</echo>
295 <echo>is windows : ${current.os.iswindows}</echo>
296 <echo>os.unix: ${os.unix}</echo>
297 </target>
298<!-- ==================== Primary and Global Targets ============================= -->
299
300
301 <!-- add comments about using xxx-core, xxx-packages if only want certain parts?? -->
302
303
304
305
306
307<!-- <target name="cvsupdate" depends="init,cvsupdate-packages,cvsupdate-core,cvsupdate-gs2building,cvsupdate-web"
308 description="Do a cvs update for all sources. Doesn't recompile the code. You need to be online to run this."/>-->
309
310 <target name="svnupdate" depends="init,svnupdate-packages,svnupdate-core,svnupdate-gs2building,svnupdate-web" description="Do a `svn update` for all sources. Doesn't recompile the code. You need to be online to run this."/>
311
312
313 <target name="configure-c++" depends="init,configure-packages,configure-core,configure-gs2building" description="Configure any C/C+/+ package code and gs2building code if necessary"/>
314
315 <target name="configure" depends="init,configure-tomcat,configure-web" description="Configure the installation. Includes setting up config files. Should be re-run if you change the build.properties file."/>
316
317 <target name="clean" depends="init,clean-packages,clean-core,clean-gs2building" description="Remove all old compiled code. Includes core, packages and gs2building if necessary"/>
318
319 <target name="compile" depends="init,compile-web,compile-packages,compile-core,compile-gs2building" description="Compile all the source code, includes core, packages and gs2building if necessary. Copy jar files and executables to their correct places."/>
320
321
322
323 <target name="start" depends="init,start-tomcat" description="Startup the Tomcat server."/>
324
325 <target name="stop" depends="init,stop-tomcat" description="Shutdown the Tomcat server."/>
326
327 <target name="restart" description="Shutdown and restart Tomcat" depends="init,stop,start"/>
328
329
330<!-- =========== Help targets =================================== -->
331
332
333 <property name="install-command" value="ant [options] prepare install"/>
334
335 <target name="usage" description="Print a help message">
336 <echo message=" Execute 'ant -projecthelp' for a list of targets."/>
337 <echo message=" Execute 'ant -help' for Ant help."/>
338 </target>
339
340 <target name="help" depends="usage" description="Print a help message"/>
341
342 <target name="debug" depends="init" description="Display all the currently used properties">
343 <echoproperties/>
344 </target>
345
346<!-- ====== initialization and setup targets ================== -->
347
348
349 <target name="accept-properties" unless="properties.accepted">
350 <input addproperty="properties.ok" validargs="y,n">The following properties (among others) are being used from a build.properties file found in this directory:
351tomcat.server=${tomcat.server}
352tomcat.port=${tomcat.port}
353tomcat.installed.path=${tomcat.installed.path} (this is the location of Tomcat's base dir if it is already installed)
354proxy.host=${proxy.host}
355proxy.port=${proxy.port}
356If these are not acceptable, please change them and rerun this target. Continue [y/n]? /&gt;
357 </input>
358 <condition property="do.abort">
359 <equals arg1="n" arg2="${properties.ok}"/>
360 </condition>
361 <fail if="do.abort">Build aborted by user. Please change your properties settings and re-run the target</fail>
362 </target>
363
364<!-- <target name="check-cvsroot">
365 <condition property="svnroot.notset">
366 <or>
367 <not>
368 <isset property="env.CVSROOT"/>
369 </not>
370 <equals arg1="" arg2="${env.CVSROOT}"/>
371 </or>
372 </condition>
373 <fail if="cvsroot.notset" message="You need to set the CVSROOT variable"/>
374 </target> -->
375
376
377 <!-- this sets up some initial properties -->
378
379 <target name="init">
380
381 <condition property="java.too.old">
382 <or>
383 <equals arg1="1.1" arg2="${ant.java.version}"/>
384 <equals arg1="1.2" arg2="${ant.java.version}"/>
385 <equals arg1="1.3" arg2="${ant.java.version}"/>
386 </or>
387 </condition>
388 <fail if="java.too.old" message="You need Java 1.4 or greater to run Greenstone 3"/>
389
390 <available file="${indexers.home}" property="indexers.present"/>
391 <available file="${basedir}/gli" property="gli.present"/>
392 <available file="${basedir}/gs2build" property="gs2build.present"/>
393
394 <condition property="tomcat.islocal">
395 <or>
396 <not>
397 <isset property="tomcat.installed.path"/>
398 </not>
399 <equals arg1="" arg2="${tomcat.installed.path}"/>
400 </or>
401 </condition>
402
403 <echo>tomcat.port:${tomcat.port}, gli.present:${gli.present} gs2build.present=${gs2build.present} gsdl2.installed.path = ${gsdl2.installed.path}</echo>
404 <condition property="proxy.present">
405 <and>
406 <isset property="proxy.host"/>
407 <not>
408 <equals arg1="" arg2="${proxy.host}"/>
409 </not>
410 </and>
411 </condition>
412
413 <condition property="need.macos.extra">
414 <and>
415 <isset property="current.os.ismac"/>
416 <not>
417 <isset property="disable.collection.building"/>
418 </not>
419 </and>
420 </condition>
421 </target>
422
423 <target name="setup-proxy" depends="init" if="proxy.present">
424 <condition property="ask.user">
425 <or>
426 <equals arg1="" arg2="${proxy.user}"/>
427 <equals arg1="" arg2="${proxy.password}"/>
428 </or>
429 </condition>
430 <getuserandpassword message="Using proxy: ${proxy.host}:${proxy.port}" if="ask.user" username="${proxy.user}" userproperty="proxy.username" pwordproperty="proxy.password"/>
431 <mysetproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.username}" proxypassword="${proxy.password}"/>
432 </target>
433
434 <!-- ========== Web app Targets ================================ -->
435
436
437
438
439 <!-- if we are using java 1.5, we need the xalan.jar file in web/WEB-INF/lib, but if we are using java 1.4, we can't have it there -->
440
441 <target name="configure-java-version" depends="init" description="Run this target if you have changed the default version of java since installing greenstone3">
442 <condition property="need.xalan.jar">
443 <equals arg1="1.5" arg2="${ant.java.version}"/>
444 </condition>
445 <antcall target="activate-xalan-jar"/>
446 <antcall target="deactivate-xalan-jar"/>
447 </target>
448
449 <target name="activate-xalan-jar" if="need.xalan.jar">
450 <copy file="${web.lib}/xalan.jar.tmp" tofile="${web.lib}/xalan.jar"/>
451 </target>
452
453 <target name="deactivate-xalan-jar" unless="need.xalan.jar">
454 <delete file="${web.lib}/xalan.jar"/>
455 </target>
456
457
458
459
460 <target name="configure-web" depends="init" description="Configure only the web app config files">
461 <!-- we want a unix path in the global.properties file -->
462 <pathconvert targetos="unix" property="src.gsdl3.home.unix">
463 <path path="${web.home}"/>
464 </pathconvert>
465 <filter token="gsdl3home" value="${src.gsdl3.home.unix}"/>
466 <filter token="gsdl3version" value="${app.version}"/>
467 <filter token="tomcat.server" value="${tomcat.server}"/>
468 <filter token="tomcat.port" value="${tomcat.port}"/>
469 <copy file="${basedir}/resources/java/global.properties.in" tofile="${web.classes}/global.properties" filtering="true" overwrite="true"/>
470 <copy file="${basedir}/resources/java/log4j.properties.in" tofile="${web.classes}/log4j.properties" filtering="true" overwrite="true"/>
471 <chmod file="${web.classes}/global.properties" perm="600"/>
472 <chmod file="${web.classes}/log4j.properties" perm="600"/>
473 </target>
474
475 <target name="compile-web" depends="init">
476 <javac srcdir="${web.classes}" destdir="${web.classes}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
477 <classpath>
478 <path refid="compile.classpath"/>
479 </classpath>
480 </javac>
481 </target>
482
483 <target name="svnupdate-web" unless="nosvn.mode">
484 <svn>
485 <update dir="${web.home}"/>
486 </svn>
487 </target>
488
489
490
491
492<!-- ======================= Tomcat Targets ========================== -->
493
494
495 <!-- this target downloads and installs Tomcat -->
496
497 <!-- we download tomcat and the compat module - its needed for 1.4, and doesn't seem to harm 1.5 -->
498
499
500
501 <target name="configure-tomcat" depends="init,configure-tomcat-local,configure-tomcat-external"/>
502
503 <target name="configure-tomcat-local" depends="init" if="tomcat.islocal">
504 <!-- re-setup the server.xml file -->
505 <copy file="${basedir}/resources/tomcat/server.xml" tofile="${packages.home}/tomcat/conf/server.xml" overwrite="true">
506 <filterset>
507 <filter token="port" value="${tomcat.port}"/>
508 <filter token="shutdown-port" value="${tomcat.shutdown.port}"/>
509 </filterset>
510 </copy>
511 <!-- set up the greenstone3 context -->
512 <copy file="${basedir}/resources/tomcat/greenstone3.xml" tofile="${packages.home}/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true">
513 <filterset>
514 <filter token="gsdl3webhome" value="${basedir}/web"/>
515 </filterset>
516 </copy>
517 </target>
518
519 <target name="configure-tomcat-external" depends="init" unless="tomcat.islocal">
520 <!-- re-setup the server.xml file -->
521 <!-- need to edit the config file, or do we get the user to do this???-->
522 </target>
523
524 <target name="start-tomcat" description="Startup only Tomcat" depends="init" if="tomcat.islocal">
525 <property name="tomcat.classpath" refid="local.tomcat.classpath"/>
526 <property name="tomcat.path" refid="local.tomcat.path"/>
527 <property name="catalina.opts" value="-Djava.util.prefs.syncInterval=2000000 -DGSDL3HOME=$GSDL3HOME -DGSDLOS=$GSDLOS -DPATH=$PATH -Xmx400M"/>
528 <exec executable="${catalina.home}/bin/startup.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false">
529 <!--<env key="GSDLOS" value="linux"/> do we need this?? -->
530 <env key="GSDL3HOME" value="${basedir}"/>
531 <env key="PATH" path="${tomcat.path}"/>
532 <env key="CATALINA_OPTS" value="${catalina.opts}"/>
533 <env key="CATALINA_HOME" value="${catalina.home}"/>
534 <env key="CLASSPATH" path="${tomcat.classpath}"/>
535 <env key="LD_LIBRARY_PATH" path="${env.LD_LIBRARY_PATH}:${lib.jni}"/>
536 <env key="DYLD_LIBRARY_PATH" path="${env.DYLD_LIBRARY_PATH}:${lib.jni}:${gdbm.installed.path}/lib"/> <!-- for mac os -->
537 </exec>
538 <exec executable="${catalina.home}/bin/startup.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="true">
539 <env key="GSDLOS" value="windows"/>
540 <env key="GSDL3HOME" value="${basedir}"/>
541 <env key="Path" path="${tomcat.path}"/>
542 <env key="PATH" path="${tomcat.path}"/>
543 <env key="CATALINA_OPTS" value="${catalina.opts}"/>
544 <env key="CLASSPATH" path="${tomcat.classpath}"/>
545 </exec>
546 <!-- wait for the server to startup in case other targets need it running -->
547 <waitfor maxwait="5" maxwaitunit="second">
548 <and>
549 <socket server="${tomcat.server}" port="${tomcat.port}"/>
550 <http url="http://${tomcat.server}:${tomcat.port}${app.path}/index.html"/>
551 </and>
552 </waitfor>
553 </target>
554 <!-- windows: do we want to launch a webrowser?? -->
555
556 <target name="stop-tomcat" description="Shutdown only Tomcat" depends="init" if="tomcat.islocal">
557 <exec executable="${catalina.home}/bin/shutdown.sh" os="${os.unix}" dir="${catalina.home}/bin" spawn="false">
558 <env key="CATALINA_HOME" value="${catalina.home}"/>
559 </exec>
560 <exec executable="${catalina.home}/bin/shutdown.bat" os="${os.windows}" dir="${catalina.home}/bin" spawn="false"/>
561 </target>
562
563 <target name="restart-tomcat" description="Shutdown and restart only Tomcat" depends="init,stop-tomcat,start-tomcat"/>
564
565 <target name="setup-catalina-ant-tasks">
566 <!-- Configure the custom Ant tasks for the Tomcat Manager application -->
567 <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
568 <taskdef name="list" classname="org.apache.catalina.ant.ListTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
569 <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
570 <taskdef name="resources" classname="org.apache.catalina.ant.ResourcesTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
571 <taskdef name="roles" classname="org.apache.catalina.ant.RolesTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
572 <taskdef name="start" classname="org.apache.catalina.ant.StartTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
573 <taskdef name="stop" classname="org.apache.catalina.ant.StopTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
574 <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask" classpath="${catalina.home}/server/lib/catalina-ant.jar"/>
575 </target>
576
577
578
579
580
581
582<!-- ======================= ant Targets ============================ -->
583
584
585
586<!-- ======================= Axis Targets ============================ -->
587
588
589
590
591 <target name="soap-deploy-site" depends="init,get-sitename,get-siteuri,create-deployment-files,deploy-site" description="Deploy a SOAP web service for a local Greenstone site. Tomcat must be running for this to work."/>
592
593 <target name="deploy-site">
594 <java classname="org.apache.axis.client.AdminClient">
595 <classpath refid="compile.classpath"/>
596 <arg value="-l"/>
597 <arg value="http://${tomcat.server}:${tomcat.port}${app.path}/servlet/AxisServlet"/>
598 <arg file="${basedir}/resources/soap/${axis.sitename}.wsdd"/>
599 </java>
600 </target>
601
602 <target name="soap-undeploy-site" depends="get-sitename" description="Undeploy a SOAP web service for a local Greenstone site. Tomcat must be running for this to work.">
603 <java classname="org.apache.axis.client.AdminClient">
604 <classpath refid="compile.classpath"/>
605 <arg value="-l"/>
606 <arg value="http://${tomcat.server}:${tomcat.port}${app.path}/servlet/AxisServlet"/>
607 <arg file="${basedir}/resources/soap/undeploy-${axis.sitename}.wsdd"/>
608 </java>
609 </target>
610
611 <!-- this target used to deploy the preprepared localsite server -->
612
613 <target name="deploy-localsite" depends="init" description="Deploy the SOAP server for localsite. Will start and stop Tomcat.">
614 <antcall target="start-tomcat"/>
615 <antcall target="deploy-site">
616 <param name="axis.sitename" value="localsite"/>
617 </antcall>
618 <antcall target="stop-tomcat"/>
619 </target>
620
621 <target name="get-sitename" unless="axis.sitename">
622 <input addproperty="axis.sitename" message="What site? (press enter for default:localsite)" defaultvalue="localsite"/>
623 </target>
624
625 <target name="get-siteuri" depends="get-sitename" unless="axis.siteuri">
626 <input addproperty="axis.siteuri" message="What name do you want the service to have? (press enter for default:${axis.sitename})" defaultvalue="${axis.sitename}"/>
627 <echo>${axis.sitename}, ${axis.siteuri}</echo>
628 </target>
629
630 <target name="check-deployment-files" depends="get-sitename">
631 <condition property="deploy.exists">
632 <and>
633 <available file="${basedir}/resources/soap/${axis.sitename}.wsdd"/>
634 <available file="${basedir}/resources/soap/undeploy-${axis.sitename}.wsdd"/>
635 <available file="${web.classes}/org/greenstone/gsdl3/SOAPServer${axis.sitename}.class"/>
636 </and>
637 </condition>
638 </target>
639
640 <target name="create-deployment-files" depends="get-sitename,get-siteuri,check-deployment-files" if="axis.sitename" unless="deploy.exists">
641 <filter token="sitename" value="${axis.sitename}"/>
642 <filter token="siteuri" value="${axis.siteuri}"/>
643 <copy file="${basedir}/resources/soap/site.wsdd.template" tofile="${basedir}/resources/soap/${axis.sitename}.wsdd" filtering="true"/>
644 <copy file="${basedir}/resources/soap/undeploy-site.wsdd.template" tofile="${basedir}/resources/soap/undeploy-${axis.sitename}.wsdd" filtering="true"/>
645 <!-- create the java files and compile them -->
646 <copy file="${basedir}/resources/java/SOAPServer.java.in" tofile="${src.gsdl3.home}/SOAPServer${axis.sitename}.java" filtering="true"/>
647 <mkdir dir="${build.home}"/>
648 <javac srcdir="${src.home}" destdir="${build.home}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
649 <classpath refid="compile.classpath"/>
650 <include name="org/greenstone/gsdl3/SOAPServer${axis.sitename}.java"/>
651 </javac>
652 <mkdir dir="${web.classes}/org/greenstone/gsdl3"/>
653 <copy file="${build.home}/org/greenstone/gsdl3/SOAPServer${axis.sitename}.class" tofile="${web.classes}/org/greenstone/gsdl3/SOAPServer${axis.sitename}.class"/>
654 </target>
655
656
657<!-- ====================== Core targets ============================== -->
658
659<!-- core targets refer to the core gsdl3 java src -->
660
661
662
663
664 <target name="configure-core"/>
665
666
667
668 <target name="svnupdate-core" unless="nocvs.mode">
669
670 <svn>
671 <update dir="." recurse="false"/>
672 </svn>
673
674 <svn>
675 <update dir="bin"/>
676 <update dir="comms"/>
677 <update dir="dist-resources"/>
678 <update dir="docs"/>
679 <update dir="lib"/>
680 <update dir="resources"/>
681 <update dir="src"/>
682 <update dir="winutil"/>
683 </svn>
684
685 </target>
686
687 <target name="clean-core" description="Clean only the Greenstone core">
688 <delete dir="${build.home}"/>
689 </target>
690
691 <target name="compile-core" depends="init" description="Compile only the Greenstone core">
692 <mkdir dir="${build.home}"/>
693 <javac srcdir="${src.home}" destdir="${build.home}" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}">
694 <classpath>
695 <path refid="compile.classpath"/>
696 </classpath>
697 </javac>
698 <jar destfile="${build.home}/gsdl3.jar">
699 <fileset dir="${build.home}">
700 <include name="org/greenstone/gsdl3/**"/>
701 <include name="org/flax/**"/>
702 <exclude name="**/Test.class"/>
703 </fileset>
704 <manifest>
705 <attribute name="Built-By" value="${user.name}"/>
706 </manifest>
707 </jar>
708 <copy file="${build.home}/gsdl3.jar" todir="${web.lib}"/>
709 <!-- copy the localsite server in case we need it -->
710 <copy file="${build.home}/org/greenstone/gsdl3/SOAPServerlocalsite.class" tofile="${web.classes}/org/greenstone/gsdl3/SOAPServerlocalsite.class"/>
711
712 <jar destfile="${build.home}/GAI.jar">
713 <fileset dir="${build.home}">
714 <include name="org/greenstone/admin/**"/>
715 </fileset>
716 <manifest>
717 <attribute name="Built-By" value="${user.name}"/>
718 </manifest>
719 </jar>
720
721 <jar destfile="${build.home}/phind.jar">
722 <fileset dir="${build.home}">
723 <include name="org/greenstone/applet/phind/**"/>
724 </fileset>
725 <manifest>
726 <attribute name="Built-By" value="${user.name}"/>
727 </manifest>
728 </jar>
729 <mkdir dir="${web.applet}"/>
730 <copy file="${build.home}/phind.jar" todir="${web.applet}"/>
731 <!-- phind also needs xercesImpl.jar and xml-apis.jar to be in web/applet -->
732 <copy file="${packages.home}/tomcat/common/endorsed/xercesImpl.jar" todir="${web.applet}"/>
733 <copy file="${packages.home}/tomcat/common/endorsed/xml-apis.jar" todir="${web.applet}"/>
734 <jar destfile="${build.home}/anttasks.jar">
735 <fileset dir="${build.home}">
736 <include name="org/greenstone/anttasks/**"/>
737 </fileset>
738 <manifest>
739 <attribute name="Built-By" value="${user.name}"/>
740 </manifest>
741 </jar>
742 <copy file="${build.home}/anttasks.jar" todir="${basedir}/lib/java"/>
743 <jar destfile="${build.home}/gsdl3test.jar">
744 <fileset dir="${build.home}">
745 <include name="org/greenstone/gsdl3/**/*Test.class"/>
746 <include name="org/greenstone/testing/**"/>
747 </fileset>
748 <manifest>
749 <attribute name="Built-By" value="${user.name}"/>
750 </manifest>
751 </jar>
752 <jar destfile="${build.home}/server.jar">
753 <fileset dir="${build.home}">
754 <include name="org/greenstone/server/**"/>
755 </fileset>
756 <fileset file="${basedir}/resources/java/server.properties"/>
757 <manifest>
758 <attribute name="Built-By" value="${user.name}"/>
759 </manifest>
760 </jar>
761 <copy file="${build.home}/server.jar" todir="${basedir}"/>
762 </target>
763
764<!-- ================== Packages targets ================================ -->
765
766 <!-- these targets refer to the greenstone source packages - these need
767 updating less often, so are in separate targets to the core -->
768
769
770
771
772
773
774
775
776
777 <target name="svnupdate-packages" unless="nocvs.mode">
778 <svn>
779 <update dir="${src.packages.home}"/>
780 </svn>
781 </target>
782
783 <target name="configure-packages" depends="init,configure-javagdbm,configure-indexers" description="Configure only the packages."/>
784
785 <target name="configure-javagdbm">
786 <echo>
787 Configuring JavaGDBM
788 </echo>
789 <exec executable="${javagdbm.home}/configure" os="${os.linux},${os.solaris}" dir="${javagdbm.home}">
790 <arg value="--prefix=${basedir}"/>
791 <arg value="--libdir=${lib.jni}"/>
792 </exec>
793 <exec executable="${javagdbm.home}/configure" os="${os.mac}" dir="${javagdbm.home}">
794 <arg value="--prefix=${basedir}"/>
795 <arg value="--libdir=${lib.jni}"/>
796 <arg value="--with-gdbm=${gdbm.installed.path}"/>
797 </exec>
798 </target>
799
800<!-- Message from oran. I removed the condition from this line becuase it meant
801 the indexers would only be configured if collection building was DISabled.
802 Shouldn't they be configured when collection building is ENabled? -->
803
804
805<!-- <target name="configure-indexers" depends="init" if="independent-indexers"> -->
806
807<target name="configure-indexers" depends="init">
808 <echo>Configuring Indexers</echo>
809 <exec executable="${indexers.home}/configure" os="${os.unix}" dir="${indexers.home}">
810 <arg value="--prefix=${basedir}"/>
811 <arg value="--libdir=${lib.jni}"/>
812 </exec>
813 </target>
814
815 <target name="clean-packages" depends="init,clean-javagdbm,clean-indexers" description="Clean only the packages"/>
816
817 <target name="clean-javagdbm" depends="init">
818 <exec executable="make" os="${os.unix}" dir="${javagdbm.home}">
819 <arg value="clean"/>
820 </exec>
821 </target>
822
823 <target name="clean-indexers" depends="init" if="independent-indexers">
824 <exec executable="make" os="${os.unix}" dir="${indexers.home}">
825 <arg value="clean"/>
826 </exec>
827 <exec executable="${indexers.home}/winMake.bat" os="${os.windows}" dir="${indexers.home}">
828 <arg value="clean"/>
829 </exec>
830
831 </target>
832
833 <target name="compile-packages" description="Compile only the source packages">
834
835 <!-- javagdbm -->
836 <echo>compile javagdbm</echo>
837 <exec executable="make" os="${os.unix}" dir="${javagdbm.home}"/>
838 <exec executable="make" os="${os.unix}" dir="${javagdbm.home}">
839 <arg value="install"/>
840 </exec>
841
842 <!-- windows: just the java stuff. -->
843 <echo>Windows: compile javagdbm (java only)</echo>
844 <exec executable="${javagdbm.home}/winMake.bat" os="${os.windows}" dir="${javagdbm.home}">
845 <arg value="compile"/>
846 <arg value="javaonly"/>
847 </exec>
848
849 <!-- install the jar file -->
850 <echo>Install the javagdbm jar file</echo>
851 <copy file="${javagdbm.home}/javagdbm.jar" todir="${lib.jni}"/>
852
853 <!-- Indexers -->
854
855 <!-- this may be in gs2build - we will be recompiling, but never mind -->
856 <echo>Indexers: make (from ${indexers.home})</echo>
857 <exec executable="make" os="${os.unix}" dir="${indexers.home}"/>
858 <echo>Indexers: make install</echo>
859 <exec executable="make" os="${os.unix}" dir="${indexers.home}">
860 <arg value="install"/>
861 </exec>
862
863 <echo>Indexers: make</echo>
864 <exec executable="${indexers.home}/winMake.bat" os="${os.windows}" dir="${indexers.home}">
865 <arg value="all"/>
866 </exec>
867 <echo>Indexers: make install</echo>
868 <exec executable="${indexers.home}/winMake.bat" os="${os.windows}" dir="${indexers.home}">
869 <arg value="install"/>
870 </exec>
871
872 <!-- install the jar and jni files -->
873 <echo>Install the indexers' jar and jni files</echo>
874 <copy file="${mg.home}/mg.jar" todir="${lib.jni}"/>
875 <copy file="${mgpp.home}/mgpp.jar" todir="${lib.jni}"/>
876 <copy file="${lucene.home}/LuceneWrapper.jar" todir="${web.lib}"/>
877 <antcall target="install-jni-files"/>
878 </target>
879
880 <target name="install-jni-files" depends="init,install-jni-files-linux,install-jni-files-windows,install-jni-files-macos"/>
881
882 <target name="install-jni-files-linux" depends="init" if="current.os.isunixnotmac">
883 <copy file="${mg.home}/jni/libmgretrievejni.so" todir="${lib.jni}"/>
884 <copy file="${mg.home}/jni/libmgsearchjni.so" todir="${lib.jni}"/>
885 <copy file="${mg.home}/jni/libmgpassjni.so" todir="${lib.jni}"/>
886 <copy file="${mgpp.home}/jni/libmgppretrievejni.so" todir="${lib.jni}"/>
887 <copy file="${mgpp.home}/jni/libmgppsearchjni.so" todir="${lib.jni}"/>
888 <copy file="${mgpp.home}/jni/libmgpppassjni.so" todir="${lib.jni}"/>
889 </target>
890 <target name="install-jni-files-windows" depends="init" if="current.os.iswindows">
891 <copy file="${mg.home}/jni/mgretrievejni.dll" todir="${lib.jni}"/>
892 <copy file="${mg.home}/jni/mgsearchjni.dll" todir="${lib.jni}"/>
893 <copy file="${mg.home}/jni/mgpassjni.dll" todir="${lib.jni}"/>
894 <copy file="${mgpp.home}/jni/mgppretrievejni.dll" todir="${lib.jni}"/>
895 <copy file="${mgpp.home}/jni/mgppsearchjni.dll" todir="${lib.jni}"/>
896 <copy file="${mgpp.home}/jni/mgpppassjni.dll" todir="${lib.jni}"/>
897 </target>
898 <target name="install-jni-files-macos" depends="init" if="current.os.ismac">
899 <copy file="${mg.home}/jni/libmgretrievejni.jnilib" todir="${lib.jni}"/>
900 <copy file="${mg.home}/jni/libmgsearchjni.jnilib" todir="${lib.jni}"/>
901 <copy file="${mg.home}/jni/libmgpassjni.jnilib" todir="${lib.jni}"/>
902 <copy file="${mgpp.home}/jni/libmgppretrievejni.jnilib" todir="${lib.jni}"/>
903 <copy file="${mgpp.home}/jni/libmgppsearchjni.jnilib" todir="${lib.jni}"/>
904 <copy file="${mgpp.home}/jni/libmgpppassjni.jnilib" todir="${lib.jni}"/>
905 </target>
906
907 <!-- ================== gs2building targets ===============-->
908
909
910
911
912
913 <target name="svnupdate-gs2building" if="collection.building.enabled" depends="init,svnupdate-gs2build,svnupdate-gli" unless="nocvs.mode">
914 </target>
915 <target name="svnupdate-gs2build" if="collection.building.enabled" depends="init" unless="nocvs.mode">
916 <!-- Note: can't do a -d update here cos it will get all of gsdl
917 also, an update doesn't get new files, so we do a checkout instead. -->
918 <antcall target="checkout-gs2build"/>
919 </target>
920
921 <target name="svnupdate-gli" if="collection.building.enabled" depends="init" unless="nocvs.mode">
922 <svn>
923 <update dir="${gli.home}"/>
924 </svn>
925 </target>
926
927
928
929
930
931
932
933
934
935
936
937
938 <target name="delete-winbin" depends="init" if="collection.building.enabled.windows">
939 <delete dir="${basedir}/winbin"/>
940 </target>
941
942 <target name="unzip-windows-packages" depends="init" if="collection.building.enabled.windows">
943 <unzip src="${gs2build.home}/packages/windows/gdbm/gdbm.zip" dest="${gs2build.home}/packages/windows/gdbm"/>
944 <unzip src="${gs2build.home}/packages/windows/crypt/crypt.zip" dest="${gs2build.home}/packages/windows/crypt"/>
945 <unzip src="${gs2build.home}/packages/windows/expat/expat.zip" dest="${gs2build.home}/packages/windows/expat"/>
946 </target>
947
948 <!-- downloads a good XML-Parser -->
949
950 <target name="get-macos-extra" depends="init" if="need.macos.extra">
951 <get src="http://www.greenstone.org/gs3files/XML-Parser.tar.gz" dest="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz" usetimestamp="true"/>
952 </target>
953
954 <!-- untars the XML-Parser. need to do this after compiling in gs2build-->
955
956 <target name="install-macos-extra" depends="init,get-macos-extra" if="need.macos.extra">
957 <!-- make sure these directories are present, otherwise chmod craps out
958 this chmod is needed in case we are unpacking for a second time -->
959 <mkdir dir="${gs2build.home}/perllib/cpan/perl-5.8"/>
960 <mkdir dir="${gs2build.home}/perllib/cpan/perl-5.6"/>
961 <chmod dir="${gs2build.home}/perllib/cpan/perl-5.8" perm="ug+w" includes="**"/>
962 <chmod dir="${gs2build.home}/perllib/cpan/perl-5.6" perm="ug+w" includes="**"/>
963 <untar src="${gs2build.home}/perllib/cpan/XML-Parser.tar.gz" dest="${gs2build.home}/perllib/cpan/" compression="gzip"/>
964 </target>
965
966 <target name="install-indexer-files" depends="init" unless="indexers.present">
967 <copy todir="${indexers.home}">
968 <fileset dir="${gs2build.home}/indexers"/>
969 </copy>
970 <chmod file="${indexers.home}/configure" perm="a+x"/>
971 </target>
972
973
974
975 <target name="gs2build-edit-setup-bat" if="collection.building.enabled.windows">
976 <!-- we want a windows path in the setup.bat file -->
977 <pathconvert targetos="windows" property="gs2build.home.windows">
978 <path path="${gs2build.home}"/>
979 </pathconvert>
980 <move file="${gs2build.home}/setup.bat" tofile="${gs2build.home}/setup-tmp.bat">
981 <filterset>
982 <filter token="gsdlhome" value="${gs2build.home.windows}"/>
983 </filterset>
984 </move>
985 <move file="${gs2build.home}/setup-tmp.bat" tofile="${gs2build.home}/setup.bat"/>
986 </target>
987
988
989
990
991
992
993
994<!-- <target name="checkout-gli" depends="check-cvsroot,init" if="collection.building.enabled" unless="nocvs.mode"> -->
995
996
997
998 <target name="configure-gs2building" depends="init" if="collection.building.enabled" description="Configure only the Greenstone 2 building components">
999 <exec executable="${gs2build.home}/configure" os="${os.linux},${os.solaris}" dir="${gs2build.home}">
1000 <arg value="--prefix=${gs2build.home}"/>
1001 </exec>
1002 <exec executable="${gs2build.home}/configure" os="${os.mac}" dir="${gs2build.home}">
1003 <arg value="--prefix=${gs2build.home}"/>
1004 <arg value="--with-gdbm=${gdbm.installed.path}"/>
1005 </exec>
1006 </target>
1007
1008 <target name="clean-gs2building" depends="init,clean-gli,clean-gs2build" description="Clean only the Greenstone 2 building components" if="collection.building.enabled"/>
1009
1010 <target name="clean-gli" depends="init" if="collection.building.enabled">
1011 <!-- gli -->
1012 <property name="gli.home" value="${basedir}/gli"/>
1013 <!-- linux -->
1014 <exec executable="clean.sh" os="${os.unix}" dir="${gli.home}" resolveExecutable="true"/>
1015 <!-- windows -->
1016 <exec executable="clean.bat" os="${os.windows}" dir="${gli.home}" resolveExecutable="true"/>
1017 </target>
1018
1019 <target name="clean-gs2build" depends="init" if="collection.building.enabled">
1020 <!-- gs2build -->
1021 <!--linux: -->
1022 <exec executable="make" os="${os.unix}" dir="${gs2build.home}">
1023 <arg value="clean"/>
1024 </exec>
1025 <!-- windows: -->
1026 <!-- run the setup script -->
1027 <exec executable="${compile.windows.c++.setup}"/>
1028 <exec executable="nmake" dir="${gs2build.home}">
1029 <arg value="/f"/>
1030 <arg value="win32.mak"/>
1031 <arg value="clean"/>
1032 </exec>
1033 </target>
1034
1035 <target name="distclean-gs2build" depends="init" if="collection.building.enabled">
1036 <!-- gs2build -->
1037 <!--linux: -->
1038 <exec executable="make" os="${os.unix}" dir="${gs2build.home}">
1039 <arg value="distclean"/>
1040 </exec>
1041 <!-- windows: -->
1042 </target>
1043
1044 <target name="compile-gs2building" depends="init,compile-gs2build,compile-gli" if="collection.building.enabled" description="Compile only the Greenstone 2 building components">
1045 </target>
1046
1047 <target name="compile-gli" depends="init" if="collection.building.enabled">
1048 <!-- gli -->
1049 <property name="gli.home" value="${basedir}/gli"/>
1050
1051 <!-- change the version number -->
1052 <rsr file="${gli.home}/src/org/greenstone/gatherer/Gatherer.java" pattern="^(.*)String\s*PROGRAM_VERSION\s*=\s*&quot;(.*)&quot;" replacement="$1String PROGRAM_VERSION = &quot;${app.version}&quot;"/>
1053 <!-- linux -->
1054 <exec executable="makegli.sh" os="${os.unix}" dir="${gli.home}" resolveExecutable="true"/>
1055 <!--remote gli-->
1056 <exec executable="makejar.sh" os="${os.unix}" dir="${gli.home}" resolveExecutable="true"/>
1057 <!-- windows -->
1058 <exec executable="makegli.bat" os="${os.windows}" dir="${gli.home}" resolveExecutable="true"/>
1059 <!--remote gli-->
1060 <exec executable="makejar.bat" os="${os.windows}" dir="${gli.home}" resolveExecutable="true"/>
1061 <copy file="${gli.home}/GLIServer.jar" todir="${gs2build.home}/bin/java"/>
1062 </target>
1063
1064 <target name="compile-gs2build" depends="init" if="collection.building.enabled">
1065 <!-- gs2build -->
1066 <!--linux: make, make install -->
1067 <exec executable="make" os="${os.unix}" dir="${gs2build.home}">
1068 </exec>
1069 <exec executable="make" os="${os.unix}" dir="${gs2build.home}">
1070 <arg value="install"/>
1071 </exec>
1072 <!-- run the setup script -->
1073 <exec executable="${compile.windows.c++.setup}" os="${os.windows}"/>
1074 <exec executable="nmake" dir="${gs2build.home}" os="${os.windows}">
1075 <arg value="/f"/>
1076 <arg value="win32.mak"/>
1077 </exec>
1078 <exec executable="nmake" dir="${gs2build.home}" os="${os.windows}">
1079 <arg value="/f"/>
1080 <arg value="win32.mak"/>
1081 <arg value="install"/>
1082 </exec>
1083 <!-- LuceneWrapper jar file not installed by default -->
1084 <mkdir dir="${gs2build.home}/bin/java"/>
1085 <copy file="${lucene.home}/LuceneWrapper.jar" todir="${gs2build.home}/bin/java"/>
1086 <antcall target="install-gs2build-indexers-windows"/>
1087 <antcall target="install-macos-extra"/>
1088 </target>
1089
1090 <target name="install-gs2build-indexers-windows" depends="init" if="collection.building.enabled.windows">
1091 <copy todir="${gs2build.home}/bin/windows">
1092 <fileset dir="${gs2build.home}/indexers/bin">
1093 <include name="*.*"/>
1094 </fileset>
1095 </copy>
1096 </target>
1097
1098 <target name="gli" description="Run the Greenstone Librarian Interface" depends="init" if="collection.building.enabled">
1099 <exec executable="${basedir}/gli/gli4gs3.sh" os="${os.linux},${os.solaris}" dir="${basedir}/gli" spawn="true">
1100 <env key="gsdl3path" path="${basedir}"/>
1101 <env key="gsdlpath" path="${basedir}/gs2build"/>
1102 </exec>
1103 <exec executable="${basedir}/gli/gli4gs3.sh" os="${os.mac}" dir="${basedir}/gli" spawn="true">
1104 <env key="gsdl3path" path="${basedir}"/>
1105 <env key="gsdlpath" path="${basedir}/gs2build"/>
1106 <env key="DYLD_LIBRARY_PATH" path="${env.DYLD_LIBRARY_PATH}:${gdbm.installed.path}/lib"/>
1107 </exec>
1108 <exec executable="${basedir}/gli/gli4gs3.bat" os="${os.windows}" dir="${basedir}/gli" spawn="true">
1109 <env key="GSDL3PATH" path="${basedir}"/>
1110 <env key="GSDLPATH" path="${basedir}/gs2build"/>
1111 </exec>
1112 <echo>Running GLI from Ant means that you don't get to see any of the terminal output. If you have problems with GLI and want to see the output, please run the script gli4gs3.sh/bat from the greenstone3/gli directory.
1113 </echo>
1114 </target>
1115
1116
1117<!-- ======================== TESTING Targets ========================= -->
1118
1119
1120
1121
1122
1123</project>
Note: See TracBrowser for help on using the repository browser.