Subversion Repositories bacoAlunos

Rev

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

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