root/trunk/build.xml

Revision 1606, 56.0 kB (checked in by amandel, 2 years ago)

- use current PMD from public repository
- remove implied dependencies from explicit list
- ignore compiler classpath warning.

  • Property svn:mime-type set to text/xml
  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
Line 
1<?xml version="1.0"?>
2<!--
3    $Id$
4
5    Copyright 2006, The jCoderZ.org Project. All rights reserved.
6
7    Redistribution and use in source and binary forms, with or without
8    modification, are permitted provided that the following conditions are
9    met:
10
11        * Redistributions of source code must retain the above copyright
12          notice, this list of conditions and the following disclaimer.
13        * Redistributions in binary form must reproduce the above
14          copyright notice, this list of conditions and the following
15          disclaimer in the documentation and/or other materials
16          provided with the distribution.
17        * Neither the name of the jCoderZ.org Project nor the names of
18          its contributors may be used to endorse or promote products
19          derived from this software without specific prior written
20          permission.
21
22    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
23    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
25    PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS
26    BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27    CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
29    BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
30    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
31    OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
32    ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 -->
34<project name="fawkeZ" basedir="." default="build" xmlns:ivy="antlib:org.apache.ivy.ant">
35
36    <import file="config/properties.xml"/>
37    <import file="config/macros.xml"/>
38    <import file="config/build-test.xml"/>
39    <import file="config/build-report.xml"/>
40    <import file="config/build-doc.xml"/>
41
42    <!-- =================================================================== -->
43    <!-- Classpath                                                           -->
44    <!-- =================================================================== -->
45    <path id="xalan.classpath">
46       <fileset dir="${base.dir}/lib">
47         <include name="default/xalan/xalan.jar"/>
48         <include name="default/serializer/serializer.jar"/>
49         <include name="default/xercesImpl/xml-apis.jar"/>
50         <include name="default/xercesImpl/xercesImpl.jar"/>
51         <include name="default/xml-resolver/xml-resolver.jar"/>
52       </fileset>
53    </path>
54    <path id="default.classpath">
55      <path refid="xalan.classpath"/>
56      <path location="${build.dir}/jedit-syntax.jar"/>
57      <path location="${base.dir}/lib/eclipse/tools.jar"/>
58      <fileset dir="${base.dir}/lib">
59        <include name="default/**/*.jar"/>
60        <!-- special BCEL version -->
61        <exclude name="default/findbugs/bcel*.jar"/>
62      </fileset>
63    </path>
64    <path id="javadoc.classpath">
65      <path refid="default.classpath"/>
66      <fileset dir="${base.dir}/lib">
67        <include name="default/findbugs/bcel*.jar"/>
68      </fileset>
69      <pathelement path="${build.dir}/test-classes"/>
70      <pathelement path="${build.dir}/instrumented-classes"/>
71    </path>
72
73    <path id="jaxb-compile.classpath">
74      <fileset dir="${base.dir}/lib">
75        <include name="default/jaxb/*.jar"/>
76      </fileset>
77      <path refid="default.classpath"/>
78    </path>
79
80    <!-- =================================================================== -->
81    <!-- Help                                                                -->
82    <!-- =================================================================== -->
83    <target name="help">
84        <echo taskname="help">
85+-----------------------------------------------------------------+
86|   __                _        _____                              |
87|  / _| __ ___      _| | _____|__  /                              |
88| | |_ / _` \ \ /\ / / |/ / _ \ / /                               |
89| |  _| (_| |\ V  V /|   (  __// /_                               |
90| |_|  \__,_| \_/\_/ |_|\_\___/____|                              |
91|                                                                 |
92| - Version ${version} -
93|                                                                 |
94| Welcome to the ${Name} build.
95| Following targets are available:                                |
96|                                                                 |
97| build (default)   build minimum for deployment                  |
98| dist              build distribution                            |
99| tarball           build distribution tarball                    |
100| clean             clean up, except dist                         |
101| distclean         clean up everything                           |
102| libclean          clean up everything and clear lib directory   |
103| test              run all JUnit tests (local and server)        |
104| doc               build documentation (API, SAD, ...)           |
105+-----------------------------------------------------------------+
106        </echo>
107    </target>
108
109    <!-- =================================================================== -->
110    <!-- Environment Info                                                    -->
111    <!-- =================================================================== -->
112    <target name="dump-info"
113            depends="check_for_optional_packages, dump_xerces_warning"
114            unless="dump-info-done">
115        <echo level="info" taskname="info">
116+-----------------------------------------------------------------+
117|   __                _        _____                              |
118|  / _| __ ___      _| | _____|__  /                              |
119| | |_ / _` \ \ /\ / / |/ / _ \ / /                               |
120| |  _| (_| |\ V  V /|   (  __// /_                               |
121| |_|  \__,_| \_/\_/ |_|\_\___/____|                              |
122|                                                                 |
123| - Version ${version} -
124|                                                                 |
125| JAVA_HOME=${env.JAVA_HOME}
126| ANT_HOME=${env.ANT_HOME}
127| ${java.vm.vendor}/${java.vm.version}
128| ${ant.version}
129| CP: ${xerces.version}  ANT: ${xerces.version.ant}
130| ${os.name}/${os.arch}/${os.version}
131| file.encoding=${file.encoding}  language=${user.language}  build.debug=${build.debug}
132| CLASSPATH=${java.class.path}
133| BOOTCLASSPATH=${sun.boot.class.path}
134| CWD=${user.dir}
135| PATH=${env.PATH}
136+-----------------------------------------------------------------+
137</echo>
138        <property name="dump-info-done" value="true"/>
139   </target>
140
141    <!-- =================================================================== -->
142    <!-- Check to see what optional dependencies are available               -->
143    <!-- =================================================================== -->
144    <target name="check_for_optional_packages"
145            unless="check_for_optional_packages-done"
146            depends="check-xerces-ant, check-xerces-classpath">
147          <available property="junit.present"
148                     classname="junit.framework.TestCase">
149              <classpath>
150                <path refid="default.classpath"/>
151              </classpath>
152          </available>
153          <condition property="outdated-xerces">
154              <contains string="${xerces.version}" substring="2.6.2"/>
155          </condition>
156      <property name="check_for_optional_packages-done" value="true"/>
157    </target>
158
159    <target name="dump_xerces_warning"
160      if="outdated-xerces" >
161      <echo level="warning">
162xerces on classpath: ${xerces.version}
163xerces in current vm: ${xerces.version.ant}
164      </echo>
165      <fail message="Outdated version of xerces found on classpath!"/>
166    </target>
167    <target name="check-xerces-ant"
168       depends="check-xerces-ant-available, check-xerces-ant-version">
169    </target>
170    <target name="check-xerces-ant-available">
171      <available property="xerces.ant.present"
172                 classname="org.apache.xerces.impl.Version">
173      </available>
174    </target>
175    <target name="check-xerces-ant-version"
176      if="xerces.ant.present">
177      <java classname="org.apache.xerces.impl.Version"
178        outputproperty="xerces.version.ant"/>
179    </target>
180    <target name="check-xerces-classpath"
181       depends="check-xerces-classpath-available, check-xerces-classpath-version">
182    </target>
183    <target name="check-xerces-classpath-available">
184      <available property="xerces.classpath.present"
185                 classpathref="xalan.classpath"
186                 ignoresystemclasses="true"
187                 classname="org.apache.xerces.impl.Version">
188      </available>
189    </target>
190    <target name="check-xerces-classpath-version"
191      if="xerces.classpath.present">
192      <java classname="org.apache.xerces.impl.Version"
193        classpathref="xalan.classpath"
194        outputproperty="xerces.version"/>
195    </target>
196
197    <!-- =================================================================== -->
198    <!-- Generates a Version class w/ information about this build           -->
199    <!-- =================================================================== -->
200    <target name="generate-version-class" depends="timestamp">
201        <mkdir dir="${build.dir}"/>
202        <echoproperties destfile="${build.dir}/compile.properties"/>
203        <mkdir dir="${build.dir}/gen-java/${project.package.path}"/>
204        <copy file="${base.dir}/src/templates/Version.java.in"
205            tofile="${build.dir}/gen-java/${project.package.path}/Version.java">
206            <filterset begintoken="$${" endtoken="}">
207                <filtersfile file="${build.dir}/compile.properties"/>
208                <filtersfile file="${base.dir}/VERSION"/>
209            </filterset>
210        </copy>
211    </target>
212
213    <!-- =================================================================== -->
214    <!-- Set up proxy communications                                         -->
215    <!-- =================================================================== -->
216    <target name="configure-proxy-with-auth" if="proxyUser">
217      <condition property="proxy-settings-complete">
218        <and>
219          <isset property="proxyUser"/>
220          <isset property="proxyPass"/>
221          <isset property="proxyHost"/>
222          <isset property="proxyPort"/>
223        </and>
224      </condition>
225      <fail unless="proxy-settings-complete">
226        Proxy settings are incomplete. To use a proxy with proxy authentication,
227        you need to set the following:
228           o proxyUser
229           o proxyPass
230           o proxyHost
231           o proxyPort
232      </fail>
233      <setproxy
234        proxyhost="${proxyHost}"
235        proxyport="${proxyPort}"
236        proxyuser="${proxyUser}"
237        proxypassword="${proxyPass}"/>
238      <property name="proxy-configured" value="true"/>
239    </target>
240
241    <target name="configure-proxy-without-auth"
242      if="proxyHost"
243      unless="proxy-configured">
244      <condition property="proxy-settings-complete">
245        <and>
246          <isset property="proxyHost"/>
247          <isset property="proxyPort"/>
248        </and>
249      </condition>
250      <fail unless="proxy-settings-complete">
251        Proxy settings are incomplete. To use a proxy, you need to set the following:
252           o proxyHost
253           o proxyPort
254      </fail>
255      <setproxy
256        proxyhost="${proxyHost}"
257        proxyport="${proxyPort}"/>
258    </target>
259
260    <target name="configure-proxy-settings"
261      depends="configure-proxy-with-auth, configure-proxy-without-auth"/>
262
263    <!-- =================================================================== -->
264    <!-- Repackage jEdit for syntax highlightinh package                     -->
265    <!-- =================================================================== -->
266  <target name="repackage-jedit"
267      depends="repackage-jedit.uptodatecheck,   repackage-jedit-nodeps"/>
268  <target name="repackage-jedit.uptodatecheck">
269      <uptodate property="repackage-jedit.uptodate"
270        targetfile="${build.dir}/jedit-syntax.jar"
271        srcfile="${base.dir}/lib/default/jedit/jedit-install.jar"/>
272    </target>
273  <target name="repackage-jedit-nodeps"
274    unless="repackage-jedit.uptodate">
275    <mkdir dir="${build.dir}/jedit/jedit-syntax/modes"/>
276    <unjar src="${base.dir}/lib/default/jedit/jedit-install.jar"
277      dest="${build.dir}/jedit" overwrite="false">
278        <patternset>
279            <include name="**/jedit-program.tar.bz2"/>
280        </patternset>
281      <mapper type="flatten"/>
282    </unjar>
283    <bunzip2 src="${build.dir}/jedit/jedit-program.tar.bz2"
284      dest="${build.dir}/jedit/jedit-program.tar"/>
285    <untar src="${build.dir}/jedit/jedit-program.tar"
286      dest="${build.dir}/jedit">
287        <patternset>
288            <include name="jedit.jar"/>
289            <include name="modes/**"/>
290        </patternset>
291    </untar>
292    <copy preservelastmodified="true"
293      todir="${build.dir}/jedit/jedit-syntax/modes">
294      <fileset dir="${build.dir}/jedit/modes"/>
295    </copy>
296    <unjar src="${build.dir}/jedit/jedit.jar"
297      dest="${build.dir}/jedit/jedit-syntax"
298      overwrite="false"/>
299    <jar destfile="${build.dir}/jedit-syntax.jar"
300      basedir="${build.dir}/jedit/jedit-syntax"/>
301  </target>
302
303    <!-- =================================================================== -->
304    <!-- Retrieve 3rd party libraries from ibiblio and local file repository -->
305    <!-- =================================================================== -->
306    <target name="retrieve-3rd-party-libs"
307        depends="configure-proxy-settings,
308               retrieve-3rd-party-libs.uptodatecheck,
309               retrieve-3rd-party-libs-nodeps"/>
310    <target name="retrieve-3rd-party-libs.uptodatecheck">
311      <mkdir dir="${base.dir}/lib/default"/>
312      <uptodate property="retrieve-3rd-party-libs.uptodate"
313          targetfile="${base.dir}/lib/default/retrieve-3rd-party-libs.done">
314          <srcfiles dir= "${base.dir}">
315              <include name="config/ivy.xml"/>
316              <include name="config/ivyconf.xml"/>
317          </srcfiles>
318      </uptodate>
319    </target>
320    <target name="retrieve-3rd-party-libs-nodeps"
321      unless="retrieve-3rd-party-libs.uptodate">
322        <!-- for eclipse/doclet -->
323        <mkdir dir="${base.dir}/lib/eclipse"/>
324        <copy file="${env.JAVA_HOME}/lib/tools.jar"
325            todir="${base.dir}/lib/eclipse"/>
326        <!-- xmlns:ivy="antlib:fr.jayasoft.ivy.ant" -->
327      <path id="ivy.classpath">
328        <pathelement location="${base.dir}/lib/ivy/ivy-2.1.0.jar"/>
329      </path>
330        <taskdef resource="org/apache/ivy/ant/antlib.xml"
331            uri="antlib:org.apache.ivy.ant" classpath="${base.dir}/lib/ivy/ivy-2.1.0.jar"/>
332        <ivy:settings file="${base.dir}/config/ivyconf.xml" />
333        <ivy:resolve file="${base.dir}/config/ivy.xml" conf="default"/>
334        <ivy:retrieve pattern="${base.dir}/lib/[conf]/[module]/[artifact].[ext]"
335            conf="default"/>
336      <ivy:report todir="${build.dir}/doc/ivy" dot="true"/>
337        <touch file="${base.dir}/lib/default/retrieve-3rd-party-libs.done"/>
338    </target>
339    <target name="report-dependency" depends="retrieve-3rd-party-libs">
340        <mkdir dir="${build.dir}/ivy"/>
341        <ivy:report todir="${build.dir}/ivy"/>
342    </target>
343
344    <!-- =================================================================== -->
345    <!-- Prepares build environment: generate Version class, retrieve libs   -->
346    <!-- =================================================================== -->
347    <target name="timestamp">
348        <tstamp>
349            <format property="build.time" pattern="yyyy.MM.dd HH:mm z"/>
350        </tstamp>
351    </target>
352    <target name="prepare" depends="timestamp, dump-info,
353        generate-version-class, retrieve-3rd-party-libs, repackage-jedit">
354        <!-- Part of the IDE source path -->
355        <mkdir dir="${build.dir}/gen-java"/>
356        <mkdir dir="${build.dir}/gen-test"/>
357    </target>
358
359    <!-- =================================================================== -->
360    <!-- Generates the Ant task                                              -->
361    <!-- =================================================================== -->
362    <!-- TODO: add -nodeps target -->
363    <target name="bootstrap-ant-tasks" depends="prepare">
364        <mkdir dir="${build.dir}/bootstrap-classes"/>
365        <!-- fork="true" is needed to prevent from compile errors on AIX. -->
366        <javac destdir="${build.dir}/bootstrap-classes"
367             deprecation="false"
368             debug="true"
369             fork="true"
370             source="1.4"
371             target="1.4">
372            <src path="${base.dir}/src/bootstrap-java"/>
373            <classpath refid="default.classpath"/>
374        </javac>
375        <javac destdir="${build.dir}/bootstrap-classes"
376             deprecation="false"
377             debug="true"
378             fork="true"
379             source="1.5"
380             target="1.5">
381            <src path="${base.dir}/src/java"/>
382            <include name="org/jcoderz/commons/taskdefs/*.java"/>
383            <include name="org/jcoderz/commons/util/*.java"/>
384            <include name="org/jcoderz/phoenix/cmpgen2/*.java"/>
385            <exclude name="org/jcoderz/commons/util/JaxbUtil.java"/>
386            <exclude name="org/jcoderz/commons/util/JmsUtil.java"/>
387            <exclude name="org/jcoderz/commons/util/ThrowableUtil.java"/>
388            <exclude name="org/jcoderz/commons/*.java"/>
389            <classpath>
390                <pathelement path="${build.dir}/bootstrap-classes"/>
391                <path refid="default.classpath"/>
392            </classpath>
393        </javac>
394        <copy todir="${build.dir}/bootstrap-classes/org/jcoderz/commons/taskdefs">
395            <fileset dir="${base.dir}/src/xml/xsl">
396                <include name="*.xsl"/>
397            </fileset>
398            <fileset dir="${base.dir}/src/xml/schema">
399                <include name="app-info.xsd"/>
400            </fileset>
401        </copy>
402        <taskdef name="xpathproperty"
403            classname="org.jcoderz.commons.taskdefs.XpathPropertyTask">
404            <classpath>
405                <pathelement path="${build.dir}/bootstrap-classes"/>
406            </classpath>
407        </taskdef>
408        <xpathproperty name="xpathtest" xpath="/project/@name" file="build.xml"/>
409        <echo message="Result = ${xpathtest}"/>
410    </target>
411
412   <!-- =================================================================== -->
413   <!-- Generates the log message info classes                              -->
414   <!-- =================================================================== -->
415   <target name="generate-log-message-info"
416           depends="bootstrap-ant-tasks,
417                    generate-log-message-info.uptodatecheck,
418                    generate-log-message-info-nodeps,
419             app-info"/>
420   <target name="generate-log-message-info.uptodatecheck">
421      <uptodate property="generate-log-message-info.uptodate"
422                targetfile="${build.dir}/generate-log-message-info.out" >
423         <srcfiles dir= "${base.dir}">
424            <include name="src/xml/app-info.xml"/>
425            <include name="src/xml/fwk-*-info.xml"/>
426            <include name="src/xml/xsl/libcommon.xsl"/>
427            <include name="src/xml/xsl/generate-log-message-info.xsl"/>
428         </srcfiles>
429      </uptodate>
430   </target>
431   <!-- TODO: Refactor: one task for all artifacts from app-info.xml -->
432   <target name="generate-log-message-info-nodeps"
433           unless="generate-log-message-info.uptodate">
434      <taskdef name="log-message-generator"
435               classname="org.jcoderz.commons.taskdefs.LogMessageGenerator">
436         <classpath>
437            <pathelement location="${build.dir}/classes"/>
438            <pathelement location="${build.dir}/bootstrap-classes"/>
439            <path refid="xalan.classpath"/>
440         </classpath>
441      </taskdef>
442      <log-message-generator
443         in="${build.dir}/app-info.xml"
444         out="${build.dir}/generate-log-message-info.out"
445         destDir="${build.dir}/gen-java"
446         application="FWK"
447         failonerror="true"
448         force="true"/>
449   </target>
450
451   <target name="app-info"
452           depends="bootstrap-ant-tasks,
453                    app-info-nodeps"/>
454   <target name="app-info-nodeps"
455           unless="app-info.uptodate">
456      <taskdef name="app-info"
457               classname="org.jcoderz.commons.taskdefs.AppInfoTask">
458         <classpath>
459            <pathelement location="${build.dir}/classes"/>
460            <pathelement location="${build.dir}/bootstrap-classes"/>
461            <path refid="xalan.classpath"/>
462         </classpath>
463      </taskdef>
464      <app-info
465         in="${base.dir}/src/xml/app-info.xml"
466         out="${build.dir}/app-info.xml"
467         failonerror="true"
468         validate="true"
469         force="false"/>
470   </target>
471
472
473   <!-- =================================================================== -->
474   <!-- Generates the simple type classes                                   -->
475   <!-- =================================================================== -->
476   <target name="generate-simple-types"
477           depends="generate-simple-types.uptodatecheck,
478                    generate-simple-types-nodeps"/>
479   <target name="generate-simple-types.uptodatecheck">
480      <uptodate property="generate-simple-types.uptodate"
481                targetfile="${build.dir}/simple-types.out" >
482         <srcfiles dir= "${base.dir}">
483            <include name="src/xml/simple-types.xml"/>
484            <include name="src/xml/xsl/generate-simple-types.xsl"/>
485            <include name="src/xml/xsl/libcommon.xsl"/>
486         </srcfiles>
487      </uptodate>
488   </target>
489   <target name="generate-simple-types-nodeps"
490           unless="generate-simple-types.uptodate">
491      <xslt in="${base.dir}/src/xml/simple-types.xml"
492            out="${build.dir}/simple-types.out"
493            style="${base.dir}/src/xml/xsl/generate-simple-types.xsl"
494            force="true"
495            classpathref="xalan.classpath">
496         <param name="outdir" expression="${base.dir}/build/gen-java"/>
497      </xslt>
498      <touch file="${build.dir}/simple-types.out"/>
499   </target>
500
501   <!-- =================================================================== -->
502   <!-- TEMPORARY ! generate config service classes                                          -->
503   <!-- =================================================================== -->
504   <target name="generate-config-classes"
505      depends="bootstrap-ant-tasks, generate-config-classes-nodeps"/>
506   <target name="generate-config-classes-nodeps">
507      <taskdef name="config-classes-generator"
508               classname="org.jcoderz.commons.taskdefs.ConfigurationClassesGenerator">
509         <classpath>
510            <pathelement location="${build.dir}/classes"/>
511            <pathelement location="${build.dir}/bootstrap-classes"/>
512            <path refid="xalan.classpath"/>
513         </classpath>
514      </taskdef>
515      <config-classes-generator
516               in="${build.dir}/app-info.xml"
517               out="${build.dir}/app-info-config-classes.out"
518               destDir="${build.dir}/gen-java"
519               application="FawkeZ"
520               groups="SEC TST CFG CON"
521               failonerror="true"
522               force="false"/>
523   </target>
524
525    <!-- =================================================================== -->
526    <!-- generate config init resource bundle                                -->
527    <!-- =================================================================== -->
528    <target name="generate-config-init-file"
529       depends="prepare, generate-config-init-file-uptodatecheck,
530                generate-config-init-file-nodeps"/>
531    <target name="generate-config-init-file-uptodatecheck">
532       <uptodate property="generate-config-init-file.uptodate"
533                 targetfile="${build.dir}/gen-sql/cfg_initialize.sql" >
534          <srcfiles dir="${base.dir}/src/xml">
535             <include name="app-info.xml" />
536             <include name="fwk-*-info.xml" />
537          </srcfiles>
538       </uptodate>
539    </target>
540    <target name="generate-config-init-file-nodeps"
541        unless="generate-config-init-file.uptodate">
542       <taskdef name="config-init-file-generator"
543                classname="org.jcoderz.commons.taskdefs.ConfigurationInitFileGenerator">
544          <classpath>
545            <pathelement location="${build.dir}/classes"/>
546            <pathelement location="${build.dir}/bootstrap-classes"/>
547            <path refid="xalan.classpath"/>
548          </classpath>
549       </taskdef>
550       <!-- for database solution -->
551       <config-init-file-generator
552                in="${build.dir}/app-info.xml"
553                out="${build.dir}/gen-sql/cfg_initialize.sql"
554                application="FawkeZ"
555                groups="TST CFG CON"
556                mode="sql"
557                failonerror="true"
558                force="true"/>
559    </target>
560
561   <!-- =================================================================== -->
562   <!-- Run JAXB Schema compiler                                            -->
563   <!-- =================================================================== -->
564   <target name="jaxb-stubs"
565           depends="jaxb-stubs-uptodate-check, jaxb-stubs-nodeps"/>
566   <target name="jaxb-stubs-uptodate-check" >
567   <!-- Disabled: Each jaxb task has it's own dependency ckeck
568       <uptodate property="jaxb-stubs.uptodate"
569                targetfile="${build.dir}/gen-java/org/jcoderz/phoenix/checkstyle/jaxb/jaxb.properties" >
570         <srcfiles dir= "${base.dir}/src/xml/schema" includes="**/*.xsd"/>
571     </uptodate> -->
572   </target>
573   <target name="jaxb-stubs-nodeps"
574           depends="prepare"
575           unless="jaxb-stubs.uptodate"
576           description="Generate JAXB Java Classes from Schema(s)">
577      <mkdir dir="${build.dir}/gen-java" />
578
579      <!-- compile types used by the XML schema -->
580        <mkdir dir="${build.dir}/classes"/>
581        <javac destdir="${build.dir}/classes"
582            deprecation="${build.debug}"
583            debug="true"
584            classpathref="default.classpath"
585            source="1.4"
586          target="1.4">
587            <src path="${base.dir}/src/java"/>
588            <src path="${build.dir}/gen-java"/>
589            <include name="org/jcoderz/phoenix/report/Severity.java"/>
590            <include name="org/jcoderz/phoenix/report/Origin.java"/>
591            <include name="org/jcoderz/phoenix/report/ReportLevel.java"/>
592            <include name="org/jcoderz/commons/types/Date.java"/>
593            <include name="org/jcoderz/commons/util/XsdUtil.java"/>
594        </javac>
595        <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask">
596            <classpath>
597                <path refid="jaxb-compile.classpath"/>
598                <pathelement path="${build.dir}/classes"/>
599            </classpath>
600        </taskdef>
601
602        <xjc target="${build.dir}/gen-java"
603             extension="true"
604             schema="${base.dir}/src/xml/schema/report.xsd">
605            <depends file="${base.dir}/src/xml/schema/report.xsd"/>
606            <produces dir="${build.dir}/gen-java/org/jcoderz/phoenix/report/jaxb">
607                <include name="**/*"/>
608            </produces>
609        </xjc>
610
611        <jaxb-compiler schema="${base.dir}/src/xml/schema/log-message.xsd"
612            produces="${build.dir}/gen-java/org/jcoderz/commons/logging"/>
613
614        <jaxb-compiler schema="${base.dir}/src/xml/findbugs/findbugs.xsd"
615            produces="${build.dir}/gen-java/org/jcoderz/phoenix/findbugs/jaxb"/>
616        <xjc target="${build.dir}/gen-java"
617             extension="true"
618             binding="${base.dir}/src/xml/findbugs/messagecollection.xjb"
619             schema="${base.dir}/src/xml/findbugs/messagecollection.xsd">
620<!--            <arg value="-use-runtime"/>
621            <arg value="org.jcoderz.phoenix.report.jaxb.impl.runtime"/> -->
622            <depends file="${base.dir}/src/xml/findbugs/messagecollection.xsd"/>
623            <produces dir="${build.dir}/gen-java/org/jcoderz/phoenix/findbugs/message/jaxb">
624                <include name="**/*"/>
625            </produces>
626        </xjc>
627
628        <jaxb-compiler schema="${base.dir}/src/xml/schema/pmd.xsd"
629            produces="${build.dir}/gen-java/org/jcoderz/phoenix/pmd/jaxb"/>
630        <jaxb-compiler schema="${base.dir}/src/xml/schema/pmd-ruleset.xsd"
631            produces="${build.dir}/gen-java/org/jcoderz/phoenix/pmd/ruleset/jaxb"/>
632        <jaxb-compiler schema="${base.dir}/src/xml/schema/cpd.xsd"
633            produces="${build.dir}/gen-java/org/jcoderz/phoenix/cpd/jaxb"/>
634
635        <jaxb-compiler schema="${base.dir}/src/xml/schema/coverage.xsd"
636            produces="${build.dir}/gen-java/org/jcoderz/phoenix/coverage/jaxb"/>
637        <jaxb-compiler schema="${base.dir}/src/xml/schema/finding-type-format-description.xsd"
638            produces="${build.dir}/gen-java/org/jcoderz/phoenix/report/ftf/jaxb"/>
639
640        <jaxb-compiler schema="${base.dir}/src/xml/schema/jcoverage.xsd"
641            produces="${build.dir}/gen-java/org/jcoderz/phoenix/jcoverage/jaxb"/>
642
643        <jaxb-compiler schema="${base.dir}/src/xml/schema/checkstyle.xsd"
644            produces="${build.dir}/gen-java/org/jcoderz/phoenix/checkstyle/jaxb"/>
645        <jaxb-compiler schema="${base.dir}/src/xml/schema/checkstyle-message.xsd"
646            produces="${build.dir}/gen-java/org/jcoderz/phoenix/checkstyle/message/jaxb"/>
647
648        <jaxb-compiler schema="${base.dir}/src/xml/schema/sql-transformer-metainf.xsd"
649            produces="${build.dir}/gen-java/org/jcoderz/phoenix/sqlparser/jaxb"/>
650    </target>
651
652    <!-- =================================================================== -->
653    <!-- Generate CMP entity beans from SQL scrips                           -->
654    <!-- =================================================================== -->
655    <target name="generate-entity-beans"
656       depends="prepare, generate-entity-beans-uptodatecheck,
657       generate-entity-beans-nodeps"/>
658    <target name="generate-entity-beans-uptodatecheck">
659        <uptodate property="entities.uptodate"
660          targetfile="${build.dir}/generate-entity-beans.done">
661            <srcfiles dir="${base.dir}/src/sql">
662                <include name="*_create_*.sql"/>
663            </srcfiles>
664        </uptodate>
665    </target>
666    <target name="generate-entity-beans-nodeps" unless="entities.uptodate">
667        <touch file="${build.dir}/generate-entity-beans.done"/>
668        <generate-entity-beans
669          sqlfile="${base.dir}/src/sql/cfg_create_tables.sql"
670          package="org.jcoderz.commons.config"/>
671    </target>
672
673    <!-- =================================================================== -->
674    <!-- Extend deployment descriptors for read-only entity beans            -->
675    <!-- =================================================================== -->
676    <target name="add-readonly-entities"
677        depends="ejbdoclet, bootstrap-ant-tasks">
678        <taskdef name="make-readonly-beans"
679            classname="org.jcoderz.commons.taskdefs.MakeReadonlyBeans">
680            <classpath>
681                <pathelement location="${build.dir}/classes"/>
682                <pathelement location="${build.dir}/bootstrap-classes"/>
683                <path refid="default.classpath"/>
684            </classpath>
685        </taskdef>
686        <mkdir dir="${build.dir}/dd-with-readonly-entities"/>
687        <make-readonly-beans
688         destdir="${build.dir}/dd-with-readonly-entities"
689         sourcedestdir="${build.dir}/gen-java"
690         deploymentdescriptor="${build.dir}/deploymentdescriptors/ejb-jar.xml"
691         weblogicDeploymentDescriptor="${build.dir}/deploymentdescriptors/weblogic-ejb-jar.xml"
692         weblogicCmpDeploymentDescriptor="${build.dir}/deploymentdescriptors/weblogic-cmp-rdbms-jar.xml"
693         failonerror="true">
694            <readonlybean name="ConfigEntity"/>
695        </make-readonly-beans>
696    </target>
697
698    <!-- =================================================================== -->
699    <!-- run Xdoclet for all Beans                                           -->
700    <!-- =================================================================== -->
701    <target name="ejbdoclet"
702        depends="prepare, generate-entity-beans, ejbdoclet-uptodatecheck, ejbdoclet-nodeps"/>
703    <target name="ejbdoclet-uptodatecheck">
704        <uptodate property="ejbdoclet.uptodate"
705                  targetfile="${build.dir}/deploymentdescriptors/ejb-jar.xml" >
706            <srcfiles dir="${base.dir}/src/java">
707                <include name="**/*Bean.java" />
708                <exclude name="**/*MBean.java" />
709            </srcfiles>
710            <srcfiles dir="${build.dir}/gen-java">
711                <include name="**/*Bean.java" />
712                <exclude name="**/*MBean.java" />
713            </srcfiles>
714        </uptodate>
715    </target>
716    <target name="ejbdoclet-nodeps" unless="ejbdoclet.uptodate">
717        <xdoclet-ejb
718            destdir="${build.dir}/gen-java"
719            dd-dir="${build.dir}/deploymentdescriptors">
720            <sources>
721                <fileset dir="${base.dir}/src/java">
722                    <include name="**/*Bean.java" />
723                    <exclude name="**/*MBean.java" />
724                </fileset>
725                <fileset dir="${build.dir}/gen-java">
726                    <include name="**/*Bean.java" />
727                    <exclude name="**/*MBean.java" />
728                </fileset>
729            </sources>
730        </xdoclet-ejb>
731    </target>
732
733    <!-- =================================================================== -->
734    <!-- run Xdoclet/Web for production Servlets                             -->
735    <!-- =================================================================== -->
736    <target name="webdoclet"
737            depends="ejbdoclet,webdoclet-uptodatecheck, webdoclet-nodeps"/>
738    <target name="webdoclet-uptodatecheck">
739        <uptodate property="webdoclet.uptodate"
740             targetfile="${build.dir}/deploymentdescriptors/web.xml" >
741            <srcfiles dir="${base.dir}/src/java">
742                <include name="**/*Servlet.java" />
743            </srcfiles>
744        </uptodate>
745    </target>
746    <target name="webdoclet-nodeps" unless="webdoclet.uptodate">
747        <taskdef name="webdoclet"
748             classname="xdoclet.modules.web.WebDocletTask">
749            <classpath refid="default.classpath"/>
750        </taskdef>
751        <webdoclet destdir="${build.dir}" verbose="true">
752            <fileset dir="${base.dir}/src/java">
753                <include name="**/*Servlet.java" />
754            </fileset>
755            <deploymentdescriptor
756             destdir="${build.dir}/deploymentdescriptors"
757             validatexml="true"
758             mergedir="${base.dir}/src/xml/xdoclet" />
759        </webdoclet>
760    </target>
761
762<!-- =================================================================== -->
763   <!-- compile all Java classes                                            -->
764   <!-- =================================================================== -->
765   <target name="compile-all"
766          depends="app-info, generate-log-message-info, generate-simple-types,
767               generate-config-classes, generate-config-init-file, jaxb-stubs, webdoclet,
768               add-readonly-entities, compile-all-nodeps"
769          description="Compile all Java classes">
770    </target>
771    <target name="compile-all-nodeps">
772        <mkdir dir="${build.dir}/classes"/>
773        <record name="${build.dir}/javac.log"
774          action="start" append="true"
775          emacsmode="true"
776          loglevel="info"/>
777        <javac destdir="${build.dir}/classes"
778           deprecation="true"
779           debug="true"
780           fork="true"
781           source="1.4"
782           target="1.4">
783          <src path="${base.dir}/src/java"/>
784          <src path="${build.dir}/gen-java"/>
785          <exclude name="org/jcoderz/phoenix/dependency/**"/>
786          <exclude name="org/jcoderz/phoenix/report/**"/>
787          <exclude name="org/jcoderz/testdata/**"/>
788          <classpath refid="default.classpath"/>
789        <compilerarg value="-Xlint:all"/>
790        <compilerarg value="-Xlint:-path"/>
791        <compilerarg value="-Xmaxwarns"/><compilerarg value="1000"/>
792      </javac>
793        <javac destdir="${build.dir}/classes"
794             deprecation="true"
795             debug="true"
796             fork="true"
797             source="1.5"
798             target="1.5">
799            <src path="${base.dir}/src/java"/>
800            <src path="${build.dir}/gen-java"/>
801            <include name="org/jcoderz/phoenix/report/**"/>
802            <include name="org/jcoderz/testdata/**"/>
803            <include name="org/jcoderz/phoenix/dependency/**"/>
804            <compilerarg value="-Xlint:all"/>
805            <compilerarg value="-Xlint:-path"/>
806            <compilerarg value="-Xmaxwarns"/><compilerarg value="1000"/>
807          <classpath>
808              <pathelement path="${build.dir}/classes"/>
809              <path refid="default.classpath"/>
810          </classpath>
811        </javac>
812        <record name="${build.dir}/javac.log"
813          action="stop"/>
814        <copy todir="${build.dir}/classes"
815            preservelastmodified="true">
816            <fileset dir="${base.dir}/src/java/">
817                <include name="**/*.properties"/>
818                <include name="**/*.xml"/>
819            </fileset>
820            <!-- generated properties i.e. for configuration service-->
821            <fileset dir="${build.dir}/gen-java/">
822                <include name="**/*.ser" />
823                <include name="**/*.properties"/>
824            </fileset>
825        </copy>
826        <copy todir="${build.dir}/classes/org/jcoderz/commons/taskdefs"
827          preservelastmodified="true">
828            <fileset dir="${base.dir}/src/xml/xsl">
829                <include name="*.xsl"/>
830            </fileset>
831            <fileset dir="${base.dir}/src/xml/schema">
832                <include name="app-info.xsd"/>
833            </fileset>
834        </copy>
835        <!-- Copy resources for the JcoderzReport to be included into the jar -->
836        <copy file="${base.dir}/src/css/reportstyle.css"
837              todir="${build.dir}/classes/org/jcoderz/phoenix/report"
838              preservelastmodified="true"/>
839        <copy todir="${build.dir}/classes/org/jcoderz/phoenix/report"
840              preservelastmodified="true">
841           <fileset dir="${base.dir}/src/image">
842              <include name="*.gif"/>
843           </fileset>
844        </copy>
845        <!-- extract PMD rulesets -->
846        <unjar dest="${build.dir}/classes"
847               src="${base.dir}/lib/default/pmd/pmd.jar"
848             overwrite="false">
849            <patternset>
850                <include name="rulesets/**/*.*"/>
851            </patternset>
852        </unjar>
853        <!-- extract fb-contrib messages.xml -->
854      <mkdir dir="${build.dir}/fb-contrib-tmp"/>
855        <unjar dest="${build.dir}/fb-contrib-tmp"
856               src="${base.dir}/lib/default/fb-contrib/fb-contrib.jar"
857               overwrite="false">
858            <patternset>
859                <include name="messages.xml"/>
860            </patternset>
861        </unjar>
862        <copy file="${build.dir}/fb-contrib-tmp/messages.xml"
863            preservelastmodified="true"
864              tofile="${build.dir}/classes/org/jcoderz/phoenix/findbugs/fb-contrib-messages.xml"/>
865        <!-- extract findbugs messages.xml -->
866        <mkdir dir="${build.dir}/findbugs-tmp"/>
867        <unjar dest="${build.dir}/findbugs-tmp"
868               src="${base.dir}/lib/default/findbugs/findbugs.jar"
869               overwrite="false">
870            <patternset>
871                <include name="messages.xml"/>
872            </patternset>
873        </unjar>
874        <copy file="${build.dir}/findbugs-tmp/messages.xml"
875              preservelastmodified="true"
876              tofile="${build.dir}/classes/org/jcoderz/phoenix/findbugs/messages.xml"/>
877        <copy file="${base.dir}/src/xml/checkstyle-messages.xml"
878              tofile="${build.dir}/classes/org/jcoderz/phoenix/checkstyle/checkstyle-messages.xml"
879              preservelastmodified="true"/>
880        <copy file="${base.dir}/src/java/org/jcoderz/phoenix/chart2d/chart2d.dtd"
881              tofile="${build.dir}/stats/chart2d/chart2d.dtd"
882              preservelastmodified="true"/>
883    </target>
884
885    <target name="fawkez-jar" depends="compile-all, fawkez-jar-nodeps"/>
886    <target name="fawkez-jar-nodeps">
887         <manifest file="${build.dir}/MANIFEST.MF">
888           <attribute name="Main-Class" value="org.jcoderz.commons.Version"/>
889           <attribute name="Built-By" value="${user.name}"/>
890           <attribute name="Built-At" value="${build.time}"/>
891           <section name="common">
892             <attribute name="Implementation-Title" value="${Name}"/>
893             <attribute name="Implementation-Version" value="${version} ${label}"/>
894             <attribute name="Implementation-Vendor" value="jcoderZ.org"/>
895             <attribute name="Implementation-URL" value="http://www.jcoderz.org/fawkez/"/>
896           </section>
897        </manifest>
898        <jar jarfile="${build.dir}/fawkez.jar"
899          manifest="${build.dir}/MANIFEST.MF">
900            <fileset dir="${build.dir}/classes">
901                <include name="org/jcoderz/commons/*"/>
902                <include name="org/jcoderz/commons/statistics/**"/>
903                <include name="org/jcoderz/commons/types/**"/>
904                <include name="org/jcoderz/commons/util/**"/>
905            </fileset>
906        </jar>
907        <jar jarfile="${build.dir}/fawkez-tools.jar"
908          manifest="${build.dir}/MANIFEST.MF">
909            <fileset dir="${build.dir}/classes">
910                <include name="org/jcoderz/commons/Version.*"/>
911                <include name="org/jcoderz/commons/doclet/**"/>
912                <include name="org/jcoderz/commons/taskdefs/*"/>
913                <include name="org/jcoderz/commons/types/**"/>
914                <include name="org/jcoderz/commons/phoenix/**"/>
915            </fileset>
916        </jar>
917        <jar jarfile="${build.dir}/fawkez-server.jar"
918          manifest="${build.dir}/MANIFEST.MF">
919            <fileset dir="${build.dir}/classes">
920              <include name="org/jcoderz/commons/Version.*"/>
921              <include name="org/jcoderz/commons/config/**"/>
922              <include name="org/jcoderz/commons/connector/**"/>
923              <include name="org/jcoderz/commons/logging/**"/>
924              <!-- TODO: DDs-->
925            </fileset>
926        </jar>
927        <jar jarfile="${build.dir}/fawkez-all.jar"
928          manifest="${build.dir}/MANIFEST.MF">
929            <fileset dir="${build.dir}/classes"/>
930        </jar>
931        <append-version jarfile="${build.dir}/fawkez.jar"/>
932        <append-version jarfile="${build.dir}/fawkez-tools.jar"/>
933        <append-version jarfile="${build.dir}/fawkez-server.jar"/>
934        <append-version jarfile="${build.dir}/fawkez-all.jar"/>
935    </target>
936    <target name="fawkez-src-jar" depends="fawkez-jar, fawkez-src-jar-nodeps"/>
937    <target name="fawkez-src-jar-nodeps">
938        <jar jarfile="${build.dir}/fawkez-src.jar">
939            <fileset dir="${base.dir}/src/java">
940               <include name="**/*.java"/>
941            </fileset>
942        </jar>
943        <append-version jarfile="${build.dir}/fawkez-src.jar"/>
944    </target>
945
946   <!-- =================================================================== -->
947   <!-- Default target: build everything (developer mode)                   -->
948   <!-- =================================================================== -->
949   <target name="build"
950           depends="prepare, fawkez-jar"
951           description="Build everything (developer mode).">
952   </target>
953
954   <!-- =================================================================== -->
955   <!-- build distribution in 'dist'                                        -->
956   <!-- =================================================================== -->
957   <target name="dist"
958           depends="build, fawkez-src-jar, dist-nodeps"
959           description="Build distribution"/>
960   <target name="dist-nodeps">
961      <mkdir dir="${dist.dir}"/>
962      <mkdir dir="${dist.dir}/etc"/>
963      <mkdir dir="${dist.dir}/sql"/>
964      <mkdir dir="${dist.dir}/config"/>
965      <mkdir dir="${dist.dir}/resources/image"/>
966
967      <!-- root -->
968      <copy file="${base.dir}/VERSION" todir="${dist.dir}"/>
969      <copy file="${base.dir}/CHANGES" todir="${dist.dir}"/>
970      <copy file="${base.dir}/LICENSE" todir="${dist.dir}"/>
971      <copy todir="${dist.dir}">
972         <fileset dir="${build.dir}">
973            <include name="fawkez.jar"/>
974            <include name="fawkez-tools.jar"/>
975            <include name="fawkez-server.jar"/>
976            <include name="fawkez-all.jar"/>
977            <include name="fawkez-src.jar"/>
978         </fileset>
979      </copy>
980
981      <!-- sql -->
982      <taskdef name="sqltransformer"
983               classname="org.jcoderz.phoenix.sqlparser.SqlTransformerTask">
984         <classpath>
985            <pathelement path="${build.dir}/classes"/>
986            <path refid="default.classpath"/>
987         </classpath>
988      </taskdef>
989
990      <sqltransformer todir="${dist.dir}/sql">
991         <fileset dir="${base.dir}/src/sql">
992            <include name="*_create*.sql"/>
993            <include name="*_initialize*.sql"/>
994            <include name="*_drop*.sql"/>
995         </fileset>
996         <fileset dir="${build.dir}/gen-sql">
997            <include name="*_create*.sql"/>
998            <include name="*_initialize*.sql"/>
999            <include name="*_drop*.sql"/>
1000         </fileset>
1001      </sqltransformer>
1002
1003         <!-- The repackaged jEdit syntax highlighter -->
1004        <copy todir="${dist.dir}/"
1005          file="${build.dir}/jedit-syntax.jar"/>
1006
1007       <!-- etc -->
1008      <copy todir="${dist.dir}/etc">
1009         <fileset dir="${base.dir}/src/xml">
1010            <include name="app-info.xml"/>
1011            <include name="fwk-*-info.xml"/>
1012         </fileset>
1013      </copy>
1014
1015      <!-- config -->
1016      <copy todir="${dist.dir}/config">
1017         <fileset dir="${base.dir}/config">
1018            <include name="jcoderz-*.xml"/>
1019            <include name="jcoderz-*.xsl"/>
1020         </fileset>
1021      </copy>
1022
1023      <!-- resources -->
1024      <copy todir="${dist.dir}/resources">
1025        <fileset dir="${base.dir}/src/css">
1026          <include name="*.css"/>
1027        </fileset>
1028      </copy>
1029      <copy todir="${dist.dir}/resources/image">
1030        <fileset dir="${base.dir}/src/image">
1031          <include name="*.gif"/>
1032          <include name="*.svg"/>
1033        </fileset>
1034      </copy>
1035
1036      <java classpath="${dist.dir}/fawkez-all.jar"
1037         classname="${project.package}.Version"
1038         outputproperty="release-version"/>
1039
1040      <!-- DONE -->
1041      <echo level="info" taskname="**">
1042+-----------------------------------------------------------------+
1043| C O N G R A T U L A T I O N !                                   |
1044|                                                                 |
1045| The build of ${release-version} was successful.
1046| You will find the complete distribution in the                  |
1047|                                                                 |
1048|    ${base.dir}/dist
1049|                                                                 |
1050| directory.                                                      |
1051|                                                                 |
1052| Thanks for building ${name}.
1053|                                            The jCoderZ.org Team |
1054+-----------------------------------------------------------------+
1055      </echo>
1056   </target>
1057
1058   <!-- =================================================================== -->
1059   <!-- build distribution tarball                                          -->
1060   <!-- =================================================================== -->
1061   <target name="tarball"
1062           depends="dist, test-compile, doc"
1063           description="Build distribution tarball">
1064      <property name="tarball"
1065                value="${build.dir}/fawkez-${DSTAMP}${TSTAMP}.tar.gz"/>
1066      <echo level="info" message="Creating distribution tarball ${tarball}"/>
1067      <tar tarfile="${tarball}"
1068           compression="gzip">
1069         <tarfileset dir="${dist.dir}" mode="755" prefix="fawkez-${version}/">
1070            <include name="*.sh"/>
1071            <include name="bin/*.sh" />
1072         </tarfileset>
1073         <tarfileset dir="${dist.dir}" prefix="fawkez-${version}/">
1074            <include name="**"/>
1075            <exclude name="*.sh"/>
1076            <exclude name="bin/*.sh" />
1077         </tarfileset>
1078      </tar>
1079     <mkdir dir="${build.dir}/doc"/>
1080     <copy file="${build.dir}/fawkez-${DSTAMP}${TSTAMP}.tar.gz"
1081          todir="${build.dir}/doc"/>
1082   </target>
1083
1084   <target name="tarball-with-libs"
1085      depends="dist, doc, tarball-with-libs-nodeps"/>
1086   <target name="tarball-with-libs-nodeps" depends="prepare">
1087      <!-- grrrh, no update mode available for the tar task -->
1088      <property name="tarball"
1089                value="${build.dir}/fawkez-${DSTAMP}${TSTAMP}.tar.gz"/>
1090      <tar tarfile="${tarball}"
1091           compression="gzip">
1092         <tarfileset dir="${dist.dir}" mode="755" prefix="fawkez-${version}/">
1093            <include name="*.sh"/>
1094            <include name="bin/*.sh" />
1095         </tarfileset>
1096         <tarfileset dir="${dist.dir}" prefix="fawkez-${version}/">
1097            <include name="**"/>
1098            <exclude name="*.sh"/>
1099            <exclude name="bin/*.sh" />
1100         </tarfileset>
1101         <tarfileset dir="${base.dir}/lib/default"
1102               prefix="fawkez-${version}/lib/ext">
1103            <include name="**"/>
1104         </tarfileset>
1105      </tar>
1106     <mkdir dir="${build.dir}/doc"/>
1107     <copy file="${build.dir}/fawkez-${DSTAMP}${TSTAMP}.tar.gz"
1108          todir="${build.dir}/doc"/>
1109   </target>
1110
1111  <target name="doc" depends="javadoc, guideline-java, sad, usecase, testspec,
1112                              quality-report"
1113    description="Build Docomentation"/>
1114
1115   <!-- =================================================================== -->
1116   <!-- Create JavaDoc                                                      -->
1117   <!-- =================================================================== -->
1118   <target name="javadoc" depends="prepare"
1119           description="Internal JavaDoc FawkeZ.">
1120
1121     <!-- These values should be set by jMade -->
1122     <property name="java.javadoc"
1123       value="http://java.sun.com/j2se/1.5.0/docs/api"/>
1124     <property name="j2ee.javadoc"
1125       value="http://java.sun.com/j2ee/1.4/docs/api"/>
1126     <property name="jaxb.javadoc"
1127       value="http://java.sun.com/webservices/docs/1.4/api"/>
1128     <property name="xmlunit.javadoc"
1129       value="http://xmlunit.sourceforge.net/doc"/>
1130     <property name="junit.javadoc"
1131       value="http://www.junit.org/junit/javadoc/3.8.1"/>
1132     <property name="smack.javadoc"
1133       value="http://www.jivesoftware.org/builds/smack/docs/latest/javadoc"/>
1134     <property name="xerces.javadoc"
1135       value="http://xerces.apache.org/xerces-j/apiDocs"/>
1136
1137      <record name="${build.dir}/javadoc.log"
1138        action="start"
1139        emacsmode="true"
1140        loglevel="info"/>
1141      <mkdir dir="${build.dir}/doc/api"/>
1142      <javadoc
1143         packagenames="org.jcoderz.*"
1144         destdir="${build.dir}/doc/api"
1145         windowtitle="${Name} - Developer's Documentation"
1146         doctitle="&lt;h1&gt;${Name}&lt;/h1&gt;"
1147         bottom="&lt;i&gt;Copyright ${copyright.year} The jCoderZ Project.&lt;/i&gt;"
1148         author="true"
1149         version="true"
1150         use="true"
1151         additionalparam="-quiet"
1152         locale="en_US"
1153         breakiterator="true"
1154         source="1.5">
1155          <tag name="ejb.create-method"/>
1156          <tag name="ejb.bean"/>
1157          <tag name="ejb.interface"/>
1158          <tag name="ejb.interface-method"/>
1159          <tag name="ejb.ejb-external-ref"/>
1160          <tag name="ejb.ejb-ref"/>
1161          <tag name="ejb.finder"/>
1162          <tag name="ejb.permission"/>
1163          <tag name="ejb.persistence"/>
1164          <tag name="ejb.persistent-field"/>
1165          <tag name="ejb.pk-field"/>
1166          <tag name="ejb.resource-ref"/>
1167          <tag name="ejb.security-roles"/>
1168          <tag name="ejb.transaction"/>
1169          <tag name="fdims.admintool.sampleOutput"/>
1170          <tag name="web.servlet"/>
1171          <tag name="web.servlet-mapping"/>
1172          <tag name="weblogic.cache"/>
1173          <tag name="weblogic.data-source-name"/>
1174          <tag name="weblogic.delay-database-insert-until"/>
1175          <tag name="weblogic.enable-call-by-reference"/>
1176          <tag name="weblogic.persistence"/>
1177          <tag name="weblogic.resource-description"/>
1178          <tag name="fdims.admintool.example"/>
1179          <tag name="description"/>
1180          <tag name="solution"/>
1181          <tag name="procedure"/>
1182          <tag name="verification"/>
1183
1184         <!-- taglet name="org.jcoderz.phoenix.javadoc.JcoderzTaglet"
1185             path="${build.dir}/classes"/ -->
1186         <sourcepath>
1187            <pathelement path="${base.dir}/src/java"/>
1188            <pathelement path="${base.dir}/test/java"/>
1189            <pathelement path="${base.dir}/build/gen-java"/>
1190            <pathelement path="${base.dir}/build/gen-test"/>
1191            <!--
1192            <pathelement path="${base.dir}/tools/java"/>
1193            -->
1194         </sourcepath>
1195         <classpath>
1196            <path refid="javadoc.classpath"/>
1197         </classpath>
1198         <link href="${java.javadoc}"/>
1199         <link href="${j2ee.javadoc}"/>
1200         <link href="${jaxb.javadoc}"/>
1201         <link href="${junit.javadoc}"/>
1202         <link href="${xmlunit.javadoc}"/>
1203         <link href="${smack.javadoc}"/>
1204         <link href="${xerces.javadoc}"/>
1205         <link href="http://asm.objectweb.org/current/doc/javadoc/user/"/>
1206         <link href="http://jakarta.apache.org/bcel/apidocs/"/>
1207         <link href="http://chart2d.sourceforge.net/Chart2D_1.9.6/javadocs/"/>
1208         <link href="http://checkstyle.sourceforge.net/api/"/>
1209         <link href="http://commons.apache.org/beanutils/commons-beanutils-1.7.0/docs/api/"/>
1210         <link href="http://commons.apache.org/cli/apidocs/"/>
1211         <link href="http://commons.apache.org/codec/apidocs/"/>
1212         <link href="http://commons.apache.org/collections/apidocs/"/>
1213         <link href="http://hc.apache.org/httpclient-3.x/apidocs/"/>
1214         <link href="http://commons.apache.org/logging/apidocs/"/>
1215         <link href="http://commons.apache.org/pool/apidocs/"/>
1216         <link href="http://www.dom4j.org/apidocs/"/>
1217         <link href="http://java.sun.com/j2se/1.5.0/docs/guide/javadoc/doclet/spec"/>
1218         <link href="http://java.sun.com/j2ee/1.4/docs/api/"/>
1219         <link href="http://java.sun.com/webservices/docs/1.5/api/"/>
1220         <link href="http://jaxen.codehaus.org/apidocs/"/>
1221         <link href="http://www.jivesoftware.org/builds/smack/docs/latest/javadoc/"/>
1222         <link href="http://jtidy.sourceforge.net/apidocs/"/>
1223         <link href="http://www.junit.org/junit/javadoc/3.8.1/"/>
1224         <link href="http://logging.apache.org/log4j/1.2/apidocs/"/>
1225         <link href="http://jakarta.apache.org/oro/api/"/>
1226         <link href="http://jaxen.codehaus.org/apidocs/"/>
1227         <link href="http://xml.apache.org/xalan-j/apidocs/"/>
1228         <link href="http://xerces.apache.org/xerces2-j/javadocs/api/"/>
1229         <link href="http://xmlunit.sourceforge.net/doc/"/>
1230         <link href="http://findbugs.sourceforge.net/api/"/>
1231         <link href="http://xmlgraphics.apache.org/batik/javadoc/"/>
1232         <link href="http://www.hibernate.org/hib_docs/v3/api/"/>
1233         <link href="http://www.jedit.org/api/"/>
1234      </javadoc>
1235      <record name="${build.dir}/javadoc.log" action="stop"/>
1236      <!--
1237      <copy todir="${build.dir}/doc/api">
1238         <fileset dir="${base.dir}/src/docs" includes="**/doc-files/*"/>
1239      </copy>
1240      -->
1241   </target>
1242
1243
1244   <!-- =================================================================== -->
1245   <!-- Cleans up generated stuff, except directory 'dist'                  -->
1246   <!-- =================================================================== -->
1247   <target name="clean" description="Clean all build stuff.">
1248      <delete dir="${build.dir}"/>
1249      <delete file="jcoverage.ser"/>
1250   </target>
1251
1252   <!-- =================================================================== -->
1253   <!-- Cleans up everything                                                -->
1254   <!-- =================================================================== -->
1255   <target name="distclean" depends="clean" description="Clean up everything">
1256      <delete dir="${dist.dir}"/>
1257      <delete>
1258         <fileset dir="${base.dir}" includes="jcoverage*.ser"/>
1259      </delete>
1260   </target>
1261
1262   <!-- =================================================================== -->
1263   <!-- Cleans up everything including the lib directory                    -->
1264   <!-- =================================================================== -->
1265   <target name="libclean" depends="distclean"
1266           description="Clean up everything including most of the lib directory">
1267      <delete file="${base.dir}/lib/default/retrieve-3rd-party-libs.done"/>
1268      <delete dir="${base.dir}/lib/default"/>
1269      <delete dir="${base.dir}/lib/jaxb-compile"/>
1270      <delete dir="${base.dir}/lib/test"/>
1271   </target>
1272
1273
1274</project>
Note: See TracBrowser for help on using the browser.