Some changes on queries done from the admin interface concering last login field...
[pithos] / build.xml
1 <?xml version="1.0" encoding="utf-8" ?>
2 <project name="gss" default="deploy" basedir=".">
3         <description>The GSS project build file</description>
4
5         <property file="build.properties"/>
6     <property name="deps.dir" value="dependencies"/>
7
8         <!-- User-editable settings. These are the only settings in this file that
9         a user may consider changing. Note that these can also be configured
10         through command line parameters (e.g. "ant -Dgwt.workers=2") or a
11         build.properties file. -->
12     <property name="gwt.workers" value="1" />
13     <property name="jboss.home" value="${deps.dir}/jboss-5.1.0.GA" />
14     <property name="jboss.args" value="" />
15         <property name="solr.root" value="${deps.dir}/apache-solr-1.4.1"/>
16     <property name="solr.lib" value="${solr.root}/lib"/>
17     <property name="solr.dist" value="${solr.root}/dist"/>
18         <property name="solr.home" value="${deps.dir}/apache-solr-1.4.1/example/solr"/>
19
20         <!-- Library and runtime dependencies -->
21     <property name="jboss.version" value="5.1.0" />
22     <property name="jboss.filename" value="jboss-5.1.0.GA-jdk6.zip"/>
23         <property name="jboss.download.url" value="http://switch.dl.sourceforge.net/project/jboss/JBoss/JBoss-${jboss.version}.GA/${jboss.filename}"/>
24     <property name="solr.version" value="1.4.1" />
25     <property name="solr.filename" value="apache-solr-1.4.1.zip"/>
26         <property name="solr.download.url" value="http://apache.ntua.gr/lucene/solr/${solr.version}/${solr.filename}"/>
27         <property name="solrj.version" value="1.4.1"/>
28         <property name="solrj.jar" value="apache-solr-solrj-${solrj.version}.jar"/>
29     <property name="gwt.path" value="${deps.dir}/gwt-2.0.4"/>
30     <property name="gwt.filename" value="gwt-2.0.4.zip"/>
31         <property name="gwt.download.url" value="http://google-web-toolkit.googlecode.com/files/gwt-2.0.4.zip"/>
32     <property name="hornetq.path" value="${deps.dir}/hornetq-2.0.0.GA" />
33     <property name="hornetq.filename" value="hornetq-2.0.0.GA.zip/"/>
34     <property name="hornetq.download.url" value="http://sourceforge.net/projects/hornetq/files/2.0.0.GA/hornetq-2.0.0.GA.zip/download"/>
35     <property name="junit.path" value="${deps.dir}/junit3.8.1" />
36     <property name="junit.filename" value="junit3.8.1.zip"/>
37     <property name="junit.download.url" value="http://sourceforge.net/projects/junit/files/junit/3.8.1/junit3.8.1.zip/download"/>
38     <property name="gwt-dnd.filename" value="gwt-dnd-3.0.1.jar"/>
39     <property name="gwt-dnd.download.url" value="http://gwt-dnd.googlecode.com/files/gwt-dnd-3.0.1.jar"/>
40     <property name="gwt-gears.path" value="${deps.dir}/gwt-gears-1.3.0" />
41     <property name="gwt-gears.filename" value="gwt-gears-1.3.0.zip"/>
42     <property name="gwt-gears.download.url" value="http://gwt-google-apis.googlecode.com/files/gwt-gears-1.3.0.zip"/>
43     <property name="gwt-visualization.path" value="${deps.dir}/gwt-visualization-1.1.0" />
44     <property name="gwt-visualization.filename" value="gwt-visualization-1.1.0.zip"/>
45     <property name="gwt-visualization.download.url" value="http://gwt-google-apis.googlecode.com/files/gwt-visualization-1.1.0.zip"/>
46     <property name="gwt-incubator.filename" value="gwt-incubator-20100204-r1747.jar"/>
47     <property name="gwt-incubator.download.url" value="http://google-web-toolkit-incubator.googlecode.com/files/gwt-incubator-20100204-r1747.jar"/>
48
49         <!-- Source and runtime layout configuration -->
50         <property name="jboss_run_configuration" value="default" />
51     <property name="root.context" value="gss" />
52     <property name="gwt.module" value="gr.ebs.gss.GSS" />
53     <property name="gwt.module.class" value="GSS" />
54     <property name="gwt.admin.module" value="gr.ebs.gss.admin.TwoAdmin" />
55     <property name="gwt.admin.module.class" value="TwoAdmin" />
56         <property name="src.dir" value="${basedir}/src"/>
57     <property name="jboss-spec.dir" value="${basedir}/jboss" />
58     <property name="jboss-spec.conf.dir" value="${jboss-spec.dir}/conf" />
59     <property name="jboss-spec.bin.dir" value="${jboss-spec.dir}/bin" />
60     <property name="jboss-spec.deploy.dir" value="${jboss-spec.dir}/deploy" />
61     <property name="jboss-spec.lib.dir" value="${jboss-spec.dir}/lib" />
62         <property name="jboss.project" value="${basedir}/jboss-config/${jboss.version}" />
63         <property name="jboss.bin.dir" value="${jboss.home}/bin" />
64         <property name="jboss.conf.dir" value="${jboss.home}/server/${jboss_run_configuration}/conf" />
65         <property name="jboss.deploy.dir" value="${jboss.home}/server/${jboss_run_configuration}/deploy" />
66         <property name="jboss.run_conf.lib.dir" value="${jboss.home}/server/${jboss_run_configuration}/lib" />
67         <property name="jboss.lib.dir" value="${jboss.home}/lib" />
68         <property name="jboss.common.lib.dir" value="${jboss.home}/common/lib" />
69
70         <property name="solr-spec.dir" value="${basedir}/solr"/>
71         <property name="solr-spec.conf.dir" value="${solr-spec.dir}/conf"/>
72         <property name="solr.conf.dir" value="${solr.home}/conf"/>
73         
74         <!-- MBeans -->
75         <property name="mbeans.dir" value="${basedir}/mbeans"/>
76         <property name="mbeans.meta-inf.dir" value="${mbeans.dir}/META-INF"/>
77
78         <!-- JUnit dirs -->
79         <property name="test.dir" value="${basedir}/test" />
80
81         <!-- Build dirs -->
82     <property  name="src.dir" value="${basedir}/src}"/>
83     <property  name="solr.src.dir" value="${solr-spec.dir}/src"/>
84         <property name="build.dir" value="${basedir}/bin" />
85         <property name="build.classes.dir" value="${build.dir}/classes" />
86         <property name="test.build.dir" value="${build.dir}" />
87         <property name="test.build.classes.dir" value="${test.build.dir}/" />
88         <property name="gwt.www.dir" value="${basedir}/www" />
89         <property name="gwt.www.admin.dir" value="${basedir}/wwwadmin" />
90         <property name="dist.war" value="${ant.project.name}.war"/>
91         <property name="dist.admin.war" value="${ant.project.name}-admin.war"/>
92         <property name="webdav.war" value="webdav.war"/>
93         <property name="dist.ear" value="${ant.project.name}.ear"/>
94         <property name="war.dir" value="${basedir}/war" />
95         <property name="war.web-inf.dir" value="${war.dir}/WEB-INF"/>
96         <property name="war.lib.dir" value="${war.web-inf.dir}/lib"/>
97         <property name="war.admin.dir" value="${basedir}/waradmin" />
98         <property name="war.admin.web-inf.dir" value="${war.dir}/WEB-INF"/>
99         <property name="war.admin.lib.dir" value="${war.web-inf.dir}/lib"/>
100         <property name="webdav.war.dir" value="${basedir}/webdav" />
101         <property name="webdav.war.web-inf.dir" value="${webdav.war.dir}/WEB-INF"/>
102         <property name="webdav.war.lib.dir" value="${webdav.war.web-inf.dir}/lib"/>
103         <property name="ear.dir" value="${basedir}/ear" />
104         <property name="ear.lib.dir" value="${ear.dir}/lib" />
105         <property name="mbeans.dist.file" value="${ant.project.name}-mbeans.sar"/>
106
107         <!-- set classpath -->
108         <path id="project.class.path">
109                 <pathelement path="${java.class.path}/" />
110                 <pathelement path="${gwt.path}/gwt-user.jar" />
111                 <pathelement location="${jboss.common.lib.dir}/commons-logging.jar"/>
112                 <pathelement location="${jboss.common.lib.dir}/ejb3-persistence.jar"/>
113                 <pathelement location="${jboss.common.lib.dir}/jboss-ejb3-ext-api.jar"/>
114                 <pathelement location="${jboss.common.lib.dir}/jboss-javaee.jar"/>
115                 <pathelement location="${jboss.common.lib.dir}/jbosssx.jar"/>
116                 <pathelement location="${jboss.common.lib.dir}/hibernate-core.jar"/>
117         <pathelement location="${jboss.common.lib.dir}/hibernate-annotations.jar"/>
118                 <pathelement location="${jboss.lib.dir}/jboss-j2se.jar"/>
119                 <pathelement location="${jboss.lib.dir}/jboss-kernel.jar"/>
120                 <pathelement location="${jboss.lib.dir}/jboss-system-jmx.jar"/>
121                 <pathelement location="${jboss.lib.dir}/jboss-system.jar"/>
122                 <pathelement location="${jboss.lib.dir}/jbosssx.jar"/>
123                 <pathelement location="${ear.lib.dir}/commons-codec-1.4.jar"/>
124                 <pathelement location="${ear.lib.dir}/commons-configuration-1.6.jar"/>
125                 <pathelement location="${war.lib.dir}/commons-fileupload-1.2.jar"/>
126         <pathelement location="${ear.lib.dir}/commons-httpclient-3.1.jar"/>
127                 <pathelement location="${ear.lib.dir}/commons-lang.jar"/>
128                 <pathelement location="${ear.lib.dir}/ldap.jar"/>
129                 <pathelement location="${junit.path}/junit.jar"/>
130                 <pathelement location="${deps.dir}/${gwt-dnd.filename}"/>
131                 <pathelement location="${gwt-gears.path}/gwt-gears.jar"/>
132                 <pathelement location="${deps.dir}/${gwt-incubator.filename}"/>
133                 <pathelement location="${gwt-visualization.path}/gwt-visualization.jar"/>
134                 <pathelement location="${solr.dist}/${solrj.jar}"/>
135         <pathelement location="${solr.dist}/apache-solr-core-1.4.1.jar"/>
136         <pathelement location="${solr.lib}/lucene-core-2.9.3.jar"/>
137         <pathelement location="${solr.lib}/lucene-analyzers-2.9.3.jar"/>
138         </path>
139
140         <target name="check-jboss">
141                 <available file="${jboss.home}" type="dir" property="jboss.home.present"/>
142         </target>
143
144     <target name="fetch-dependencies" description="Fetch the dpendencies" unless="jboss.home.present" depends="check-jboss">
145         <mkdir dir="${deps.dir}"/>
146         <get src="${gwt.download.url}" dest="${deps.dir}/${gwt.filename}" usetimestamp="true"/>
147         <get src="${gwt-dnd.download.url}" dest="${deps.dir}/${gwt-dnd.filename}" usetimestamp="true"/>
148         <get src="${gwt-gears.download.url}" dest="${deps.dir}/${gwt-gears.filename}" usetimestamp="true"/>
149         <get src="${gwt-visualization.download.url}" dest="${deps.dir}/${gwt-visualization.filename}" usetimestamp="true"/>
150         <get src="${gwt-incubator.download.url}" dest="${deps.dir}/${gwt-incubator.filename}" usetimestamp="true"/>
151         <get src="${hornetq.download.url}" dest="${deps.dir}/${hornetq.filename}" usetimestamp="true"/>
152         <get src="${junit.download.url}" dest="${deps.dir}/${junit.filename}" usetimestamp="true"/>
153         <get src="${jboss.download.url}" dest="${deps.dir}/${jboss.filename}" usetimestamp="true"/>
154         <unzip src="${deps.dir}/${gwt.filename}" dest="${deps.dir}"/>
155         <unzip src="${deps.dir}/${gwt-gears.filename}" dest="${deps.dir}"/>
156         <unzip src="${deps.dir}/${gwt-visualization.filename}" dest="${deps.dir}"/>
157         <unzip src="${deps.dir}/${hornetq.filename}" dest="${deps.dir}"/>
158         <unzip src="${deps.dir}/${junit.filename}" dest="${deps.dir}"/>
159         <unzip src="${deps.dir}/${jboss.filename}" dest="${jboss.home}/.."/>
160     </target>
161
162         <target name="install" depends="fetch-dependencies, install-solr" description="Installs the configuration files of the application server">
163                 <!-- Install HornetQ configuration -->
164                 <copy todir="${jboss.run_conf.lib.dir}">
165                         <fileset dir="${hornetq.path}/lib">
166                                 <include name="hornetq-*.jar"/>
167                                 <include name="netty*.jar"/>
168                         </fileset>
169                 </copy>
170                 <property name="hornetq.sar.dir" value="${jboss.deploy.dir}/hornetq.sar"/>
171                 <mkdir dir="${hornetq.sar.dir}"/>
172                 <copy todir="${hornetq.sar.dir}">
173                         <fileset dir="${hornetq.path}/config/jboss-as/non-clustered" includes="*" excludes="**/jboss-as-4/**"/>
174                 </copy>
175                 <unzip src="${hornetq.path}/lib/hornetq-ra.rar" dest="${jboss.deploy.dir}/hornetq-ra.rar"/>
176                 <delete dir="${jboss.deploy.dir}/messaging" failonerror="false"/>
177                 <mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x86"/>
178                 <mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x64"/>
179                 <copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x86" file="${hornetq.path}/bin/libHornetQAIO32.so"/>
180                 <copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x64" file="${hornetq.path}/bin/libHornetQAIO64.so"/>
181                 <!-- Install gss configuration -->
182                 <copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false">
183                         <fileset dir="${jboss.project}/bin"/>
184                 </copy>
185                 <copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false">
186                         <fileset dir="${jboss-spec.bin.dir}" />
187                 </copy>
188                 <copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false">
189                         <fileset dir="${jboss.project}/conf"/>
190                 </copy>
191                 <copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false">
192                         <fileset dir="${jboss-spec.conf.dir}"/>
193                 </copy>
194                 <copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false">
195                         <fileset dir="${jboss.project}/lib"/>
196                 </copy>
197                 <copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false">
198                         <fileset dir="${jboss-spec.lib.dir}" />
199                 </copy>
200                 <copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false">
201                         <fileset dir="${jboss.project}/deploy"/>
202                 </copy>
203                 <copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false">
204                         <fileset dir="${jboss-spec.deploy.dir}" />
205                 </copy>
206         <!-- Make run.sh executable again -->
207         <chmod file="${jboss.bin.dir}/run.sh" perm="ugo+x"/>
208         </target>
209
210         <target name="compile" description="Compile src to bin">
211                 <mkdir dir="${build.dir}" />
212                 <javac srcdir="${src.dir}:${test.dir}" destdir="${build.dir}" debug="on" debuglevel="lines,vars,source" source="1.6">
213                         <classpath refid="project.class.path" />
214                 </javac>
215         </target>
216
217         <target name="package-code" depends="compile" description="Package up the project code as a jar">
218                 <jar destfile="${build.dir}/${ant.project.name}.jar">
219                         <fileset dir="bin">
220                                 <include name="org/json/**" />
221                                 <include name="**/client/AdminService.class" />
222                                 <include name="**/server/**" />
223                                 <exclude name="**/domain/**"/>
224                                 <exclude name="**/ejb/**"/>
225                         </fileset>
226                         <fileset dir="src">
227                                 <include name="**/*.xml" />
228                                 <include name="**/client/exceptions/**" />
229                                 </fileset>
230                 </jar>
231         </target>
232
233         <target name="package-webdav" depends="compile" description="Package up the webdav code as a jar">
234                 <jar destfile="${build.dir}/webdav.jar">
235                         <fileset dir="bin">
236                                 <include name="**/webdav/**" />
237                         </fileset>
238                 </jar>
239         </target>
240
241         <target name="package-ejb" depends="compile" description="Package up the EJB classes">
242                 <jar destfile="${build.dir}/ejbs.jar">
243                         <zipfileset dir="${basedir}/persistence" />
244                         <zipfileset dir="${build.dir}">
245                                 <include name="**/configuration/**" />
246                                 <include name="**/exceptions/**" />
247                                 <include name="**/domain/**" />
248                                 <include name="**/ejb/**" />
249                                 <exclude name="**/*Test.class"/>
250                         </zipfileset>
251                 </jar>
252         </target>
253
254         <target name="check-gwt-compile" depends="compile">
255                 <uptodate property="compilation-not-needed">
256                         <srcfiles dir="${src.dir}" excludes="**/server/**"/>
257                         <mergemapper to="${build.dir}/www/gr.ebs.gss.GSS.nocache.js"/>
258                 </uptodate>
259         </target>
260
261         <target name="gwt-compile" depends="check-gwt-compile" unless="compilation-not-needed" description="Compile client code to JavaScript">
262         <condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar">
263                 <available file="${gwt.path}/gwt-dev.jar" />
264         </condition>
265                 
266                 <java classname="com.google.gwt.dev.Compiler" failonerror="true" fork="true">
267                         <!--arg value="-style"/>
268                         <arg value="DETAILED"/-->
269                         <arg value="-localWorkers" />
270                         <arg value="${gwt.workers}" />
271                         <arg value="-war"/>
272                         <arg value="${gwt.www.dir}"/>
273                         <arg value="${gwt.module}"/>
274                         
275                     <classpath>
276                         <pathelement path="${gwt-dev-lib}"/>
277                                 <path refid="project.class.path" />
278                                 <pathelement path="${src.dir}" />
279                     </classpath>
280                 </java>
281                 <mkdir dir="${build.dir}/www"/>
282                 <copy todir="${build.dir}/www">
283                         <fileset dir="${gwt.www.dir}/${gwt.module}" excludes="**/${gwt.module.class}.html">
284                         </fileset>
285                 </copy>
286                 <copy file="${gwt.www.dir}/${gwt.module}/${gwt.module.class}.html" tofile="${build.dir}/www/index.html" />
287         </target>
288         
289         <target name="package-war" depends="gwt-compile, package-code" description="Package up the web part as a war">
290                 <jar destfile="${build.dir}/${dist.war}">
291                         <zipfileset dir="${war.dir}" >
292                             <exclude name="**/classes/**"/>
293                         </zipfileset>
294                         <zipfileset dir="${build.dir}/www" />
295                         <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
296                                 <include name="${ant.project.name}.jar" />
297                         </zipfileset>
298                 </jar>
299         </target>
300         
301         <target name="check-gwt-admin-compile" depends="compile">
302                 <uptodate property="compilation-not-needed">
303                         <srcfiles dir="${src.dir}" excludes="**/server/**"/>
304                         <mergemapper to="${build.dir}/wwwadmin/gr.ebs.gss.admin.TwoAdmin.nocache.js"/>
305                 </uptodate>
306         </target>
307
308         <target name="gwt-admin-compile" depends="check-gwt-admin-compile" unless="compilation-not-needed" description="Compile client code to JavaScript">
309         <condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar">
310                 <available file="${gwt.path}/gwt-dev.jar" />
311         </condition>
312                 
313                 <java classname="com.google.gwt.dev.Compiler" failonerror="true" fork="true">
314                         <!--arg value="-style"/>
315                         <arg value="DETAILED"/-->
316                         <arg value="-localWorkers" />
317                         <arg value="${gwt.workers}" />
318                         <arg value="-war"/>
319                         <arg value="${gwt.www.admin.dir}"/>
320                         <arg value="${gwt.admin.module}"/>
321             <jvmarg value="-Xmx128m"/>                                          
322                     <classpath>
323                         <pathelement path="${gwt-dev-lib}"/>
324                                 <path refid="project.class.path" />
325                                 <pathelement path="${src.dir}" />
326                     </classpath>
327                 </java>
328                 <mkdir dir="${build.dir}/wwwadmin"/>
329                 <copy todir="${build.dir}/wwwadmin">
330                         <fileset dir="${gwt.www.admin.dir}/${gwt.admin.module}" excludes="**/${gwt.admin.module.class}.html">
331                         </fileset>
332                 </copy>
333                 <copy file="${gwt.www.admin.dir}/${gwt.admin.module}/${gwt.admin.module.class}.html" tofile="${build.dir}/wwwadmin/index.html" />
334         </target>
335                 
336         <target name="package-admin-war" depends="gwt-admin-compile, package-code" description="Package up the web part as a war">
337                 <jar destfile="${build.dir}/${dist.admin.war}">
338                         <zipfileset dir="${war.admin.dir}" >
339                                   <exclude name="**/classes/**"/>
340             </zipfileset>
341                         <zipfileset dir="${build.dir}/wwwadmin" />
342                         <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
343                                 <include name="${ant.project.name}.jar" />
344                         </zipfileset>
345                         <zipfileset dir="${gwt.path}" prefix="WEB-INF/lib">
346                                 <include name="gwt-servlet.jar" />
347                         </zipfileset>
348                 </jar>
349         </target>
350
351         <target name="package-webdav-war" depends="package-webdav" description="Package up the WebDAV part as a war">
352                 <jar destfile="${build.dir}/${webdav.war}">
353                         <zipfileset dir="${webdav.war.dir}" />
354                         <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
355                                 <include name="webdav.jar" />
356                         </zipfileset>
357                 </jar>
358         </target>
359
360         <target name="package-mbeans" depends="compile">
361                 <jar jarfile="${build.dir}/${mbeans.dist.file}" basedir="${build.dir}">
362                         <include name="**/mbeans/**"/>
363                         <metainf dir="${mbeans.meta-inf.dir}"/>
364                 </jar>
365         </target>
366         
367         <target name="package-ear" depends="package-admin-war, package-war, package-webdav-war, package-ejb, package-mbeans" description="Package up the project as an ear">
368                 <jar destfile="${build.dir}/${dist.ear}">
369                         <zipfileset dir="${ear.dir}" />
370                         <zipfileset dir="${build.dir}" >
371                                 <include name="ejbs.jar" />
372                                 <include name="${dist.war}" />
373                                 <include name="${webdav.war}" />
374                 <include name="${dist.admin.war}" />
375                                 <include name="${mbeans.dist.file}"/>
376                         </zipfileset>
377                 <zipfileset dir="${solr.dist}" prefix="lib">
378                                 <include name="${solrj.jar}" />
379                         </zipfileset>
380                 </jar>
381         </target>
382
383         <target name="deploy" depends="package-ear" description="Deploy the project to the server">
384                 <copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}"/>
385         </target>
386
387         <target name="redeploy" depends="package-ear" description="Redeploy the project to the server">
388                 <copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}" overwrite="yes"/>
389         </target>
390
391         <target name="undeploy" description="Undeploy the project from the server">
392                 <delete file="${jboss.deploy.dir}/${dist.ear}"/>
393         </target>
394
395         <target name="clean" description="Delete the contents of the bin and www directories">
396                 <delete dir="${build.dir}"/>
397                 <delete dir="${gwt.www.dir}"/>
398                 <delete dir="${gwt.www.admin.dir}"/>
399         </target>
400
401     <target name="deinstall"
402         description="Delete the contents of the JBoss home directory">
403         <delete dir="${jboss.home}"/>
404     </target>
405
406     <target name="distclean" depends="deinstall, clean"
407         description="Delete the contents of the JBoss home directory and all downloaded artifacts">
408         <delete dir="${deps.dir}"/>
409     </target>
410
411         <target name="test" description="Performs unit tests on the project" depends="compile">
412                 <available
413                       property="junit.present"
414                       classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"
415                       classpathref="project.class.path"/>
416             <fail unless="junit.present">
417               ##################################################################
418               JUnit not found.
419               Please make sure junit.jar is in ANT_HOME/lib, or made available
420               to Ant using other mechanisms like -lib or CLASSPATH.
421               ##################################################################
422                 </fail>
423
424                 <junit printsummary="withOutAndErr" fork="yes" haltonfailure="yes">
425                         <classpath refid="project.class.path"/>
426                         <formatter type="plain"/>
427                         <batchtest todir="${test.build.dir}">
428                                 <fileset dir="${test.build.classes.dir}">
429                                         <include name="**/*Test.class"/>
430                                 </fileset>          
431                         </batchtest>
432
433                 </junit>
434         </target>
435
436         <target name="run" description="Starts the server" depends="deploy">
437         <exec executable="${jboss.bin.dir}/run.sh" osfamily="unix">
438             <arg line="${jboss.args}"/>
439         </exec>
440                 <exec executable="cmd" osfamily="windows">
441                     <arg value="/c"/>
442                     <arg value="${jboss.bin.dir}/run.bat"/>
443             <arg line="${jboss.args}"/>
444                 </exec>
445     </target>
446     
447         <target name="check-solr">
448                 <available file="${solr.root}" type="dir" property="solr.home.present"/>
449         </target>
450
451     <target name="fetch-solr" unless="solr.home.present" depends="check-solr">
452                 <get src="${solr.download.url}" dest="${deps.dir}/${solr.filename}" usetimestamp="true"/>
453         <unzip src="${deps.dir}/${solr.filename}" dest="${deps.dir}"/>
454     </target>
455
456     <target name="compile-solr" depends="fetch-solr">
457         <mkdir dir="${build.dir}"/>
458         <javac srcdir="${solr.src.dir}" destdir="${build.dir}" debug="on" debuglevel="lines,vars,source" source="1.6">
459             <classpath refid="project.class.path" />
460         </javac>
461     </target>
462
463     <target name="install-solr" depends="fetch-solr, compile-solr">
464                 <copy todir="${solr.conf.dir}" overwrite="true" failonerror="false">
465                         <fileset dir="${solr-spec.conf.dir}" />
466                 </copy>
467                 <jar destfile="${solr.root}/greektokenfilter.jar">
468                     <fileset dir="${build.dir}">
469                                 <include name="gr/ebs/gss/solr/analysis/GreekLowerCaseFilterFactory.class"/>
470                     </fileset>
471                 </jar>
472     </target>
473     
474     <target name="run-solr" depends="install-solr">
475         <java jar="${solr.root}/example/start.jar" fork="true" dir="${solr.root}/example"/>
476     </target>
477 </project>