Subversion Repositories bacoAlunos

Rev

Rev 109 | Rev 146 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
109 fvelez 1
<?xml version="1.0" encoding="ISO-8859-1"?>
1 fvelez 2
<project name="estgweb" basedir="." default="help">
3
 
4
 
5
    <!--
6
    ==========================================================================================
7
    ANT TASKS
8
    ==========================================================================================
9
    -->
10
    <target name="help">
11
        <echo>This is the availible Ant Tasks:</echo>
12
    </target>
13
 
14
 
15
    <!--
16
    ==========================================================================================
17
    Path libs definitions and Properties files
18
    ==========================================================================================
19
    -->
20
 
21
 
104 jmachado 22
    <import file="libs.xml"/>
99 jmachado 23
    <import file="build-web-services.xml"/>
1 fvelez 24
 
25
    <!--
26
    ==========================================================================================
27
    General Task
28
    ==========================================================================================
29
    -->
30
    <!--caso queiramos apagar os pregen hbm delPreGenAppScripts-->
31
    <target name="all" depends="clean,initDirs,createConfigurationFiles,generateHibernateDomainObjects,generateHibernateDaoClasses,build,genAppScripts,build.war,dbInit"/>
32
 
33
 
34
    <!--
35
    ==========================================================================================
36
    CLEAN TASKS
37
    ==========================================================================================
38
    -->
39
    <target name="clean" description="clean *.class and build dir">
40
        <delete dir="${build.dir}"/>
99 jmachado 41
        <delete dir="${dist.dir}"/>
7 jmachado 42
        <delete>
43
            <fileset dir="${gen.dir.java}">
112 jmachado 44
                <exclude name="pt/ipportalegre/**/*.*"/>
7 jmachado 45
                <include name="**/*.java"/>
46
            </fileset>
47
        </delete>
1 fvelez 48
        <antcall target="initDirs"/>
49
    </target>
50
 
51
 
52
 
53
    <!--
54
     ==========================================================================================
55
     CREATE-DIRS
56
     ==========================================================================================
57
     -->
58
    <target name="initDirs">
59
        <mkdir dir="${log.dir}"/>
60
        <mkdir dir="${data.dir}"/>
61
        <mkdir dir="${build.dir}"/>
62
        <mkdir dir="${build.dir.classes}"/>
63
        <mkdir dir="${build.dir.war}"/>
99 jmachado 64
        <mkdir dir="${build.dir.ws}"/>
1 fvelez 65
        <delete dir="${dist.dir}"/>
66
        <mkdir dir="${dist.dir}"/>
67
        <mkdir dir="${gen.dir.java}"/>
68
    </target>
69
 
70
 
71
 
72
    <!--
73
    ==========================================================================================
74
    Tomcat Tasks
75
    ==========================================================================================
76
    -->
77
    <taskdef name="tomcat.reload" classname="org.apache.catalina.ant.ReloadTask" classpathref="pathToToolsLib"/>
78
    <taskdef name="tomcat.remove" classname="org.apache.catalina.ant.RemoveTask" classpathref="pathToToolsLib"/>
79
    <taskdef name="tomcat.roles" classname="org.apache.catalina.ant.RolesTask" classpathref="pathToToolsLib"/>
80
    <taskdef name="tomcat.start" classname="org.apache.catalina.ant.StartTask" classpathref="pathToToolsLib"/>
81
    <taskdef name="tomcat.stop" classname="org.apache.catalina.ant.StopTask" classpathref="pathToToolsLib"/>
82
    <taskdef name="tomcat.undeploy" classname="org.apache.catalina.ant.UndeployTask" classpathref="pathToToolsLib"/>
83
    <taskdef name="tomcat.deploy" classname="org.apache.catalina.ant.DeployTask" classpathref="pathToToolsLib"/>
84
    <taskdef name="tomcat.install" classname="org.apache.catalina.ant.InstallTask" classpathref="pathToToolsLib"/>
85
 
86
 
87
    <!--
88
        TOMCAT Instalation Tasks
89
    -->
90
    <target name="tomcat.deployContext" depends="build.war">
91
        <echo message="${tomcat.manager}"/>
92
        <tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}"
