Statistics
| Branch: | Tag: | Revision:

root / build.xml @ ad18f9c9

History | View | Annotate | Download (23.1 kB)

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.1.1"/>
30
    <property name="gwt.filename" value="gwt-2.1.1.zip"/>
31
        <property name="gwt.download.url" value="http://google-web-toolkit.googlecode.com/files/gwt-2.1.1.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}/junit4.8.1"/>
36
        <property name="junit.filename" value="junit4.8.1.zip"/>
37
        <property name="junit.download.url" value="http://sourceforge.net/projects/junit/files/junit/4.8.1/junit4.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-20101117-r1766.jar"/>
47
    <property name="gwt-incubator.download.url" value="http://google-web-toolkit-incubator.googlecode.com/files/gwt-incubator-20101117-r1766.jar"/>
48
        <property name="selenium-server.filename" value="selenium-server-standalone-2.0b1.jar"/>
49
        <property name="selenium-server.download.url" value="http://selenium.googlecode.com/files/selenium-server-standalone-2.0b1.jar"/>
50
        
51
        <!-- DND SUPPORT -->
52
                <property name="gquery.filename" value="gwtquery-1.0.0-SNAPSHOT.jar"/>
53
                <property name="gquery-dnd-bundle.filename" value="gquery-dnd-bundle-1.0.2.jar"/>
54
                <property name="gquery-dnd-bundle.download.url" value="http://gwtquery-plugins.googlecode.com/files/gquery-dnd-bundle-1.0.2.jar"/>
55
                
56
        
57
        <!-- Source and runtime layout configuration -->
58
        <property name="jboss_run_configuration" value="default" />
59
    <property name="root.context" value="gss" />
60
    <property name="gwt.module" value="gr.ebs.gss.GSS" />
61
    <property name="gwt.module.class" value="GSS" />
62
    <property name="gwt.admin.module" value="gr.ebs.gss.admin.TwoAdmin" />
63
    <property name="gwt.admin.module.class" value="TwoAdmin" />
64
        <property name="src.dir" value="${basedir}/src"/>
65
    <property name="jboss-spec.dir" value="${basedir}/jboss" />
66
    <property name="jboss-spec.conf.dir" value="${jboss-spec.dir}/conf" />
67
    <property name="jboss-spec.bin.dir" value="${jboss-spec.dir}/bin" />
68
    <property name="jboss-spec.deploy.dir" value="${jboss-spec.dir}/deploy" />
69
    <property name="jboss-spec.lib.dir" value="${jboss-spec.dir}/lib" />
70
        <property name="jboss.project" value="${basedir}/jboss-config/${jboss.version}" />
71
        <property name="jboss.bin.dir" value="${jboss.home}/bin" />
72
        <property name="jboss.conf.dir" value="${jboss.home}/server/${jboss_run_configuration}/conf" />
73
        <property name="jboss.deploy.dir" value="${jboss.home}/server/${jboss_run_configuration}/deploy" />
74
        <property name="jboss.run_conf.lib.dir" value="${jboss.home}/server/${jboss_run_configuration}/lib" />
75
        <property name="jboss.lib.dir" value="${jboss.home}/lib" />
76
        <property name="jboss.common.lib.dir" value="${jboss.home}/common/lib" />
77

    
78
        <property name="solr-spec.dir" value="${basedir}/solr"/>
79
        <property name="solr-spec.conf.dir" value="${solr-spec.dir}/conf"/>
80
        <property name="solr.conf.dir" value="${solr.home}/conf"/>
81
        
82
        <!-- MBeans -->
83
        <property name="mbeans.dir" value="${basedir}/mbeans"/>
84
        <property name="mbeans.meta-inf.dir" value="${mbeans.dir}/META-INF"/>
85

    
86
        <!-- JUnit dirs -->
87
        <property name="test.dir" value="${basedir}/test" />
88

    
89
        <!-- Build dirs -->
90
    <property  name="src.dir" value="${basedir}/src}"/>
91
    <property  name="solr.src.dir" value="${solr-spec.dir}/src"/>
92
        <property name="build.dir" value="${basedir}/bin" />
93
        <property name="build.classes.dir" value="${build.dir}/classes" />
94
        <property name="test.build.dir" value="${build.dir}" />
95
        <property name="test.build.classes.dir" value="${test.build.dir}/" />
96
        <property name="gwt.www.dir" value="${basedir}/www" />
97
        <property name="gwt.www.admin.dir" value="${basedir}/wwwadmin" />
