~ubuntu-branches/ubuntu/lucid/libstruts1.2-java/lucid

« back to all changes in this revision

Viewing changes to contrib/struts-faces/build.xml

  • Committer: Bazaar Package Importer
  • Author(s): Arnaud Vandyck
  • Date: 2006-04-24 12:14:23 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20060424121423-naev53qigqgks0sa
Tags: 1.2.9-1
New upstream  release Fixes  three security  problems: CVE-2006-1546,
CVE-2006-1547,  CVE-2006-1548  (closes:  #360551),  thanks  to  Moritz
Muehlenhoff.

Show diffs side-by-side

added added

removed removed

Lines of Context:
14
14
 See the License for the specific language governing permissions and
15
15
 limitations under the License.
16
16
 
 
17
 $Id: build.xml 55965 2004-10-29 12:46:17Z jmitchell $
 
18
 
17
19
-->
18
20
 
19
21
 
20
 
<project name="jakarta-struts-faces" default="compile" basedir=".">
 
22
<project name="Struts-Faces Integration Library" default="compile" basedir=".">
21
23
 
22
24
 
23
25
  <!-- ===================== Initialize Property Values =================== -->
25
27
 
26
28
  <!-- Initialize property values -->
27
29
  <property file="build.properties"/>
 
30
  <property file="../build.properties"/>
28
31
  <property file="../../build.properties"/>
29
32
  <property file="../../../build.properties"/>
30
33
  <property file="${user.home}/build.properties"/>
31
 
 
32
 
 
33
 
  <!-- Dependency home directory defaults -->
34
 
  <property name="htmlunit.home"    value="/usr/local/htmlunit-1.2.3"/>
35
 
  <property name="jsf.home"         value="/usr/local/jsf-1_1"/>
36
 
  <property name="jstl.home"        value="/usr/local/standard-1.0.3"/>
37
 
  <property name="server.home"      value="/usr/local/jakarta-tomcat-5.0.25"/>
38
 
  <property name="struts.home"      value="/usr/local/jakarta-struts-1.1"/>
39
 
 
40
 
 
41
 
  <!-- Dependency library defaults -->
42
 
  <property name="commons-beanutils.jar"
43
 
                                    value="${struts.home}/lib/commons-beanutils.jar"/>
44
 
  <property name="commons-collections.jar"
45
 
                                    value="${struts.home}/lib/commons-collections.jar"/>
46
 
  <property name="commons-digester.jar"
47
 
                                    value="${struts.home}/lib/commons-digester.jar"/>
48
 
  <property name="commons-fileupload.jar"
49
 
                                    value="${struts.home}/lib/commons-fileupload.jar"/>
50
 
  <property name="commons-logging.jar"
51
 
                                    value="${struts.home}/lib/commons-logging.jar"/>
52
 
  <property name="commons-validator.jar"
53
 
                                    value="${struts.home}/lib/commons-validator.jar"/>
54
 
  <property name="jakarta-oro.jar"  value="${struts.home}/lib/jakarta-oro.jar"/>
55
 
  <property name="jsf-api.jar"      value="${jsf.home}/lib/jsf-api.jar"/>
56
 
  <property name="jsf-impl.jar"     value="${jsf.home}/lib/jsf-impl.jar"/>
57
 
  <property name="jsp-api.jar"      value="${server.home}/common/lib/jsp-api.jar"/>
58
 
  <property name="jstl.jar"         value="${jstl.home}/lib/jstl.jar"/>
59
 
  <property name="servlet.jar"      value="${server.home}/common/lib/servlet.jar"/>
60
 
  <property name="standard.jar"     value="${jstl.home}/lib/standard.jar"/>
61
 
  <property name="struts.jar"       value="${struts.home}/lib/struts.jar"/>
62
 
 
63
 
 
64
 
  <!-- Conditional Processing Flags -->
65
 
  <available                     property="jsfri.present"
66
 
                                classname="com.sun.faces.RIConstants"
67
 
                                classpath="${jsf-impl.jar}"/>
68
 
  <available                     property="myfaces.present"
69
 
                                classname="net.sourceforge.myfaces.MyFacesConfig"
70
 
                                classpath="${jsf-impl.jar}"/>
71
 
 
72
 
  <!-- Build Defaults -->
73
 
  <property name="build.home"      value="${basedir}/build"/>
74
 
  <property name="dist.home"       value="${basedir}/dist"/>
75
 
  <property name="project.name"    value="Struts-Faces Integration Library"/>
76
 
  <property name="project.package" value="org.apache.struts.faces"/>
77
 
  <property name="project.version" value="1.0-dev"/>
78
 
 
79
 
 
80
 
  <!-- Compile Defaults -->
81
 
  <property name="compile.debug"           value="true"/>
82
 
  <property name="compile.deprecation"     value="false"/>
83
 
  <property name="compile.optimize"        value="true"/>
84
 
 
85
 
 
86
 
  <!-- Construct Classpath -->
87
 
  <path id="classpath">
88
 
    <pathelement location="${commons-beanutils.jar}"/>
89
 
    <pathelement location="${commons-collections.jar}"/>
90
 
    <pathelement location="${commons-digester.jar}"/>
91
 
    <pathelement location="${commons-logging.jar}"/>
92
 
    <pathelement location="${commons-validator.jar}"/>
93
 
    <pathelement location="${jsf-api.jar}"/>
94
 
    <pathelement location="${jsp-api.jar}"/>
95
 
    <pathelement location="${jstl.jar}"/>
96
 
    <pathelement location="${servlet.jar}"/>
97
 
    <pathelement location="${struts.jar}"/>
98
 
    <pathelement location="${build.home}/classes"/>
99
 
  </path>
100
 
 
101
 
  <!-- System Integration Test Client Classpath -->
102
 
  <path id="sysclient.classpath">
103
 
    <pathelement location="${junit.jar}"/>
104
 
    <fileset          dir="${htmlunit.home}/lib"
105
 
                 includes="*.jar"/>
106
 
    <pathelement location="${build.home}/sysclient"/>
107
 
  </path>
108
 
 
109
 
  <!-- Custom Tomcat Integration -->
110
 
  <taskdef  name="deploy"   classname="org.apache.catalina.ant.DeployTask"/>
111
 
  <taskdef  name="install"  classname="org.apache.catalina.ant.InstallTask"/>
112
 
  <taskdef  name="list"     classname="org.apache.catalina.ant.ListTask"/>
113
 
  <taskdef  name="reload"   classname="org.apache.catalina.ant.ReloadTask"/>
114
 
  <taskdef  name="remove"   classname="org.apache.catalina.ant.RemoveTask"/>
115
 
  <taskdef  name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/>
116
 
  <property name="password" value="tomcat"/>
117
 
  <property name="url"      value="http://localhost:8080/manager"/>
118
 
  <property name="username" value="tomcat"/>
119
 
 
120
 
  <property name="example.path"     value="/struts-faces"/>
121
 
  <property name="example2.path"    value="/struts-faces2"/>
122
 
  <property name="systest.path"         value="/struts-faces-systest"/>
123
 
 
124
 
 
125
 
  <!-- System Integration Test Settings -->
126
 
  <property name="systest.state.saving" value="server"/>
127
 
  <property name="systest.url"          value="http://localhost:8080${systest.path}"/>
128
 
 
129
 
 
130
 
 
131
 
  <!-- ===================== LIBRARY: Maintenance ========================= -->
132
 
 
133
 
 
134
 
  <target name="clean"
135
 
   description="Clean all build directories">
136
 
    <delete dir="${build.home}"/>
137
 
    <delete dir="${dist.home}"/>
138
 
  </target>
139
 
 
140
 
 
141
 
  <target name="init">
142
 
    <echo message="---------- ${project.name} ${project.version} ----------"/>
143
 
    <filter token="name"     value="${project.name}"/>
144
 
    <filter token="package"  value="${project.package}"/>
145
 
    <filter token="state"    value="${systest.state.saving}"/>
146
 
    <filter token="version"  value="${project.version}"/>
147
 
    <echo message="jsf-api.jar =    ${jsf-api.jar}"/>
148
 
    <echo message="jsf-impl.jar =   ${jsf-impl.jar}"/>
149
 
    <echo message="struts-jar =     ${struts.jar}"/>
150
 
    <echo message="jsfri.present =  ${jsfri.present}"/>
151
 
    <echo message="myfaces.present= ${myfaces.present}"/>
152
 
  </target>
153
 
 
154
 
 
155
 
  <target name="list" description="List installed webapps on Tomcat">
156
 
    <list url="${url}" username="${username}" password="${password}"/>
157
 
  </target>
158
 
 
159
 
 
160
 
  <target name="prepare" depends="init">
161
 
    <mkdir dir="${build.home}"/>
162
 
    <mkdir dir="${build.home}/classes"/>
163
 
    <mkdir dir="${build.home}/classes/META-INF"/>
164
 
    <mkdir dir="${build.home}/conf"/>
165
 
    <mkdir dir="${build.home}/lib"/>
166
 
    <mkdir dir="${dist.home}"/>
167
 
    <mkdir dir="${dist.home}/docs"/>
168
 
    <mkdir dir="${dist.home}/docs/api"/>
169
 
  </target>
170
 
 
171
 
 
172
 
  <target name="static" depends="prepare">
173
 
    <tstamp/>
174
 
    <copy todir="${build.home}/conf" filtering="on">
175
 
      <fileset dir="src/conf" includes="*.MF"/>
176
 
    </copy>
177
 
    <copy todir="${build.home}/classes/META-INF">
178
 
      <fileset dir="src/conf" includes="*faces-config.xml"/>
179
 
    </copy>
180
 
  </target>
181
 
 
182
 
 
183
 
  <!-- ============== LIBRARY: Compile Library Components ================= -->
184
 
 
185
 
 
186
 
  <target name="compile" depends="static"
187
 
   description="Compile integration library">
188
 
 
189
 
    <!-- Compile Java Sources -->
190
 
    <javac      srcdir="src/java"
191
 
               destdir="${build.home}/classes"
192
 
                 debug="${compile.debug}"
193
 
           deprecation="${compile.deprecation}"
194
 
              optimize="${compile.optimize}">
195
 
      <classpath refid="classpath" />
196
 
    </javac>
197
 
 
198
 
    <!-- Copy non-Java Sources -->
199
 
    <copy        todir="${build.home}/classes">
200
 
      <fileset     dir="src/java">
201
 
        <exclude  name="**/*.java"/>
202
 
      </fileset>
203
 
    </copy>
204
 
 
205
 
    <!-- Create Tag Library Descriptor -->
206
 
    <style     basedir="src/conf"
207
 
               destdir="${build.home}/conf"
208
 
             extension=".tld"
209
 
                 style="src/conf/struts-tld.xsl"
210
 
              includes="struts-faces.xml"/>
211
 
    <copy       tofile="${build.home}/classes/META-INF/struts-faces.tld"
212
 
                  file="${build.home}/conf/struts-faces.tld"/>
213
 
 
214
 
    <!-- Copy license and notice files -->
215
 
    <copy       tofile="${build.home}/classes/META-INF/LICENSE.txt"
216
 
                  file="LICENSE.txt"/>
217
 
    <copy       tofile="${build.home}/classes/META-INF/NOTICE.txt"
218
 
                  file="NOTICE.txt"/>
219
 
 
220
 
  </target>
221
 
 
222
 
 
223
 
  <target name="library" depends="compile"
224
 
   description="Package integration library">
225
 
 
226
 
    <jar       jarfile="${build.home}/lib/struts-faces.jar"
227
 
               basedir="${build.home}/classes"
228
 
              manifest="${build.home}/conf/MANIFEST.MF"/>
229
 
 
230
 
  </target>
231
 
 
232
 
 
233
 
  <!-- ==================== LIBRARY:  Documentation ======================= -->
234
 
 
235
 
 
236
 
  <target name="docs" depends="prepare"
237
 
   description="Create generated documentation and JavaDocs">
238
 
 
239
 
    <style     basedir="src/conf"
240
 
               destdir="${dist.home}/docs"
241
 
             extension=".html"
242
 
                 style="src/conf/struts-doc.xsl"
243
 
              includes="struts-faces.xml"/>
244
 
 
245
 
    <javadoc
246
 
            sourcepath="src/java"
247
 
               destdir="${dist.home}/docs/api"
248
 
                author="true"
249
 
               private="true"
250
 
               version="true"
251
 
          packagenames="org.apache.struts.*"
252
 
           windowtitle="${project.name} (Version ${project.version})"
253
 
              doctitle="${project.name} (Version ${project.version})"
254
 
                bottom="Copyright &#169; 2003-2004 - The Apache Software Foundation">
255
 
      <classpath refid="classpath"/>
256
 
    </javadoc>
257
 
 
258
 
  </target>
259
 
 
260
 
 
261
 
  <!-- ===================== EXAMPLE: Create Webapp ======================= -->
262
 
 
263
 
 
264
 
  <target name="example.prepare" depends="library">
265
 
 
266
 
    <echo message="------------ ${project.name} Example Webapp -------------"/>
267
 
    <mkdir         dir="${build.home}/webapps"/>
268
 
    <mkdir         dir="${build.home}/webapps/example"/>
269
 
 
270
 
  </target>
271
 
 
272
 
 
273
 
  <target name="example.static" depends="example.prepare">
274
 
 
275
 
    <!-- Copy static web resources -->
276
 
    <copy        todir="${build.home}/webapps/example">
277
 
      <fileset     dir="web/example"/>
278
 
    </copy>
279
 
 
280
 
    <!-- Copy required configuration files -->
281
 
    <copy        todir="${build.home}/webapps/example/WEB-INF">
282
 
      <fileset     dir="${build.home}/conf">
283
 
        <include  name="*.tld"/>
284
 
      </fileset>
285
 
    </copy>
286
 
    <copy        todir="${build.home}/webapps/example/WEB-INF">
287
 
      <fileset     dir="${struts.home}/lib">
288
 
        <include  name="*.tld"/>
289
 
        <include  name="valid*.xml"/>
290
 
      </fileset>
291
 
    </copy>
292
 
 
293
 
    <!-- Copy required library JAR files -->
294
 
    <mkdir         dir="${build.home}/webapps/example/WEB-INF/lib"/>
295
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
296
 
                  file="${build.home}/lib/struts-faces.jar"/>
297
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
298
 
                  file="${commons-beanutils.jar}"/>
299
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
300
 
                  file="${commons-collections.jar}"/>
301
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
302
 
                  file="${commons-digester.jar}"/>
303
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
304
 
                  file="${commons-fileupload.jar}"/>
305
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
306
 
                  file="${commons-logging.jar}"/>
307
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
308
 
                  file="${commons-validator.jar}"/>
309
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
310
 
                  file="${jakarta-oro.jar}"/>
311
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
312
 
                  file="${struts.jar}"/>
313
 
 
314
 
  </target>
315
 
 
316
 
 
317
 
  <target name="example.static.jsfri" depends="example.static"
318
 
            if="jsfri.present">
319
 
 
320
 
    <replace        dir="${build.home}/webapps/example/WEB-INF"
321
 
                  token="MYFACES_BEGIN"
322
 
                  value="&lt;!-- MyFaces Listener"/>
323
 
    <replace        dir="${build.home}/webapps/example/WEB-INF"
324
 
                  token="MYFACES_END"
325
 
                  value="--&gt;"/>
326
 
 
327
 
  </target>
328
 
 
329
 
 
330
 
  <target name="example.static.myfaces" depends="example.static.jsfri"
331
 
            if="myfaces.present">
332
 
 
333
 
    <replace        dir="${build.home}/webapps/example/WEB-INF"
334
 
                  token="MYFACES_BEGIN"
335
 
                  value="&lt;!-- MyFaces Listener --&gt;"/>
336
 
    <replace        dir="${build.home}/webapps/example/WEB-INF"
337
 
                  token="MYFACES_END"
338
 
                  value=""/>
339
 
 
340
 
  </target>
341
 
 
342
 
 
343
 
  <target name="example.libraries" depends="example.static.myfaces"
344
 
            if="build.standalone">
345
 
 
346
 
    <!-- Copy libraries required for standalone use only -->
347
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
348
 
                  file="${jsf-api.jar}"/>
349
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
350
 
                  file="${jsf-impl.jar}"/>
351
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
352
 
                  file="${jstl.jar}"/>
353
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
354
 
                  file="${standard.jar}"/>
355
 
 
356
 
  </target>
357
 
 
358
 
 
359
 
  <target name="example.libraries.myfaces" depends="example.libraries"
360
 
            if="myfaces.present">
361
 
 
362
 
    <!-- Copy additional libraries required by MyFaces implementation -->
363
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
364
 
                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
365
 
    <copy        todir="${build.home}/webapps/example/WEB-INF/lib"
366
 
                  file="${jsf.home}/lib/commons-el.jar"/>
367
 
 
368
 
  </target>
369
 
 
370
 
 
371
 
  <target name="example.compile" depends="example.libraries.myfaces">
372
 
 
373
 
    <!-- Compile Java Sources -->
374
 
    <mkdir         dir="${build.home}/webapps/example/WEB-INF/classes"/>
375
 
    <javac      srcdir="src/example"
376
 
               destdir="${build.home}/webapps/example/WEB-INF/classes"
377
 
                 debug="${compile.debug}"
378
 
           deprecation="${compile.deprecation}"
379
 
              optimize="${compile.optimize}">
380
 
      <classpath refid="classpath" />
381
 
    </javac>
382
 
 
383
 
    <!-- Copy non-Java Sources -->
384
 
    <copy    todir="${build.home}/webapps/example/WEB-INF/classes">
385
 
      <fileset dir="src/example">
386
 
        <exclude name="**/*.java"/>
387
 
      </fileset>
388
 
    </copy>
389
 
 
390
 
  </target>
391
 
 
392
 
 
393
 
  <!-- ===================== EXAMPLE:  Tomcat Integration ================= -->
394
 
 
395
 
 
396
 
  <target name="example.install" depends="example.compile"
397
 
   description="Install example webapp on Tomcat">
398
 
    <install url="${url}" username="${username}" password="${password}"
399
 
            path="${example.path}"
400
 
             war="file://${build.home}/webapps/example"/>
401
 
  </target>
402
 
 
403
 
 
404
 
  <target name="example.reload" depends="example.compile"
405
 
   description="Reload example webapp on Tomcat">
406
 
    <reload url="${url}" username="${username}" password="${password}"
407
 
            path="${example.path}"/>
408
 
  </target>
409
 
 
410
 
 
411
 
  <target name="example.remove"
412
 
   description="Remove example webapp from Tomcat">
413
 
    <remove url="${url}" username="${username}" password="${password}"
414
 
            path="${example.path}"/>
415
 
  </target>
416
 
 
417
 
 
418
 
  <!-- ==================== EXAMPLE2: Create Webapp ======================= -->
419
 
 
420
 
 
421
 
  <target name="example2.prepare" depends="library">
422
 
 
423
 
    <echo message="------------ ${project.name} Example2 Webapp ------------"/>
424
 
    <mkdir         dir="${build.home}/webapps"/>
425
 
    <mkdir         dir="${build.home}/webapps/example2"/>
426
 
 
427
 
  </target>
428
 
 
429
 
 
430
 
  <target name="example2.static" depends="example2.prepare">
431
 
 
432
 
    <!-- Copy static web resources -->
433
 
    <copy        todir="${build.home}/webapps/example2">
434
 
      <fileset     dir="web/example2"/>
435
 
    </copy>
436
 
 
437
 
    <!-- Copy required configuration files -->
438
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF">
439
 
      <fileset     dir="${build.home}/conf">
440
 
        <include  name="*.tld"/>
441
 
      </fileset>
442
 
    </copy>
443
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF">
444
 
      <fileset     dir="${struts.home}/lib">
445
 
        <include  name="*.tld"/>
446
 
        <include  name="valid*.xml"/>
447
 
      </fileset>
448
 
    </copy>
449
 
 
450
 
    <!-- Copy required library JAR files -->
451
 
    <mkdir         dir="${build.home}/webapps/example2/WEB-INF/lib"/>
452
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
453
 
                  file="${build.home}/lib/struts-faces.jar"/>
454
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
455
 
                  file="${commons-beanutils.jar}"/>
456
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
457
 
                  file="${commons-collections.jar}"/>
458
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
459
 
                  file="${commons-digester.jar}"/>
460
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
461
 
                  file="${commons-fileupload.jar}"/>
462
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
463
 
                  file="${commons-logging.jar}"/>
464
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
465
 
                  file="${commons-validator.jar}"/>
466
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
467
 
                  file="${jakarta-oro.jar}"/>
468
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
469
 
                  file="${struts.jar}"/>
470
 
 
471
 
  </target>
472
 
 
473
 
 
474
 
  <target name="example2.static.jsfri" depends="example2.static"
475
 
            if="jsfri.present">
476
 
 
477
 
    <replace        dir="${build.home}/webapps/example2/WEB-INF"
478
 
                  token="MYFACES_BEGIN"
479
 
                  value="&lt;!-- MyFaces Listener"/>
480
 
    <replace        dir="${build.home}/webapps/example2/WEB-INF"
481
 
                  token="MYFACES_END"
482
 
                  value="--&gt;"/>
483
 
 
484
 
  </target>
485
 
 
486
 
 
487
 
  <target name="example2.static.myfaces" depends="example2.static.jsfri"
488
 
            if="myfaces.present">
489
 
 
490
 
    <replace        dir="${build.home}/webapps/example2/WEB-INF"
491
 
                  token="MYFACES_BEGIN"
492
 
                  value="&lt;!-- MyFaces Listener --&gt;"/>
493
 
    <replace        dir="${build.home}/webapps/example2/WEB-INF"
494
 
                  token="MYFACES_END"
495
 
                  value=""/>
496
 
 
497
 
  </target>
498
 
 
499
 
 
500
 
  <target name="example2.libraries" depends="example2.static.myfaces"
501
 
            if="build.standalone">
502
 
 
503
 
    <!-- Copy libraries required for standalone use only -->
504
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
505
 
                  file="${jsf-api.jar}"/>
506
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
507
 
                  file="${jsf-impl.jar}"/>
508
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
509
 
                  file="${jstl.jar}"/>
510
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
511
 
                  file="${standard.jar}"/>
512
 
 
513
 
  </target>
514
 
 
515
 
 
516
 
  <target name="example2.libraries.myfaces" depends="example2.libraries"
517
 
            if="myfaces.present">
518
 
 
519
 
    <!-- Copy additional libraries required by MyFaces implementation -->
520
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
521
 
                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
522
 
    <copy        todir="${build.home}/webapps/example2/WEB-INF/lib"
523
 
                  file="${jsf.home}/lib/commons-el.jar"/>
524
 
 
525
 
  </target>
526
 
 
527
 
 
528
 
  <target name="example2.compile" depends="example2.libraries.myfaces">
529
 
 
530
 
    <!-- Compile Java Sources -->
531
 
    <mkdir         dir="${build.home}/webapps/example2/WEB-INF/classes"/>
532
 
    <javac      srcdir="src/example2"
533
 
               destdir="${build.home}/webapps/example2/WEB-INF/classes"
534
 
                 debug="${compile.debug}"
535
 
           deprecation="${compile.deprecation}"
536
 
              optimize="${compile.optimize}">
537
 
      <classpath refid="classpath" />
538
 
    </javac>
539
 
 
540
 
    <!-- Copy non-Java Sources -->
541
 
    <copy    todir="${build.home}/webapps/example2/WEB-INF/classes">
542
 
      <fileset dir="src/example2">
543
 
        <exclude name="**/*.java"/>
544
 
      </fileset>
545
 
    </copy>
546
 
 
547
 
  </target>
548
 
 
549
 
 
550
 
  <!-- ===================== EXAMPLE2:  Tomcat Integration ================= -->
551
 
 
552
 
 
553
 
  <target name="example2.install" depends="example2.compile"
554
 
   description="Install example2 webapp on Tomcat">
555
 
    <install url="${url}" username="${username}" password="${password}"
556
 
            path="${example2.path}"
557
 
             war="file://${build.home}/webapps/example2"/>
558
 
  </target>
559
 
 
560
 
 
561
 
  <target name="example2.reload" depends="example2.compile"
562
 
   description="Reload example2 webapp on Tomcat">
563
 
    <reload url="${url}" username="${username}" password="${password}"
564
 
            path="${example2.path}"/>
565
 
  </target>
566
 
 
567
 
 
568
 
  <target name="example2.remove"
569
 
   description="Remove example2 webapp from Tomcat">
570
 
    <remove url="${url}" username="${username}" password="${password}"
571
 
            path="${example2.path}"/>
572
 
  </target>
573
 
 
574
 
 
575
 
  <!-- ===================== SYSTEST: Create Webapp ======================== -->
576
 
 
577
 
 
578
 
  <target name="systest.prepare" depends="library">
579
 
 
580
 
    <echo message="------------ ${project.name} Systest Webapp -------------"/>
581
 
    <mkdir         dir="${build.home}/webapps"/>
582
 
    <mkdir         dir="${build.home}/webapps/systest"/>
583
 
 
584
 
  </target>
585
 
 
586
 
 
587
 
  <target name="systest.static" depends="systest.prepare">
588
 
 
589
 
    <!-- Copy static web resources -->
590
 
    <copy        todir="${build.home}/webapps/systest"
591
 
             filtering="on">
592
 
      <fileset     dir="web/systest"/>
593
 
    </copy>
594
 
 
595
 
    <!-- Copy required configuration files -->
596
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF">
597
 
      <fileset     dir="${struts.home}/lib">
598
 
        <include  name="valid*.xml"/>
599
 
      </fileset>
600
 
    </copy>
601
 
 
602
 
    <!-- Copy required library JAR files -->
603
 
    <mkdir         dir="${build.home}/webapps/systest/WEB-INF/lib"/>
604
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
605
 
                  file="${build.home}/lib/struts-faces.jar"/>
606
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
607
 
                  file="${commons-beanutils.jar}"/>
608
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
609
 
                  file="${commons-collections.jar}"/>
610
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
611
 
                  file="${commons-digester.jar}"/>
612
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
613
 
                  file="${commons-fileupload.jar}"/>
614
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
615
 
                  file="${commons-logging.jar}"/>
616
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
617
 
                  file="${commons-validator.jar}"/>
618
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
619
 
                  file="${jakarta-oro.jar}"/>
620
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
621
 
                  file="${struts.jar}"/>
622
 
 
623
 
  </target>
624
 
 
625
 
 
626
 
  <target name="systest.static.jsfri" depends="systest.static"
627
 
            if="jsfri.present">
628
 
 
629
 
    <replace        dir="${build.home}/webapps/systest/WEB-INF"
630
 
                  token="MYFACES_BEGIN"
631
 
                  value="&lt;!-- MyFaces Listener"/>
632
 
    <replace        dir="${build.home}/webapps/systest/WEB-INF"
633
 
                  token="MYFACES_END"
634
 
                  value="--&gt;"/>
635
 
 
636
 
  </target>
637
 
 
638
 
 
639
 
  <target name="systest.static.myfaces" depends="systest.static.jsfri"
640
 
            if="myfaces.present">
641
 
 
642
 
    <replace        dir="${build.home}/webapps/systest/WEB-INF"
643
 
                  token="MYFACES_BEGIN"
644
 
                  value="&lt;!-- MyFaces Listener --&gt;"/>
645
 
    <replace        dir="${build.home}/webapps/systest/WEB-INF"
646
 
                  token="MYFACES_END"
647
 
                  value=""/>
648
 
 
649
 
  </target>
650
 
 
651
 
 
652
 
  <target name="systest.libraries" depends="systest.static.jsfri"
653
 
            if="build.standalone">
654
 
 
655
 
    <!-- Copy libraries required for standalone use only -->
656
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
657
 
                  file="${jsf-api.jar}"/>
658
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
659
 
                  file="${jsf-impl.jar}"/>
660
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
661
 
                  file="${jstl.jar}"/>
662
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
663
 
                  file="${standard.jar}"/>
664
 
 
665
 
  </target>
666
 
 
667
 
 
668
 
  <target name="systest.libraries.myfaces" depends="systest.libraries"
669
 
            if="myfaces.present">
670
 
 
671
 
    <!-- Copy additional libraries required by MyFaces implementation -->
672
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
673
 
                  file="${jsf.home}/lib/commons-codec-1.2.jar"/>
674
 
    <copy        todir="${build.home}/webapps/systest/WEB-INF/lib"
675
 
                  file="${jsf.home}/lib/commons-el.jar"/>
676
 
 
677
 
  </target>
678
 
 
679
 
 
680
 
  <target name="systest.compile" depends="systest.libraries.myfaces">
681
 
 
682
 
    <!-- Compile Java Sources -->
683
 
    <mkdir         dir="${build.home}/webapps/systest/WEB-INF/classes"/>
684
 
    <javac      srcdir="src/systest"
685
 
               destdir="${build.home}/webapps/systest/WEB-INF/classes"
686
 
                 debug="${compile.debug}"
687
 
           deprecation="${compile.deprecation}"
688
 
              optimize="${compile.optimize}">
689
 
      <classpath refid="classpath" />
690
 
    </javac>
691
 
 
692
 
    <!-- Copy non-Java Sources -->
693
 
    <copy    todir="${build.home}/webapps/systest/WEB-INF/classes">
694
 
      <fileset dir="src/systest">
695
 
        <exclude name="**/*.java"/>
696
 
      </fileset>
697
 
    </copy>
698
 
 
699
 
  </target>
700
 
 
701
 
 
702
 
  <!-- ====================== SYSTEST:  Tomcat Integration ================= -->
703
 
 
704
 
 
705
 
  <target name="systest.install" depends="systest.compile"
706
 
   description="Install systest webapp on Tomcat">
707
 
    <install url="${url}" username="${username}" password="${password}"
708
 
            path="${systest.path}"
709
 
             war="file://${build.home}/webapps/systest"/>
710
 
  </target>
711
 
 
712
 
 
713
 
  <target name="systest.reload" depends="systest.compile"
714
 
   description="Reload systest webapp on Tomcat">
715
 
    <reload url="${url}" username="${username}" password="${password}"
716
 
            path="${systest.path}"/>
717
 
  </target>
718
 
 
719
 
 
720
 
  <target name="systest.remove"
721
 
   description="Remove systest webapp from Tomcat">
722
 
    <remove url="${url}" username="${username}" password="${password}"
723
 
            path="${systest.path}"/>
724
 
  </target>
725
 
 
726
 
 
727
 
  <!-- ====================== SYSTEST: Client Execution =================== -->
728
 
 
729
 
 
730
 
  <target name="sysclient.compile"
731
 
   description="Prepare system integration test client">
732
 
 
733
 
    <!-- Compile Java Sources -->
734
 
    <mkdir         dir="${build.home}/sysclient"/>
735
 
    <javac      srcdir="src/sysclient"
736
 
               destdir="${build.home}/sysclient"
737
 
                 debug="${compile.debug}"
738
 
           deprecation="${compile.deprecation}"
739
 
              optimize="${compile.optimize}">
740
 
      <classpath refid="sysclient.classpath"/>
741
 
    </javac>
742
 
 
743
 
    <!-- Copy non-Java Sources -->
744
 
    <copy        todir="${build.home}/sysclient">
745
 
      <fileset     dir="src/sysclient">
746
 
        <exclude  name="**/*.java"/>
747
 
      </fileset>
748
 
    </copy>
749
 
 
750
 
  </target>
751
 
 
752
 
 
753
 
  <target name="sysclient.execute" depends="sysclient.compile"
754
 
   description="Execute system integration test client">
755
 
 
756
 
    <junit         fork="yes"
757
 
           printSummary="yes"
758
 
            haltonerror="yes"
759
 
          haltonfailure="yes">
760
 
 
761
 
      <classpath  refid="sysclient.classpath"/>
762
 
      <formatter   type="plain"
763
 
                usefile="false"/>
764
 
      <sysproperty  key="systest"
765
 
                  value="${systest.url}"/>
766
 
 
767
 
      <batchtest>
768
 
        <fileset    dir="${build.home}/sysclient"
769
 
               excludes="**/AbstractTestCase.class"
770
 
               includes="**/*TestCase.class"/>
771
 
      </batchtest>
772
 
 
773
 
    </junit>
774
 
 
775
 
  </target>
776
 
 
777
 
 
778
 
  <!-- ==================== Create Binary Distribution ==================== -->
779
 
 
780
 
 
781
 
  <target name="dist" depends="example.compile,example2.compile, docs"
782
 
   description="Create binary distribution">
783
 
 
784
 
    <mkdir     dir="${dist.home}"/>
785
 
    <copy    todir="${dist.home}">
786
 
      <fileset dir="${basedir}" includes="*.txt build.*"
787
 
                                excludes="build.properties"/>
788
 
    </copy>
789
 
 
790
 
    <mkdir     dir="${dist.home}/conf"/>
791
 
    <copy    todir="${dist.home}/conf">
792
 
      <fileset dir="${build.home}/conf" includes="*.tld"/>
793
 
    </copy>
794
 
 
795
 
    <mkdir     dir="${dist.home}/lib"/>
796
 
    <copy    todir="${dist.home}/lib">
797
 
      <fileset dir="${build.home}/lib" includes="*.jar"/>
798
 
    </copy>
799
 
 
800
 
    <mkdir     dir="${dist.home}/src"/>
801
 
    <copy    todir="${dist.home}/src">
802
 
      <fileset dir="src" excludes="**/CVS/**"/>
803
 
    </copy>
804
 
 
805
 
    <mkdir     dir="${dist.home}/web"/>
806
 
    <copy    todir="${dist.home}/web">
807
 
      <fileset dir="web" excludes="**/CVS/**"/>
808
 
    </copy>
809
 
 
810
 
    <mkdir     dir="${dist.home}/webapps"/>
811
 
    <jar  destfile="${dist.home}/webapps/struts-faces.war">
812
 
      <fileset dir="${build.home}/classes">
813
 
        <include name="META-INF/LICENSE.txt"/>
814
 
      </fileset>
815
 
      <fileset dir="${build.home}/webapps/example">
816
 
<!-- Final RI license allows redistribution
817
 
        <exclude name="**/jsf-*.jar"/>
818
 
-->
819
 
      </fileset>
820
 
    </jar>
821
 
    <jar  destfile="${dist.home}/webapps/struts-faces2.war">
822
 
      <fileset dir="${build.home}/classes">
823
 
        <include name="META-INF/LICENSE.txt"/>
824
 
      </fileset>
825
 
      <fileset dir="${build.home}/webapps/example2">
826
 
<!-- Final RI license allows redistribution
827
 
        <exclude name="**/jsf-*.jar"/>
828
 
-->
829
 
      </fileset>
830
 
    </jar>
 
34
  <property name="dist.home" value="${basedir}/dist"/>
 
35
 
 
36
  <!-- ======================== Delegation Targets ========================= -->
 
37
 
 
38
 
 
39
  <target   name="clean"
 
40
     description="Clean all build directories">
 
41
 
 
42
    <delete  dir="${dist.home}"/>
 
43
    <ant     dir="${basedir}/core-library"
 
44
      inheritAll="false"
 
45
          target="clean"/>
 
46
    <ant     dir="${basedir}/example1-webapp"
 
47
      inheritAll="false"
 
48
          target="clean"/>
 
49
    <ant     dir="${basedir}/example2-webapp"
 
50
      inheritAll="false"
 
51
          target="clean"/>
 
52
    <ant     dir="${basedir}/sysclient-app"
 
53
      inheritAll="false"
 
54
          target="clean"/>
 
55
    <ant     dir="${basedir}/systest1-webapp"
 
56
      inheritAll="false"
 
57
          target="clean"/>
 
58
 
 
59
  </target>
 
60
 
 
61
 
 
62
  <target   name="compile"
 
63
     description="Install webapps on Tomcat">
 
64
 
 
65
    <ant     dir="${basedir}/core-library"
 
66
      inheritAll="false"
 
67
          target="library"/>
 
68
    <ant     dir="${basedir}/example1-webapp"
 
69
      inheritAll="false"
 
70
          target="compile"/>
 
71
    <ant     dir="${basedir}/example2-webapp"
 
72
      inheritAll="false"
 
73
          target="compile"/>
 
74
    <ant     dir="${basedir}/systest1-webapp"
 
75
      inheritAll="false"
 
76
          target="compile"/>
 
77
 
 
78
  </target>
 
79
 
 
80
 
 
81
  <target   name="dist:delegate">
 
82
 
 
83
    <ant     dir="${basedir}/core-library"
 
84
      inheritAll="false"
 
85
          target="dist"/>
 
86
    <ant     dir="${basedir}/example1-webapp"
 
87
      inheritAll="false"
 
88
          target="dist"/>
 
89
    <ant     dir="${basedir}/example2-webapp"
 
90
      inheritAll="false"
 
91
          target="dist"/>
 
92
    <ant     dir="${basedir}/systest1-webapp"
 
93
      inheritAll="false"
 
94
          target="dist"/>
 
95
 
 
96
  </target>
 
97
 
 
98
 
 
99
  <target   name="install"
 
100
     description="Install webapps on Tomcat">
 
101
 
 
102
    <ant     dir="${basedir}/core-library"
 
103
      inheritAll="false"
 
104
          target="library"/>
 
105
    <ant     dir="${basedir}/example1-webapp"
 
106
      inheritAll="false"
 
107
          target="install"/>
 
108
    <ant     dir="${basedir}/example2-webapp"
 
109
      inheritAll="false"
 
110
          target="install"/>
 
111
    <ant     dir="${basedir}/systest1-webapp"
 
112
      inheritAll="false"
 
113
          target="install"/>
 
114
 
 
115
  </target>
 
116
 
 
117
 
 
118
  <target   name="reload"
 
119
     description="Reload webapps on Tomcat">
 
120
 
 
121
    <ant     dir="${basedir}/example1-webapp"
 
122
      inheritAll="false"
 
123
          target="reload"/>
 
124
    <ant     dir="${basedir}/example2-webapp"
 
125
      inheritAll="false"
 
126
          target="reload"/>
 
127
    <ant     dir="${basedir}/systest1-webapp"
 
128
      inheritAll="false"
 
129
          target="reload"/>
 
130
 
 
131
  </target>
 
132
 
 
133
 
 
134
  <target   name="remove"
 
135
     description="Remove webapps from Tomcat">
 
136
 
 
137
    <ant     dir="${basedir}/example1-webapp"
 
138
      inheritAll="false"
 
139
          target="remove"/>
 
140
    <ant     dir="${basedir}/example2-webapp"
 
141
      inheritAll="false"
 
142
          target="remove"/>
 
143
    <ant     dir="${basedir}/systest1-webapp"
 
144
      inheritAll="false"
 
145
          target="remove"/>
 
146
 
 
147
  </target>
 
148
 
 
149
 
 
150
  <target   name="test"
 
151
     description="Execute unit and system integration tests">
 
152
 
 
153
    <ant     dir="${basedir}/core-library"
 
154
      inheritAll="false"
 
155
          target="test"/>
 
156
    <ant     dir="${basedir}/sysclient-app"
 
157
      inheritAll="false"
 
158
          target="test"/>
 
159
 
 
160
  </target>
 
161
 
 
162
 
 
163
  <!-- ====================== Construct Release Artifact =================== -->
 
164
 
 
165
 
 
166
  <target        name="dist" depends="dist:delegate"
 
167
          description="Create release artifact">
 
168
 
 
169
    <mkdir        dir="${dist.home}"/>
 
170
    <mkdir        dir="${dist.home}/docs"/>
 
171
    <mkdir        dir="${dist.home}/lib"/>
 
172
    <mkdir        dir="${dist.home}/src"/>
 
173
    <mkdir        dir="${dist.home}/webapps"/>
 
174
 
 
175
    <!-- Copy top-level files -->
 
176
    <copy       todir="${dist.home}/src"
 
177
                 file="build.xml"/>
 
178
    <copy       todir="${dist.home}"
 
179
                 file="LICENSE-JSF.txt"/>
 
180
    <copy       todir="${dist.home}"
 
181
                 file="README.txt"/>
 
182
 
 
183
    <!-- Copy files from core-library -->
 
184
    <copy       todir="${dist.home}">
 
185
      <fileset    dir="core-library/dist">
 
186
        <include name="LICENSE.txt"/>
 
187
        <include name="NOTICE.txt"/>
 
188
      </fileset>
 
189
    </copy>
 
190
    <copy       todir="${dist.home}/docs">
 
191
      <fileset    dir="core-library/dist/docs"/>
 
192
    </copy>
 
193
    <copy       todir="${dist.home}/lib">
 
194
      <fileset    dir="core-library/dist/conf"/>
 
195
      <fileset    dir="core-library/dist/lib"/>
 
196
    </copy>
 
197
    <mkdir        dir="${dist.home}/src/core-library"/>
 
198
    <copy       todir="${dist.home}/src/core-library"
 
199
                 file="core-library/dist/build.xml"/>
 
200
    <mkdir        dir="${dist.home}/src/core-library/src"/>
 
201
    <copy       todir="${dist.home}/src/core-library/src">
 
202
      <fileset    dir="core-library/dist/src"/>
 
203
    </copy>
 
204
 
 
205
    <!-- Copy files from example1-webapp -->
 
206
    <copy       todir="${dist.home}/webapps">
 
207
      <fileset    dir="example1-webapp/dist"
 
208
             includes="*.war"/>
 
209
    </copy>
 
210
    <mkdir        dir="${dist.home}/src/example1-webapp"/>
 
211
    <copy       todir="${dist.home}/src/example1-webapp"
 
212
                 file="example1-webapp/dist/build.xml"/>
 
213
    <mkdir        dir="${dist.home}/src/example1-webapp/src"/>
 
214
    <copy       todir="${dist.home}/src/example1-webapp/src">
 
215
      <fileset    dir="example1-webapp/dist/src"/>
 
216
    </copy>
 
217
 
 
218
    <!-- Copy files from example2-webapp -->
 
219
    <copy       todir="${dist.home}/webapps">
 
220
      <fileset    dir="example2-webapp/dist"
 
221
             includes="*.war"/>
 
222
    </copy>
 
223
    <mkdir        dir="${dist.home}/src/example2-webapp"/>
 
224
    <copy       todir="${dist.home}/src/example2-webapp"
 
225
                 file="example2-webapp/dist/build.xml"/>
 
226
    <mkdir        dir="${dist.home}/src/example2-webapp/src"/>
 
227
    <copy       todir="${dist.home}/src/example2-webapp/src">
 
228
      <fileset    dir="example2-webapp/dist/src"/>
 
229
    </copy>
 
230
 
 
231
    <!-- Copy files from sysclient-app -->
 
232
    <mkdir        dir="${dist.home}/src/sysclient-app"/>
 
233
    <copy       todir="${dist.home}/src/sysclient-app"
 
234
                 file="sysclient-app/build.xml"/>
 
235
    <mkdir        dir="${dist.home}/src/sysclient-app/src"/>
 
236
    <copy       todir="${dist.home}/src/sysclient-app/src">
 
237
      <fileset    dir="sysclient-app/src"/>
 
238
    </copy>
 
239
 
 
240
    <!-- Copy files from systest1-webapp -->
 
241
    <mkdir        dir="${dist.home}/src/systest1-webapp"/>
 
242
    <copy       todir="${dist.home}/src/systest1-webapp"
 
243
                 file="systest1-webapp/dist/build.xml"/>
 
244
    <mkdir        dir="${dist.home}/src/systest1-webapp/src"/>
 
245
    <copy       todir="${dist.home}/src/systest1-webapp/src">
 
246
      <fileset    dir="systest1-webapp/dist/src"/>
 
247
    </copy>
831
248
 
832
249
  </target>
833
250