93
                        config="file://${basedir}/${dist.dir}/estgweb.xml"
94
                        username="${tomcat.username}" password="${tomcat.password}" />
95
    </target>
96
    <target name="tomcat.redeployContext" depends="tomcat.undeploy,build.war" >
97
        <echo message="${tomcat.manager}"/>
98
        <tomcat.install url="${tomcat.manager}" path="${tomcat.context.path.install}"
99
                        config="file:/${basedir}/${dist.dir}/estgweb.xml"
100
                        username="${tomcat.username}" password="${tomcat.password}" />
101
    </target>
102
    <target name="tomcat.deploy" depends="build.war" >
103
        <echo message="${tomcat.manager}"/>
104
        <tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
105
                       war="file:/${basedir}/${dist.dir}/${tomcat.war.file}"
106
                       username="${tomcat.username}" password="${tomcat.password}" />
107
    </target>
108
    <target name="tomcat.redeploy" depends="tomcat.undeploy,build.war">
109
        <echo message="${tomcat.manager}"/>
110
        <tomcat.deploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
111
                       war="file:/${basedir}/${dist.dir}/${tomcat.war.file}"
112
                       username="${tomcat.username}" password="${tomcat.password}" />
113
    </target>
114
    <target name="tomcat.undeploy">
115
        <echo message="${tomcat.manager}"/>
116
        <tomcat.undeploy url="${tomcat.manager}" path="${tomcat.context.path.install}"
117
                         username="${tomcat.username}" password="${tomcat.password}" />
118
    </target>
119
    <target name="tomcat.reload">
120
        <echo message="${tomcat.manager}"/>
121
        <tomcat.reload url="${tomcat.manager}" path="${tomcat.context.path.install}"
122
                       username="${tomcat.username}" password="${tomcat.password}" />
123
    </target>
124
    <target name="tomcat.start">
125
        <echo message="${tomcat.manager}"/>
126
        <tomcat.start url="${tomcat.manager}" path="${tomcat.context.path.install}"
127
                      username="${tomcat.username}" password="${tomcat.password}" />
128
    </target>
129
    <target name="tomcat.stop">
130
        <echo message="${tomcat.manager}"/>
131
        <tomcat.stop url="${tomcat.manager}" path="${tomcat.context.path.install}"
132
                     username="${tomcat.username}" password="${tomcat.password}" />
133
    </target>
134
 
135
    <!--
136
    ==========================================================================================
137
    BUILD TASKS, Have no effect now, no revengstrategy defined....
138
    ==========================================================================================
139
    -->
140
    <target name="build" depends="initDirs" description="Compile All and create conf files">
141
        <antcall target="compile"/>
142
        <antcall target="createConfigurationFiles"/>
143
    </target>
144
    <target name="compile" depends="initDirs" description="Compile All">
145
        <javac encoding="UTF-8" destdir="${build.dir.classes}" debug="true" optimize="true" fork="true" deprecation="true" verbose="true" failonerror="true">
146
            <src path="${src.dir}"/>
147
            <src path="${gen.dir.java}"/>
148
            <classpath refid="pathToToolsLib"/>
149
        </javac>
150
    </target>
151
    <target name="compileToolFiles" description="Compile Mappings Builder">
152
        <javac destdir="${build.dir.classes}" srcdir="${src.dir}" debug="true" optimize="true"  deprecation="true" verbose="true" failonerror="true">
153
            <include name="${mapping.buider.class.file}"/>
154
            <classpath refid="pathToToolsLib"/>
155
        </javac>
156
    </target>
157
 
158
    <!--
159
        Build distribution files
160
    -->
161
    <target name="dist" depends="build">
162
        <jar jarfile="${dist.dir}/estgweb.jar">
163
            <fileset dir="${build.dir.classes}" includes="**/*.class"/>
164
        </jar>
165
        <copy overwrite="true" todir="${dist.dir}">
166
            <fileset dir="${build.dir.classes}" includes="**/*.properties"/>
167
            <fileset dir="${build.dir.classes}" includes="**/*.xml"/>
168
        </copy>
169
        <copy overwrite="true" todir="${dist.dir}" file="${conf.dir}/tomcat/estgweb.xml"/>
170
        <replace file="${dist.dir}/estgweb.xml" value="">