98
        <property name="dist.war" value="${ant.project.name}.war"/>
99
        <property name="dist.admin.war" value="${ant.project.name}-admin.war"/>
100
        <property name="webdav.war" value="webdav.war"/>
101
        <property name="dist.ear" value="${ant.project.name}.ear"/>
102
        <property name="war.dir" value="${basedir}/war" />
103
        <property name="war.web-inf.dir" value="${war.dir}/WEB-INF"/>
104
        <property name="war.lib.dir" value="${war.web-inf.dir}/lib"/>
105
        <property name="war.admin.dir" value="${basedir}/waradmin" />
106
        <property name="war.admin.web-inf.dir" value="${war.dir}/WEB-INF"/>
107
        <property name="war.admin.lib.dir" value="${war.web-inf.dir}/lib"/>
108
        <property name="webdav.war.dir" value="${basedir}/webdav" />
109
        <property name="webdav.war.web-inf.dir" value="${webdav.war.dir}/WEB-INF"/>
110
        <property name="webdav.war.lib.dir" value="${webdav.war.web-inf.dir}/lib"/>
111
        <property name="ear.dir" value="${basedir}/ear" />
112
        <property name="ear.lib.dir" value="${ear.dir}/lib" />
113
        <property name="mbeans.dist.file" value="${ant.project.name}-mbeans.sar"/>
114
        <property name="lib.dir" value="${basedir}/lib" />
115
        
116
        <!-- set classpath -->
117
        <path id="project.class.path">
118
                <pathelement path="${java.class.path}/" />
119
                <!-- DO NOT MOVE THESE JARS BELOW MUST BE FIRST ON CLASSPATH -->
120
                <pathelement location="${lib.dir}/gwtquery-1.0.0-20110116.074055-7.jar"/>
121
                <pathelement location="${lib.dir}/droppable-plugin-1.0.2.jar"/> 
122
                <pathelement location="${lib.dir}/draggable-plugin-1.0.2.jar"/>
123
                <pathelement location="${lib.dir}/commonui-plugin-1.0.3.jar"/>
124
                <!-- END OF DO NOT MOVE THESE JARS BELOW MUST BE FIRST ON CLASSPATH -->
125
                <pathelement path="${gwt.path}/gwt-user.jar" />
126
                <pathelement location="${jboss.common.lib.dir}/commons-logging.jar"/>
127
                <pathelement location="${jboss.common.lib.dir}/ejb3-persistence.jar"/>
128
                <pathelement location="${jboss.common.lib.dir}/jboss-ejb3-ext-api.jar"/>
129
                <pathelement location="${jboss.common.lib.dir}/jboss-javaee.jar"/>
130
                <pathelement location="${jboss.common.lib.dir}/jbosssx.jar"/>
131
                <pathelement location="${jboss.common.lib.dir}/hibernate-core.jar"/>
132
        <pathelement location="${jboss.common.lib.dir}/hibernate-annotations.jar"/>
133
                <pathelement location="${jboss.lib.dir}/jboss-j2se.jar"/>
134
                <pathelement location="${jboss.lib.dir}/jboss-kernel.jar"/>
135
                <pathelement location="${jboss.lib.dir}/jboss-system-jmx.jar"/>
136
                <pathelement location="${jboss.lib.dir}/jboss-system.jar"/>
137
                <pathelement location="${jboss.lib.dir}/jbosssx.jar"/>
138
                <pathelement location="${ear.lib.dir}/commons-codec-1.4.jar"/>
139
                <pathelement location="${ear.lib.dir}/commons-configuration-1.6.jar"/>
140
                <pathelement location="${war.lib.dir}/commons-fileupload-1.2.jar"/>
141
        <pathelement location="${ear.lib.dir}/commons-httpclient-3.1.jar"/>
142
                <pathelement location="${ear.lib.dir}/commons-lang.jar"/>
143
                <pathelement location="${ear.lib.dir}/ldap.jar"/>
144
                <pathelement location="${junit.path}/junit.jar"/>
145
                <pathelement location="${deps.dir}/${gwt-dnd.filename}"/>
146
                <pathelement location="${gwt-gears.path}/gwt-gears.jar"/>
147
                <!-- <pathelement location="${deps.dir}/${gwt-incubator.filename}"/> -->
148
                <pathelement location="${gwt-visualization.path}/gwt-visualization.jar"/>
149
                <pathelement location="${solr.dist}/${solrj.jar}"/>
150
        <pathelement location="${solr.dist}/apache-solr-core-1.4.1.jar"/>
151
        <pathelement location="${solr.lib}/lucene-core-2.9.3.jar"/>
152
        <pathelement location="${solr.lib}/lucene-analyzers-2.9.3.jar"/>
153
                <pathelement location="${deps.dir}/${selenium-server.filename}"/>                
154
        </path>
155

    
156
        <target name="check-jboss">
157
                <available file="${jboss.home}" type="dir" property="jboss.home.present"/>
158
        </target>
159

    
160
    <target name="fetch-dependencies" description="Fetch the dpendencies" depends="check-jboss">
161
            <mkdir dir="${deps.dir}"/>
162
            <!--
163
            <get src="${gwt-dnd.download.url}" dest="${deps.dir}/${gwt-dnd.filename}" usetimestamp="true"/>
164
        <get src="${gwt-gears.download.url}" dest="${deps.dir}/${gwt-gears.filename}" usetimestamp="true"/>
165
        <get src="${gwt-visualization.download.url}" dest="${deps.dir}/${gwt-visualization.filename}" usetimestamp="true"/>       
166
        <get src="${hornetq.download.url}" dest="${deps.dir}/${hornetq.filename}" usetimestamp="true"/>        
167
        <get src="${jboss.download.url}" dest="${deps.dir}/${jboss.filename}" usetimestamp="true"/>
168
        -->            
169
            <get src="${gwt.download.url}" dest="${deps.dir}/${gwt.filename}" usetimestamp="true"/>
170
            <get src="${gwt-incubator.download.url}" dest="${deps.dir}/${gwt-incubator.filename}" usetimestamp="true"/>
171
            <get src="${junit.download.url}" dest="${deps.dir}/${junit.filename}" usetimestamp="true"/>
172
            <get src="${selenium-server.download.url}" dest="${deps.dir}/${selenium-server.filename}" usetimestamp="true"/>            
173
            <unzip src="${deps.dir}/${gwt.filename}" dest="${deps.dir}"/>
174
            <unzip src="${deps.dir}/${junit.filename}" dest="${deps.dir}"/>            
175
            <!--
176
            <unzip src="${deps.dir}/${gwt-gears.filename}" dest="${deps.dir}"/>
177
        <unzip src="${deps.dir}/${gwt-visualization.filename}" dest="${deps.dir}"/>
178
        <unzip src="${deps.dir}/${hornetq.filename}" dest="${deps.dir}"/>        
179
        <unzip src="${deps.dir}/${jboss.filename}" dest="${jboss.home}/.."/>
180
        -->
181
    </target>
182

    
183
        <target name="install" depends="fetch-dependencies, install-solr" description="Installs the configuration files of the application server">
184
                <!-- Install HornetQ configuration -->
185
                <copy todir="${jboss.run_conf.lib.dir}">
186
                        <fileset dir="${hornetq.path}/lib">
187
                                <include name="hornetq-*.jar"/>
188
                                <include name="netty*.jar"/>
189
                        </fileset>
190
                </copy>
191
                <property name="hornetq.sar.dir" value="${jboss.deploy.dir}/hornetq.sar"/>
192
                <mkdir dir="${hornetq.sar.dir}"/>
193
                <copy todir="${hornetq.sar.dir}">
194
                        <fileset dir="${hornetq.path}/config/jboss-as/non-clustered" includes="*" excludes="**/jboss-as-4/**"/>
195
                </copy>
196
                <unzip src="${hornetq.path}/lib/hornetq-ra.rar" dest="${jboss.deploy.dir}/hornetq-ra.rar"/>
197
                <delete dir="${jboss.deploy.dir}/messaging" failonerror="false"/>
198
                <mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x86"/>
199
                <mkdir dir="${jboss.bin.dir}/META-INF/lib/linux2/x64"/>
200
                <copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x86" file="${hornetq.path}/bin/libHornetQAIO32.so"/>
201
                <copy todir="${jboss.bin.dir}/META-INF/lib/linux2/x64" file="${hornetq.path}/bin/libHornetQAIO64.so"/>
202
                <!-- Install gss configuration -->
203
                <copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false">
204
                        <fileset dir="${jboss.project}/bin"/>
205
                </copy>
206
                <copy todir="${jboss.bin.dir}" overwrite="true" failonerror="false">
207
                        <fileset dir="${jboss-spec.bin.dir}" />
208
                </copy>
209
                <copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false">
210
                        <fileset dir="${jboss.project}/conf"/>
211
                </copy>