171
            <replacefilter token="@build.dir.war@" value="${basedir}${file.separator}build${file.separator}ant${file.separator}war${file.separator}"/>
172
            <replacefilter token="@context.path@" value="${tomcat.context.path}"/>
173
        </replace>
174
    </target>
175
 
7 jmachado 176
    <target name="copy.jsps.war" description="copy only jsps to war distribution">
1 fvelez 177
        <copy todir="${build.dir.war}" overwrite="false">
178
            <fileset dir="src/web">
179
                <include name="**/*"/>
180
            </fileset>
181
        </copy>
182
    </target>
183
 
184
    <target name="build.war" depends="build,dist" description="Make war distribution">
185
        <mkdir dir="${build.dir.war}"/>
186
        <mkdir dir="${build.dir.war}/WEB-INF"/>
187
        <mkdir dir="${build.dir.war}/WEB-INF/lib"/>
188
        <copy todir="${build.dir.war}/WEB-INF/lib">
189
            <fileset dir="${common.lib.dir}/log4j">
190
                <include name="*.jar"/>
191
            </fileset>
192
            <fileset dir="${common.lib.dir}/berserk">
193
                <include name="**/*.jar"/>
194
            </fileset>
195
            <fileset dir="${common.lib.dir}/hibernate">
196
                <include name="**/*.jar"/>
197
            </fileset>
198
            <fileset dir="${common.lib.dir}/log4j">
199
                <include name="**/*.jar"/>
200
            </fileset>
201
            <fileset dir="${common.lib.dir}/mysql">
202
                <include name="**/*.jar"/>
203
            </fileset>
204
            <fileset dir="${common.lib.dir}/commons">
205
                <include name="**/*.jar"/>
206
            </fileset>
207
            <fileset dir="${common.lib.dir}/struts">
208
                <include name="**/*.jar"/>
209
            </fileset>
10 jmachado 210
            <fileset dir="${common.lib.dir}/ldap">
211
                <include name="**/*.jar"/>
212
            </fileset>
29 jmachado 213
            <fileset dir="${common.lib.dir}/mail">
214
                <include name="**/*.jar"/>
215
            </fileset>
18 jmachado 216
            <fileset dir="${common.lib.dir}/jfreechart">
217
                <include name="**/*.jar"/>
218
            </fileset>
99 jmachado 219
            <fileset dir="${common.lib.dir}/lucene">
92 jmachado 220
                <include name="**/*.jar"/>
221
            </fileset>
107 jmachado 222
            <!--<fileset dir="${common.lib.dir}/jaxrpc16">
104 jmachado 223
                <include name="**/*.jar"/>
107 jmachado 224
            </fileset>-->
1 fvelez 225
        </copy>
226
        <copy file="${dist.dir}/estgweb.jar" todir="${build.dir.war}/WEB-INF/lib"/>
227
        <copy todir="${build.dir.war}/WEB-INF" overwrite="true">
228
            <fileset dir="${conf.dir}/WEB-INF">
229
                <include name="**/*.*"/>
230
            </fileset>
231
        </copy>
232
        <mkdir dir="${build.dir.war}/WEB-INF/classes"/>
233
        <copy todir="${build.dir.war}/WEB-INF/classes" overwrite="true">
234
            <fileset dir="${build.dir.classes}">
18 jmachado 235
                <include name="**/*.types"/>
1 fvelez 236
                <include name="**/*.properties"/>
29 jmachado 237
                <include name="**/*.txt"/>
1 fvelez 238
                <include name="**/*.xml"/>
239
            </fileset>
240
        </copy>
241
        <copy todir="${build.dir.war}" overwrite="true">
242
            <fileset dir="src/web">
243
                <include name="**/*"/>
244
            </fileset>
245
        </copy>
48 fvelez 246
        <replace file="${build.dir.war}/js/ajax.js">
56 fvelez 247
            <replacefilter token="@server.base.url@" value="${service.url}"/>
48 fvelez 248
        </replace>
1 fvelez 249
    </target>
250
 
251
    <target name="war" depends="build.war">
252
        <delete file="${dist.dir}/${tomcat.war.file}"/>