212
                <copy todir="${jboss.conf.dir}" overwrite="true" failonerror="false">
213
                        <fileset dir="${jboss-spec.conf.dir}"/>
214
                </copy>
215
                <copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false">
216
                        <fileset dir="${jboss.project}/lib"/>
217
                </copy>
218
                <copy todir="${jboss.run_conf.lib.dir}" overwrite="true" failonerror="false">
219
                        <fileset dir="${jboss-spec.lib.dir}" />
220
                </copy>
221
                <copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false">
222
                        <fileset dir="${jboss.project}/deploy"/>
223
                </copy>
224
                <copy todir="${jboss.deploy.dir}" overwrite="true" failonerror="false">
225
                        <fileset dir="${jboss-spec.deploy.dir}" />
226
                </copy>
227
        <!-- Make run.sh executable again -->
228
        <chmod file="${jboss.bin.dir}/run.sh" perm="ugo+x"/>
229
        </target>
230

    
231
        <target name="compile" description="Compile src to bin">
232
                <mkdir dir="${build.dir}" />
233
                <javac srcdir="${src.dir}:${test.dir}" destdir="${build.dir}" debug="on" debuglevel="lines,vars,source" source="1.6">
234
                        <classpath refid="project.class.path" />
235
                </javac>
236
        </target>
237

    
238
        <target name="package-code" depends="compile" description="Package up the project code as a jar">
239
                <jar destfile="${build.dir}/${ant.project.name}.jar">
240
                        <fileset dir="bin">
241
                                <include name="org/json/**" />
242
                                <include name="**/client/AdminService.class" />
243
                                <include name="**/server/**" />
244
                                <exclude name="**/domain/**"/>
245
                                <exclude name="**/ejb/**"/>
246
                        </fileset>
247
                        <fileset dir="src">
248
                                <include name="**/*.xml" />
249
                                <include name="**/client/exceptions/**" />
250
                                </fileset>
251
                </jar>
252
        </target>
253

    
254
        <target name="package-webdav" depends="compile" description="Package up the webdav code as a jar">
255
                <jar destfile="${build.dir}/webdav.jar">
256
                        <fileset dir="bin">
257
                                <include name="**/webdav/**" />
258
                        </fileset>
259
                </jar>
260
        </target>
261

    
262
        <target name="package-ejb" depends="compile" description="Package up the EJB classes">
263
                <jar destfile="${build.dir}/ejbs.jar">
264
                        <zipfileset dir="${basedir}/persistence" />
265
                        <zipfileset dir="${build.dir}">
266
                                <include name="**/configuration/**" />
267
                                <include name="**/exceptions/**" />
268
                                <include name="**/domain/**" />
269
                                <include name="**/ejb/**" />
270
                                <exclude name="**/*Test.class"/>
271
                        </zipfileset>
272
                </jar>
273
        </target>
274

    
275
        <target name="check-gwt-compile" depends="compile">
276
                <uptodate property="compilation-not-needed">
277
                        <srcfiles dir="${src.dir}" excludes="**/server/**"/>
278
                        <mergemapper to="${build.dir}/www/gr.ebs.gss.GSS.nocache.js"/>
279
                </uptodate>
280
        </target>
281

    
282
        <target name="gwt-compile" depends="check-gwt-compile" unless="compilation-not-needed" description="Compile client code to JavaScript">
283
            <condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar">
284
                    <available file="${gwt.path}/gwt-dev.jar" />
285
            </condition>
286
                
287
                <java classname="com.google.gwt.dev.Compiler" failonerror="true" fork="true">
288
                        <!--arg value="-style"/>
289
                        <arg value="DETAILED"/-->
290
                        <arg value="-localWorkers" />
291
                        <arg value="${gwt.workers}" />
292
                        <arg value="-war"/>
293
                        <arg value="${gwt.www.dir}"/>
294
                        <arg value="${gwt.module}"/>
295
                        
296
                    <classpath>
297
                        <pathelement path="${gwt-dev-lib}"/>
298
                                <path refid="project.class.path" />
299
                                <pathelement path="${src.dir}" />
300
                    </classpath>
301
                </java>
302
                <mkdir dir="${build.dir}/www"/>
303
                <copy todir="${build.dir}/www">
304
                        <fileset dir="${gwt.www.dir}/${gwt.module}" excludes="**/${gwt.module.class}.html">
305
                        </fileset>
306
                </copy>
307
                <copy file="${gwt.www.dir}/${gwt.module}/${gwt.module.class}.html" tofile="${build.dir}/www/index.html" />
308
        </target>
309
        
310
        <target name="package-war" depends="gwt-compile, package-code" description="Package up the web part as a war">
311
                <jar destfile="${build.dir}/${dist.war}">
312
                        <zipfileset dir="${war.dir}" >
313
                            <exclude name="**/classes/**"/>
314
                        </zipfileset>
315
                        <zipfileset dir="${build.dir}/www" />
316
                        <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
317
                                <include name="${ant.project.name}.jar" />
318
                        </zipfileset>
319
                </jar>
320
        </target>
321
        
322
        <target name="check-gwt-admin-compile" depends="compile">
323
                <uptodate property="compilation-not-needed">
324
                        <srcfiles dir="${src.dir}" excludes="**/server/**"/>
325
                        <mergemapper to="${build.dir}/wwwadmin/gr.ebs.gss.admin.TwoAdmin.nocache.js"/>
326
                </uptodate>
327
        </target>
328

    
329
        <target name="gwt-admin-compile" depends="check-gwt-admin-compile" unless="compilation-not-needed" description="Compile client code to JavaScript">
330
            <condition property="gwt-dev-lib" value="${gwt.path}/gwt-dev.jar">
331
                    <available file="${gwt.path}/gwt-dev.jar" />
332
            </condition>
333
                
334
                <java classname="com.google.gwt.dev.Compiler" failonerror="true" fork="true">
335
                        <!--arg value="-style"/>
336
                        <arg value="DETAILED"/-->
337
                        <arg value="-localWorkers" />
338
                        <arg value="${gwt.workers}" />
339
                        <arg value="-war"/>
340
                        <arg value="${gwt.www.admin.dir}"/>
341
                        <arg value="${gwt.admin.module}"/>
342
            <jvmarg value="-Xmx128m"/>                                                
343
                    <classpath>
344
                        <pathelement path="${gwt-dev-lib}"/>
345
                                <path refid="project.class.path" />
346
                                <pathelement path="${src.dir}" />
347
                    </classpath>
348
                </java>
349
                <mkdir dir="${build.dir}/wwwadmin"/>
350
                <copy todir="${build.dir}/wwwadmin">
351
                        <fileset dir="${gwt.www.admin.dir}/${gwt.admin.module}" excludes="**/${gwt.admin.module.class}.html">
352
                        </fileset>
353
                </copy>
354
                <copy file="${gwt.www.admin.dir}/${gwt.admin.module}/${gwt.admin.module.class}.html" tofile="${build.dir}/wwwadmin/index.html" />
355
        </target>
356
                
357
        <target name="package-admin-war" depends="gwt-admin-compile, package-code" description="Package up the web part as a war">
358
                <jar destfile="${build.dir}/${dist.admin.war}">
359
                        <zipfileset dir="${war.admin.dir}" >
360
                                  <exclude name="**/classes/**"/>
361
            </zipfileset>
362
                        <zipfileset dir="${build.dir}/wwwadmin" />
363
                        <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
364
                                <include name="${ant.project.name}.jar" />
365
                        </zipfileset>
366
                        <zipfileset dir="${gwt.path}" prefix="WEB-INF/lib">
367
                                <include name="gwt-servlet.jar" />
368
                        </zipfileset>
369
                </jar>
370
        </target>
371

    
372
        <target name="package-webdav-war" depends="package-webdav" description="Package up the WebDAV part as a war">
373
                <jar destfile="${build.dir}/${webdav.war}">
374
                        <zipfileset dir="${webdav.war.dir}" />
375
                        <zipfileset dir="${build.dir}" prefix="WEB-INF/lib">
376
                                <include name="webdav.jar" />
377
                        </zipfileset>
378
                </jar>
379
        </target>
380

    
381
        <target name="package-mbeans" depends="compile">
382
                <jar jarfile="${build.dir}/${mbeans.dist.file}" basedir="${build.dir}">
383
                        <include name="**/mbeans/**"/>
384
                        <metainf dir="${mbeans.meta-inf.dir}"/>
385
                </jar>
386
        </target>
387
        
388
        <target name="package-ear" depends=" package-war, package-webdav-war, package-ejb, package-mbeans" description="Package up the project as an ear">
389
                <jar destfile="${build.dir}/${dist.ear}">
390
                        <zipfileset dir="${ear.dir}" />
391
                        <zipfileset dir="${build.dir}" >
392
                                <include name="ejbs.jar" />
393
                                <include name="${dist.war}" />
394
                                <include name="${webdav.war}" />