253
        <jar destfile="${dist.dir}/${tomcat.war.file}">
254
            <fileset dir="${build.dir.war}">
255
                <include name="**/*" />
256
            </fileset>
257
        </jar>
258
    </target>
259
 
260
 
261
    <!--
262
    ==========================================================================================
263
    Generate Configuration Files TASKS
264
    ==========================================================================================
265
    -->
266
    <target name="createConfigurationFiles" depends="copyConfigurationFiles,replaceFiltersConfigurationFiles,generateHibernateCfgXml"/>
267
 
268
    <target name="copyConfigurationFiles">
269
        <copy overwrite="true" todir="${build.dir.classes}">
270
            <fileset dir="${hbm.dir}" includes="**/*.hbm.xml"/>
271
        </copy>
272
        <copy overwrite="true" todir="${build.dir.classes}">
273
            <fileset dir="${src.dir}" includes="**/*.xsl"/>
274
        </copy>
275
        <copy overwrite="true" todir="${build.dir.classes}">
276
            <fileset dir="${conf.dir}/berserk" includes="*.*"/>
277
        </copy>
29 jmachado 278
        <mkdir dir="${email.templates.dir.build}"/>
279
        <copy overwrite="true" todir="${email.templates.dir.build}">
280
            <fileset dir="${email.templates.dir.conf}" includes="*.*"/>
281
        </copy>
1 fvelez 282
        <copy overwrite="true" todir="${hibernate.cfg.xml.build}" file="${hibernate.cfg.xml}"/>
18 jmachado 283
        <copy overwrite="true" todir="${mime.types.build}" file="${mime.types}"/>
1 fvelez 284
        <copy overwrite="true" todir="${app.properties.build}" file="${app.properties}"/>
285
        <copy overwrite="true" todir="${jdbc.properties.build}" file="${jdbc.properties}"/>
286
        <copy overwrite="true" todir="${ldap.properties.build}" file="${ldap.properties}"/>
287
        <copy overwrite="true" todir="${build.dir.classes}" file="${log4j.properties}"/>
288
    </target>
289
 
290
    <target name="replaceFiltersConfigurationFiles">
291
        <delete file="${build.dir.classes}/MessageResources.properties"/>
292
        <concat encoding="ISO-8859-1" destfile="${build.dir.classes}/MessageResources.properties" append="true">
293
            <fileset dir="${conf.dir}/language">
294
                <include name="*.properties" />
295
            </fileset>
296
        </concat>
297
        <replace file="${jdbc.properties.build}/${jdbc.properties.filename}">
298
            <replacefilter token="@database.username@" value="${database.username}"/>
299
            <replacefilter token="@database.password@" value="${database.password}"/>
300
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
301
        </replace>
302
        <replace file="${hibernate.cfg.xml.build}/${hibernate.cfg.xml.filename}">
303
            <replacefilter token="@database.username@" value="${database.username}"/>
304
            <replacefilter token="@database.password@" value="${database.password}"/>
305
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
306
            <replacefilter token="@hibernate.show.sql@" value="${hibernate.show.sql}"/>
307
        </replace>
308
        <replace file="${app.properties.build}/app.properties">
309
            <replacefilter token="@tmp.dir@" value="${tmp.dir}"/>
310
            <replacefilter token="@out.dir@" value="${out.dir}"/>
29 jmachado 311
            <replacefilter token="@email.templates.dir@" value="${email.templates.dir}"/>
79 jmachado 312
            <replacefilter token="@use.ldap@" value="${use.ldap}"/>
1 fvelez 313
        </replace>
314
        <replace file="${build.dir.classes}/${log4j.properties.filename}">
315
            <replacefilter token="@log.file@" value="${log.file}"/>
316
        </replace>
317
        <replace file="${jdbc.properties.build}/${jdbc.properties.filename}">
318
            <replacefilter token="@database.username@" value="${database.username}"/>
319
            <replacefilter token="@database.password@" value="${database.password}"/>
320
            <replacefilter token="@database.connection.url@" value="${database.connection.url}"/>
321
        </replace>
322
    </target>
323
    <target name="generateHibernateCfgXml" depends="compileToolFiles">
324
        <!--<delete file="${build.dir.classes}/${hibernate.cfg.xml.filename}"/>-->