395

    
396
                                <include name="${mbeans.dist.file}"/>
397
                        </zipfileset>
398
                    <zipfileset dir="${solr.dist}" prefix="lib">
399
                                <include name="${solrj.jar}" />
400
                        </zipfileset>
401
                </jar>
402
        </target>
403

    
404
        <target name="deploy" depends="package-ear" description="Deploy the project to the server">
405
                <copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}"/>
406
        </target>
407

    
408
        <target name="redeploy" depends="package-ear" description="Redeploy the project to the server">
409
                <copy todir="${jboss.deploy.dir}" file="${build.dir}/${dist.ear}" overwrite="yes"/>
410
        </target>
411

    
412
        <target name="undeploy" description="Undeploy the project from the server">
413
                <delete file="${jboss.deploy.dir}/${dist.ear}"/>
414
        </target>
415

    
416
        <target name="clean" description="Delete the contents of the bin and www directories">
417
                <delete dir="${build.dir}"/>
418
                <delete dir="${gwt.www.dir}"/>
419
                <delete dir="${gwt.www.admin.dir}"/>
420
        </target>
421

    
422
    <target name="deinstall"
423
            description="Delete the contents of the JBoss home directory">
424
        <delete dir="${jboss.home}"/>
425
    </target>
426

    
427
    <target name="distclean" depends="deinstall, clean"
428
        description="Delete the contents of the JBoss home directory and all downloaded artifacts">
429
        <delete dir="${deps.dir}"/>
430
    </target>
431

    
432
        <target name="test" description="Performs unit tests on the project" depends="compile">
433
                <available
434
                      property="junit.present"
435
                      classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"
436
                      classpathref="project.class.path"/>
437
            <fail unless="junit.present">
438
              ##################################################################
439
              JUnit not found.
440
              Please make sure junit.jar is in ANT_HOME/lib, or made available
441
              to Ant using other mechanisms like -lib or CLASSPATH.
442
              ##################################################################
443
                </fail>
444

    
445
                <junit printsummary="withOutAndErr" fork="yes" haltonfailure="yes">
446
                        <classpath refid="project.class.path"/>
447
                        <formatter type="plain"/>
448
                        <batchtest todir="${test.build.dir}">
449
                                <fileset dir="${test.build.classes.dir}">
450
                                        <include name="**/*Test.class"/>
451
                                </fileset>          
452
                        </batchtest>
453

    
454
                </junit>
455
        </target>
456

    
457
        <target name="run" description="Starts the server" depends="deploy">
458
        <exec executable="${jboss.bin.dir}/run.sh" osfamily="unix">
459
            <arg line="${jboss.args}"/>
460
        </exec>
461
                <exec executable="cmd" osfamily="windows">
462
                    <arg value="/c"/>
463
                    <arg value="${jboss.bin.dir}/run.bat"/>
464
            <arg line="${jboss.args}"/>
465
                </exec>
466
    </target>
467
    
468
        <target name="check-solr">
469
                <available file="${solr.root}" type="dir" property="solr.home.present"/>
470
        </target>
471

    
472
    <target name="fetch-solr" unless="solr.home.present" depends="check-solr">
473
                <get src="${solr.download.url}" dest="${deps.dir}/${solr.filename}" usetimestamp="true"/>
474
            <unzip src="${deps.dir}/${solr.filename}" dest="${deps.dir}"/>
475
    </target>
476

    
477
    <target name="compile-solr" depends="fetch-solr">
478
        <mkdir dir="${build.dir}"/>
479
        <javac srcdir="${solr.src.dir}" destdir="${build.dir}" debug="on" debuglevel="lines,vars,source" source="1.6">
480
            <classpath refid="project.class.path" />
481
        </javac>
482
    </target>
483

    
484
    <target name="install-solr" depends="fetch-solr, compile-solr">
485
                <copy todir="${solr.conf.dir}" overwrite="true" failonerror="false">
486
                        <fileset dir="${solr-spec.conf.dir}" />
487
                </copy>
488
                <jar destfile="${solr.root}/greektokenfilter.jar">
489
                    <fileset dir="${build.dir}">
490
                                <include name="gr/ebs/gss/solr/analysis/GreekLowerCaseFilterFactory.class"/>
491
                    </fileset>
492
                </jar>
493
    </target>
494
    
495
    <target name="run-solr" depends="install-solr">
496
        <java jar="${solr.root}/example/start.jar" fork="true" dir="${solr.root}/example"/>
497
    </target>
498
</project>