325
        <java classname="${mapping.buider.class}" classpath="${build.dir.classes}">
326
            <arg value="${hibernate.cfg.xml.build}"/>
327
            <arg value="${hibernate.cfg.xml}"/>
328
            <arg value="${package.dir}"/>
329
        </java>
330
        <antcall target="replaceFiltersConfigurationFiles"/>
331
    </target>
332
    <target name="dbInit">
7 jmachado 333
        <!--<delete file="${build.dir.classes}/${hibernate.cfg.xml.filename}"/>-->
334
        <java classname="pt.estgp.estgweb.examples.DBInit" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
1 fvelez 335
 
7 jmachado 336
        <antcall target="replaceFiltersConfigurationFiles"/>
337
    </target>
1 fvelez 338
 
339
 
7 jmachado 340
 
1 fvelez 341
    <!--
342
    Hibernate Tools Task
343
    -->
7 jmachado 344
    <taskdef name="hibernatetool"
345
             classname="org.hibernate.tool.ant.HibernateToolTask"
346
             classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>
1 fvelez 347
    <!--
348
    ==========================================================================================
349
    GENERATE SQL SCRIPTS
350
    ==========================================================================================
351
    -->
352
    <taskdef name="schemaexport"
353
             classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
354
             classpathref="pathToToolsLib" classpath="${build.dir.classes}"/>
355
 
356
 
357
    <target name="genAppScripts" depends="build">
358
        <schemaexport
359
                properties="${jdbc.properties.build}/${jdbc.properties.filename}"
360
                quiet="no"
361
                text="no"
362
                drop="no"
363
                delimiter=";"
364
                output="${build.dir.classes}/app-scripts.sql">
365
            <fileset dir="${hbm.dir}">
366
                <include name="**/*.hbm.xml"/>
367
            </fileset>
368
        </schemaexport>
369
    </target>
370
 
371
    <target name="generateHibernateDomainObjects">
372
        <hibernatetool>
373
            <configuration>
374
                <fileset dir="${hbm.dir}">
375
                    <include name="**/*.hbm.xml"/>
376
                </fileset>
377
            </configuration>
378
            <hbm2java
379
                    jdk5="true"
380
                    ejb3="false"
381
                    destdir="${gen.dir.java}"/>
382
        </hibernatetool>
383
        <delete>
384
            <fileset dir="${gen.dir.java}">
385
                <include name="**/*Impl.java"/>
386
            </fileset>
387
        </delete>
388
    </target>
389
 
390
 
391
    <!--
392
        ==========================================================================================
393
        GENERATE DAO IMPLEMENTATION
394
        ==========================================================================================
395
        -->
396
    <target name="generateHibernateDaoClasses">
397
        <hibernatetool destdir="${gen.dir.java}" >
398
            <configuration>
399
                <fileset dir="${hbm.dir}">
400
                    <include name="**/*.hbm.xml"/>
401
                </fileset>
402
            </configuration>
403
            <hbmtemplate
404
                    filepattern="{class-name}${dao.file.pattern}.java"
405
                    templatepath="${dao.template.dir}"
406
                    template="${dao.impl.template}"
407
                    destdir="${dao.impl.package.dir}">
408
                <property key="jdk5" value="true"/>
409
                <property key="ejb3" value="false"/>
410
                <property key="dao" value="${dao.file.pattern}"/>
411
                <property key="daoDomainPackage" value="${domain.package}"/>
412
                <property key="daoInterfacesPackage" value="${dao.interfaces.package}"/>
413
                <property key="daoImplPackage" value="${dao.impl.package}"/>
414
            </hbmtemplate>
415
        </hibernatetool>
416
        <delete>
417
            <fileset dir="${gen.dir.java}">
418
                <include name="**/*ImplDao.java"/>
419
            </fileset>
420
        </delete>
421
    </target>
422
 
423
 
424
 
425
    <!--
426
    Run Deamon
427
    -->
428
 
429
    <!--<target name="run">-->
430
    <!--<java classname="mitra.oaiharvest.harvest.HarvestEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
431
    <!--<java classname="mitra.oaiharvest.index.IndexEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
432
    <!--</target>-->
433
 
434
</project>