~ubuntu-branches/ubuntu/trusty/cdk/trusty-proposed

« back to all changes in this revision

Viewing changes to build.xml

  • Committer: Bazaar Package Importer
  • Author(s): Paul Cager
  • Date: 2008-04-09 21:17:53 UTC
  • Revision ID: james.westby@ubuntu.com-20080409211753-46lmjw5z8mx5pd8d
Tags: upstream-1.0.2
ImportĀ upstreamĀ versionĀ 1.0.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<project name="CDK" default="dist-all" basedir=".">
 
2
 
 
3
        <property file="build.props"/>
 
4
 
 
5
        <!-- compile options -->
 
6
        <property name="build.sysclasspath" value="ignore" />
 
7
        <property name="build.compiler" value="modern" />
 
8
        <property name="debug" value="on" />
 
9
        <property name="deprecation" value="on" />
 
10
        <property name="optimization" value="off" />
 
11
        <property name="nowarn" value="off" />
 
12
 
 
13
            <property name="compile.batik" value="true" />
 
14
        
 
15
        <!-- patches to apply -->
 
16
 
 
17
        <!-- where to find some libraries -->
 
18
        <property name="pathtojoelib" value="jar/libio" />
 
19
        <property name="pathtojmol" value="jar/libio" />
 
20
                <property name="jniinchi.jar" value="jniinchi-0.4.jar"/>
 
21
                <property name="log4j.jar" value="log4j-1.2.jar"/>
 
22
 
 
23
        <!-- directories -->
 
24
        <property name="build" value="build" />
 
25
        <property name="build.src" value="${build}/src" />
 
26
        <property name="sourcedist" value="sourcedist" />
 
27
        <property name="dist" value="dist" />
 
28
        <property name="doc" value="doc" />
 
29
        <property name="src" value="src" />
 
30
        <property name="lib" value="jar" />
 
31
        <property name="devellib" value="develjar" />
 
32
        <property name="src.tests" value="${src}/org/openscience/cdk/test" />
 
33
        <property name="reports.tests" value="reports" />
 
34
        <property name="appjars.dir" value="${dist}/appjars" />
 
35
        <property name="metainf" value="${src}/META-INF" />
 
36
 
 
37
        <!-- class to run for testing-->
 
38
        <property name="testclass" value="CDKTests" />
 
39
        <property name="runclass" value="applications.FileConvertor" />
 
40
        <property name="arg1" value="" />
 
41
        <property name="arg2" value="" />
 
42
        <property name="arg3" value="" />
 
43
        <property name="arg4" value="" />
 
44
 
 
45
         <property environment="env" />
 
46
 
 
47
    <target id="info" name="info" depends="check">
 
48
            <!-- Gives information about the building process. -->
 
49
            <echo message="Platform:" />
 
50
            <echo message="             OS: ${os.name}" />
 
51
            <echo message="   Architecture: ${os.arch}" />
 
52
            <echo message="        Version: ${os.version}" />
 
53
            <echo message=" Mac OS/X found: ${isMacOsX}" />
 
54
            <echo message="" />
 
55
            <echo message="Java/Ant Environment:" />
 
56
            <echo message="   Java version: ${java.version}" />
 
57
            <echo message="    Java vendor: ${java.vendor}" />
 
58
            <echo message="       Java dir: ${java.home}" />
 
59
            <echo message="   Java ext dir: ${java.ext.dirs}" />
 
60
            <echo message="          Java3: ${isJava13}" />
 
61
            <echo message="          Java4: ${isJava14}" />
 
62
            <echo message="          Java5: ${isJava15}" />
 
63
            <echo message="          Java6: ${isJava16}" />
 
64
            <echo message="         Java4+: ${isJava14+}" />
 
65
            <echo message="         Java5+: ${isJava15+}" />
 
66
            <echo message="     not Java5+: ${isNotJava15+}" />
 
67
            <echo message="          Java6: ${isJava16}" />
 
68
            <echo message="    Ant version: ${ant.version}" />
 
69
            <echo message="    ${ANT_HOME}: ${ant.home}" />
 
70
            <echo message="       hasAnt16: ${hasAnt16}" />
 
71
            <echo message="" />
 
72
            <echo message="CDK Environment:" />
 
73
            <echo message="    CDK version: ${version}" />
 
74
            <echo message="      build.xml: $Id: build.xml 10282 2008-03-02 15:25:03Z egonw $" />
 
75
            <echo message="    Junit found: ${junit.present}" />
 
76
            <echo message=" --- required libraries ---" />
 
77
            <echo message="  Vecmath found: ${vecmath.present}" />
 
78
            <echo message="    Log4j found: ${log4j.present}" />
 
79
            <echo message="  JGraphT found: ${jgrapht.present}" />
 
80
            <echo message=" --- distributed (but optional) libraries ---" />
 
81
            <echo message="    Batik found: ${batik.present}" />
 
82
            <echo message="   CMLDOM found: ${cmllibs.present}" />
 
83
            <echo message="    DADML found: ${dadml.present}" />
 
84
            <echo message="      JAI found: ${jai.present}" />
 
85
            <echo message="  XIndice found: ${xindice.present}"/>
 
86
            <echo message="    SJava found: ${sjava.present}"/>
 
87
            <echo message="JNI-InChI found: ${jniinchi.present}"/>
 
88
            <echo message=" --- optional libraries ---" />
 
89
            <echo message="" />
 
90
            <echo message="Compiling:" />
 
91
            <echo message="            for: ${build.compiler}" />
 
92
            <echo message="          debug: ${debug}" />
 
93
            <echo message="         nowarn: ${nowarn}" />
 
94
            <echo message="    deprecation: ${deprecation}" />
 
95
            <echo message="   optimization: ${optimization}" />
 
96
        </target>
 
97
 
 
98
        <target id="checkPlatforms" name="checkPlatforms">
 
99
            <condition property="isMacOsX">
 
100
                <and>
 
101
                    <os family="mac"/>
 
102
                    <os family="unix"/>
 
103
                </and>
 
104
            </condition>
 
105
        </target>
 
106
 
 
107
        <target id="check" name="check" depends="checkPlatforms">
 
108
            <!-- Check wether Doclets are compiled and output is generated -->
 
109
            <uptodate property="dotjavafiles.uptodate"
 
110
                      targetfile="${src}/core.javafiles">
 
111
              <srcfiles dir="${src}" includes="**/*.java" />
 
112
            </uptodate>
 
113
            <condition property="dotjjfiles.uptodate">
 
114
              <and>
 
115
                <uptodate property="NomParserJavafiles.uptodate"
 
116
                          targetfile="${src}/org/openscience/cdk/iupac/parser/NomParser.java">
 
117
                  <srcfiles dir="${src}" includes="org/openscience/cdk/iupac/parser/NomParser.jj" />
 
118
                </uptodate>
 
119
              </and>
 
120
            </condition>
 
121
 
 
122
            <!-- Checks which parts of CDK can be build. -->
 
123
 
 
124
            <!-- test for optional jars -->
 
125
            <available property="vecmath.present" file="${lib}/vecmath1.2-1.14.jar"/>
 
126
            <available property="log4j.present" file="${lib}/${log4j.jar}"/>
 
127
            <available property="jgrapht.present" file="${lib}/jgrapht.jar"/>
 
128
            <available property="cmllibs.present" file="${lib}/jumbo52.jar"/>
 
129
            <available property="dadml.present" file="${lib}/dadml.jar"/>
 
130
            <available property="sjava-0.68.present" file="${lib}/sjava-0.68.jar"/>
 
131
                <available property="jniinchi.present" file="${lib}/${jniinchi.jar}"/>
 
132
            <condition property="batik.present">
 
133
              <and>
 
134
                <available file="${lib}/batik-awt-util.jar"/>
 
135
                <available file="${lib}/batik-dom.jar"/>
 
136
                <available file="${lib}/batik-svggen.jar"/>
 
137
                <available file="${lib}/batik-util.jar"/>
 
138
                <available file="${lib}/batik-xml.jar"/>
 
139
                <istrue value="${compile.batik}"/>
 
140
              </and>
 
141
            </condition>
 
142
            <condition property="jai.present">
 
143
              <and>
 
144
                <available file="${lib}/jai_codec.jar"/>
 
145
                <available file="${lib}/jai_core.jar"/>
 
146
              </and>
 
147
            </condition>
 
148
            <available property="junit.present"
 
149
                       classname="junit.framework.TestCase"
 
150
                       classpath="${ant.home}/lib/junit.jar"/>
 
151
            <condition property="xindice.present">
 
152
              <and>
 
153
                <available file="${lib}/xindice.jar"/>
 
154
                <available file="${lib}/xmldb.jar"/>
 
155
              </and>
 
156
            </condition>
 
157
 
 
158
            <!-- test Ant version -->
 
159
            <condition property="hasAnt16">
 
160
              <or>
 
161
              <contains string="${ant.version}" substring="1.6"/>
 
162
              <contains string="${ant.version}" substring="1.7"/>
 
163
              </or>
 
164
            </condition>
 
165
 
 
166
            <!-- test Java version -->
 
167
            <condition property="isJava13">
 
168
                <contains string="${java.version}" substring="1.3"/>
 
169
            </condition>
 
170
            <condition property="isJava14">
 
171
                <contains string="${java.version}" substring="1.4"/>
 
172
            </condition>
 
173
            <condition property="isJava15">
 
174
                <contains string="${java.version}" substring="1.5"/>
 
175
            </condition>
 
176
            <condition property="isJava16">
 
177
                <contains string="${java.version}" substring="1.6."/>
 
178
            </condition>
 
179
            <condition property="isJava14+">
 
180
                <or>
 
181
                    <contains string="${java.version}" substring="1.4"/>
 
182
                    <contains string="${java.version}" substring="1.5"/>
 
183
                    <contains string="${java.version}" substring="1.6"/>
 
184
                </or>
 
185
            </condition>
 
186
            <condition property="isJava15+">
 
187
                <or>
 
188
                    <contains string="${java.version}" substring="1.5"/>
 
189
                    <contains string="${java.version}" substring="1.6"/>
 
190
                </or>
 
191
            </condition>
 
192
            <condition property="isNotJava15+">
 
193
                <not>
 
194
                  <or>
 
195
                    <contains string="${java.version}" substring="1.5"/>
 
196
                    <contains string="${java.version}" substring="1.6"/>
 
197
                  </or>
 
198
                </not>
 
199
            </condition>
 
200
        </target>
 
201
 
 
202
        <target id="checkCompilableBlobs" name="checkCompilableBlobs" depends="check">
 
203
            <!-- check compilable blobs -->
 
204
                <condition property="compile.jai"><and><available file="${build}/jai.javafiles"/><istrue value="${jai.present}"/></and></condition>
 
205
            <condition property="compile.dadml"><and><available file="${build}/dadml.javafiles"/><istrue value="${dadml.present}"/></and></condition>
 
206
            <condition property="compile.xindice"><and><available file="${build}/xindice.javafiles"/><istrue value="${xindice.present}"/></and></condition>
 
207
            <condition property="compile.jumbo52"><and><available file="${build}/jumbo52.javafiles"/><istrue value="${cmllibs.present}"/></and></condition>
 
208
            <condition property="compile.r-project"><and><available file="${build}/r-project.javafiles"/><istrue value="${sjava.present}"/></and></condition>
 
209
            
 
210
            <condition property="do.compile.batik"><and><available file="${build}/batik.javafiles"/><istrue value="${batik.present}"/></and></condition>
 
211
            <condition property="compile.jniinchi"><and><available file="${build}/jniinchi.javafiles"/><istrue value="${jniinchi.present}"/></and></condition>
 
212
        </target>
 
213
 
 
214
        <target id="init" name="init" depends="check, setupBuildDir"/>
 
215
        <target id="customize" name="customize" depends="javacc"/>
 
216
 
 
217
        <target id="setupBuildDir" name="setupBuildDir">
 
218
                <tstamp />
 
219
                <mkdir dir="${build}" />
 
220
                <mkdir dir="${sourcedist}" />
 
221
                <mkdir dir="${dist}" />
 
222
                <mkdir dir="${reports.tests}" />
 
223
        </target>
 
224
 
 
225
        <target id="clean" name="clean" description="Removes autogenerated files.">
 
226
                <delete>
 
227
                    <fileset dir="." includes="**/*~" />
 
228
                    <fileset dir="." includes="*.tar.gz" />
 
229
                    <fileset dir="." includes="*.zip" />
 
230
                    <fileset dir="." includes="*.rda" />
 
231
                    <fileset dir="${src}" includes="*.entitylist" />
 
232
                    <!-- remove java files generated with JavaCC -->
 
233
                    <fileset dir="${src}/org/openscience/cdk/iupac/parser" includes="*.java">
 
234
                        <!-- the next are from CVS -->
 
235
                        <exclude name="AttachedGroup.java" />
 
236
                        <exclude name="MoleculeBuilder.java" />
 
237
                    </fileset>
 
238
                    <fileset dir="${src}">
 
239
                        <include name="net/sf/cdk/tools/*.class" />
 
240
                    </fileset>
 
241
                </delete>
 
242
 
 
243
                <delete dir="${build}" />
 
244
                <delete dir="${sourcedist}" />
 
245
                <delete dir="${dist}" />
 
246
                <delete dir="${reports.tests}" />
 
247
        </target>
 
248
 
 
249
        <target name="runDoclet" id="runDoclet" depends="check, customize">
 
250
            <echo>Not skipping doclet run...</echo>
 
251
            <mkdir dir="${build}" />
 
252
                <javac includes="net/sf/cdk/tools/MakeJavafilesFiles.java"
 
253
                    nowarn="${nowarn}"
 
254
                    srcdir="${src}" destdir="${build}" optimize="${optimization}"
 
255
                    debug="${debug}" deprecation="${deprecation}"/>
 
256
                <java classpath="${build}" classname="net.sf.cdk.tools.MakeJavafilesFiles">
 
257
                <arg value="${src}"/>
 
258
                <arg value="${build}"/>
 
259
                </java>
 
260
                <javac includes="net/sf/cdk/tools/MakeRequiresfilesFiles.java"
 
261
                       srcdir="${src}" destdir="${build}" optimize="${optimization}"
 
262
                       debug="${debug}" deprecation="${deprecation}"/>
 
263
                <java classpath="${build}" classname="net.sf.cdk.tools.MakeRequiresfilesFiles">
 
264
                        <arg value="${src}"/>
 
265
                        <arg value="${build}"/>
 
266
                </java>
 
267
        </target>
 
268
 
 
269
        <target id="compile-needed-test" name="compile-needed-test">
 
270
                <condition property="module-uptodate">
 
271
                  <or>
 
272
                    <not>
 
273
                      <available file="${build}/${module}.javafiles"/>
 
274
                    </not>
 
275
                <uptodate property="module-uptodate" targetfile="${dist}/jar/cdk-${module}.jar">
 
276
                  <srcfiles dir="${src}">
 
277
                    <includesfile name="${build}/${module}.javafiles"/>
 
278
                  </srcfiles>
 
279
                </uptodate>
 
280
                  </or>
 
281
                </condition>
 
282
        </target>
 
283
                
 
284
        <target id="compile-info" name="compile-info" depends="init, runDoclet, checkCompilableBlobs">
 
285
                <echo message="Determine compilable blobs..."/>
 
286
                <echo message="Compile DADML: ${compile.dadml}"/> 
 
287
                <echo message="Compile JAI: ${compile.jai}"/> 
 
288
                <echo message="Compile Xindice: ${compile.xindice}"/> 
 
289
                <echo message="Compile Jumbo52: ${compile.jumbo52}"/> 
 
290
                <echo message="Compile R Project: ${compile.r-project}"/> 
 
291
                <echo message="Compile Batik: ${do.compile.batik}"/>
 
292
                <echo message="Compile JNI-InChI: ${compile.jniinchi}"/>
 
293
        </target>
 
294
 
 
295
        <target id="compile-init" name="compile-init"
 
296
                depends="init, runDoclet, checkCompilableBlobs"/>
 
297
 
 
298
        <target id="compile-module" name="compile-module"
 
299
                depends="init, compile-needed-test, compile-info"
 
300
                unless="module-uptodate">
 
301
 
 
302
            <echo message="Compiling classes for CDK's ${module} module." />
 
303
                <mkdir dir="${dist}/jar" />
 
304
 
 
305
            <!-- check for availability for meta info files -->
 
306
            <available file="${metainf}/${module}.datafiles" property="module.datafiles.present"/>
 
307
            <available file="${metainf}/${module}.extrafiles" property="module.extrafiles.present"/>
 
308
            <available file="${metainf}/${module}.buildfiles" property="module.buildfiles.present"/>
 
309
            <available file="${metainf}/${module}.cdkdepends" property="module.cdkdepends.present"/>
 
310
            <available file="${metainf}/${module}.libdepends" property="module.libdepends.present"/>
 
311
            <available file="${metainf}/${module}.devellibdepends" property="module.devellibdepends.present"/>
 
312
                
 
313
                <condition property="java14p.javafiles.present"><available file="${build}/java1.4+.javafiles"/></condition>
 
314
                <condition property="java15p.javafiles.present"><available file="${build}/java1.5+.javafiles"/></condition>
 
315
                <condition property="ant16.javafiles.present"><available file="${build}/ant1.6.javafiles"/></condition>
 
316
                                
 
317
            <!-- be somewhat informative -->
 
318
            <echo message="Datafiles defined: ${module.datafiles.present}"/>
 
319
            <echo message="Extra files defined: ${module.extrafiles.present}"/>
 
320
            <echo message="CDK dependencies defined: ${module.cdkdepends.present}"/>
 
321
            <echo message="Library dependencies defined: ${module.libdepends.present}"/>
 
322
            <echo message="Developer Library dependencies defined: ${module.devellibdepends.present}"/>
 
323
 
 
324
            <!-- normally javac compiles not just the given files, but also missing
 
325
                 classes that are in the same src/ directory. By making a copy first,
 
326
                 we explicitely make it impossible to compile files that are not
 
327
                 marked for a specific module -->
 
328
            <delete dir="${build.src}"/>
 
329
            <mkdir dir="${build.src}"/>
 
330
            <copy todir="${build.src}">
 
331
                <fileset dir="${src}">
 
332
                    <excludesfile name="${build}/java1.4+.javafiles" if="isJava13"/>
 
333
                    <!-- excludesfile name="${build}/java1.4.javafiles" unless="isJava14"/ -->
 
334
                    <!-- excludesfile name="${build}/java1.5.javafiles" unless="isJava15"/ -->
 
335
                    <excludesfile name="${build}/java1.5+.javafiles" if="isNotJava15+"/>
 
336
                    <excludesfile name="${build}/ant1.6.javafiles" unless="hasAnt16"/>
 
337
                    <excludesfile name="${build}/jai.javafiles" unless="compile.jai"/>
 
338
                    <excludesfile name="${build}/dadml.javafiles" unless="compile.dadml"/>
 
339
                    <excludesfile name="${build}/xindice.javafiles" unless="compile.xindice"/>
 
340
                    <excludesfile name="${build}/jumbo52.javafiles" unless="compile.jumbo52"/>
 
341
                    <excludesfile name="${build}/r-project.javafiles" unless="compile.r-project"/>
 
342
                    <excludesfile name="${build}/batik.javafiles" unless="do.compile.batik"/>
 
343
                    <excludesfile name="${build}/jniinchi.javafiles" unless="compile.jniinchi"/>
 
344
 
 
345
                    <includesfile name="${build}/${module}.javafiles"/>
 
346
                </fileset>
 
347
            </copy>
 
348
 
 
349
            <!-- ok, now that we have a copy, compile this copy -->
 
350
            <javac srcdir="${build.src}" destdir="${build}" optimize="${optimization}"
 
351
                    nowarn="${nowarn}"
 
352
                    debug="${debug}" deprecation="${deprecation}" target="1.3" source="1.3">
 
353
                <classpath>
 
354
                    <fileset dir="${lib}" >
 
355
                        <exclude name="**/*" unless="module.libdepends.present" />
 
356
                        <includesfile name="${metainf}/${module}.libdepends" if="module.libdepends.present" />
 
357
                    </fileset>
 
358
                    <fileset dir="${devellib}">
 
359
                        <exclude name="**/*" unless="module.devellibdepends.present" />
 
360
                        <includesfile name="${metainf}/${module}.devellibdepends" if="module.devellibdepends.present" />
 
361
                    </fileset>
 
362
                    <fileset dir="${dist}/jar">
 
363
                        <exclude name="**/*" unless="module.cdkdepends.present" />
 
364
                        <includesfile name="${metainf}/${module}.cdkdepends" if="module.cdkdepends.present" />
 
365
                    </fileset>
 
366
                </classpath>
 
367
 
 
368
                <excludesfile name="${build}/java1.4+.javafiles" if="isJava13"/>
 
369
                <!-- excludesfile name="${build}/java1.4.javafiles" unless="isJava14"/ -->
 
370
                <!-- excludesfile name="${build}/java1.5.javafiles" unless="isJava15"/ -->
 
371
                <excludesfile name="${build}/java1.5+.javafiles" if="isNotJava15+"/>
 
372
                <excludesfile name="${build}/ant1.6.javafiles" unless="hasAnt16"/>
 
373
                <excludesfile name="${build}/jai.javafiles" unless="compile.jai"/>
 
374
                <excludesfile name="${build}/dadml.javafiles" unless="compile.dadml"/>
 
375
                <excludesfile name="${build}/xindice.javafiles" unless="compile.xindice"/>
 
376
                <excludesfile name="${build}/jumbo52.javafiles" unless="compile.jumbo52"/>
 
377
                <excludesfile name="${build}/r-project.javafiles" unless="compile.r-project"/>
 
378
                <excludesfile name="${build}/batik.javafiles" unless="do.compile.batik"/>
 
379
                <excludesfile name="${build}/jniinchi.javafiles" unless="compile.jniinchi"/>
 
380
 
 
381
                <includesfile name="${build}/${module}.javafiles"/>
 
382
            </javac>
 
383
 
 
384
            <!-- and then jar things up into the module jar -->
 
385
            <jar jarfile="${dist}/jar/cdk-${module}.jar">
 
386
                <fileset dir="${build}">
 
387
                    <includesfile name="${build}/${module}.classes" />
 
388
                    <excludesfile name="${build}/java1.4+.classes" if="isJava13"/>
 
389
                    <!-- excludesfile name="${build}/java1.4.classes" unless="isJava14"/ -->
 
390
                    <!-- excludesfile name="${build}/java1.5.javafiles" unless="isJava15"/ -->
 
391
                    <excludesfile name="${build}/java1.5+.javafiles" if="isNotJava15+"/>
 
392
                    <excludesfile name="${build}/ant1.6.classes" unless="hasAnt16"/>
 
393
                    <excludesfile name="${build}/jai.javafiles" unless="compile.jai"/>
 
394
                    <excludesfile name="${build}/dadml.javafiles" unless="compile.dadml"/>
 
395
                    <excludesfile name="${build}/xindice.javafiles" unless="compile.xindice"/>
 
396
                    <excludesfile name="${build}/jumbo52.javafiles" unless="compile.jumbo52"/>
 
397
                    <excludesfile name="${build}/r-project.javafiles" unless="compile.r-project"/>
 
398
                    <excludesfile name="${build}/batik.javafiles" unless="do.compile.batik"/>
 
399
                        <excludesfile name="${build}/jniinchi.javafiles" unless="compile.jniinchi"/>
 
400
               </fileset>
 
401
               <fileset dir="${build}">
 
402
                    <include name="${module}.javafiles" />
 
403
               </fileset>
 
404
               <fileset dir="${src}">
 
405
                    <exclude name="**/*" unless="module.datafiles.present"/>
 
406
                    <includesfile name="${metainf}/${module}.datafiles" if="module.datafiles.present" />
 
407
               </fileset>
 
408
               <fileset dir="${src}">
 
409
                    <exclude name="**/*" unless="module.extrafiles.present"/>
 
410
                    <includesfile name="${metainf}/${module}.extrafiles" if="module.extrafiles.present" />
 
411
               </fileset>
 
412
                <fileset dir="${build}">
 
413
                     <exclude name="**/*" unless="module.buildfiles.present"/>
 
414
                     <includesfile name="${metainf}/${module}.buildfiles" if="module.buildfiles.present" />
 
415
                </fileset>
 
416
            </jar>
 
417
       </target>
 
418
 
 
419
        <!-- Convert the JavaCC .jj file to the correct .java files for the IUPAC parser -->
 
420
        <target id="javacc" name="javacc" depends="init, check" if="hasAnt16" unless="dotjjfiles.uptodate">
 
421
          <echo message="Compiling Ant 1.6 depending classes." />
 
422
          <!-- the IUPAC name parser -->
 
423
          <delete>
 
424
              <fileset id="javacc-generated"
 
425
                dir="${src}/org/openscience/cdk/iupac/parser/"
 
426
                includes="NomParser*.java,ParseException.java,SimpleCharStream.java,Token.java,TokenMgrError.java"/>
 
427
          </delete>
 
428
          <javacc target="${src}/org/openscience/cdk/iupac/parser/NomParser.jj"
 
429
            outputdirectory="${src}/org/openscience/cdk/iupac/parser/"
 
430
            javacchome="${lib}"/>
 
431
        </target>
 
432
 
 
433
    <target id="dist-java3d" name="dist-java3d" depends="nocompile-java3d, compile-java3d"/>
 
434
    <target id="nocompile-java3d" name="nocompile-java3d" unless="${java3d.present}">
 
435
      <echo message="Java3d is not found. Removed depending functionality. Java3d can be downloaded from http://java.sun.com/."/>
 
436
    </target>
 
437
    <target id="compile-java3d" name="compile-java3d" if="${java3d.present}">
 
438
        <antcall target="compile-module"><param name="module" value="java3d"/></antcall>
 
439
    </target>
 
440
 
 
441
        <target id="dist-optional" name="dist-optional" depends="dist-all"
 
442
                description="Compile CDK modules that require optional libraries">
 
443
                <antcall target="dist-java3d"/>
 
444
                <antcall target="dist-jmol"/>
 
445
                <antcall target="dist-joelib"/>
 
446
        </target>
 
447
 
 
448
    <target id="dist-all" name="dist-all" description="dist-all">
 
449
            <antcall target="compile-init"/>
 
450
            <antcall target="compile-module"><param name="module" value="interfaces"/></antcall>
 
451
            <antcall target="compile-module"><param name="module" value="core"/></antcall>
 
452
            <antcall target="compile-module"><param name="module" value="standard"/></antcall>
 
453
            <antcall target="compile-module"><param name="module" value="data"/></antcall>
 
454
            <antcall target="compile-module"><param name="module" value="render"/></antcall>
 
455
            <antcall target="compile-module"><param name="module" value="io"/></antcall>
 
456
            <antcall target="compile-module"><param name="module" value="valencycheck"/></antcall>
 
457
            <antcall target="compile-module"><param name="module" value="sdg"/></antcall>
 
458
            <antcall target="compile-module"><param name="module" value="control"/></antcall>
 
459
            <antcall target="compile-module"><param name="module" value="datadebug"/></antcall>
 
460
            <antcall target="compile-module"><param name="module" value="nonotify"/></antcall>
 
461
            <antcall target="compile-module"><param name="module" value="structgen"/></antcall>
 
462
            <antcall target="compile-module"><param name="module" value="pdb"/></antcall>
 
463
            <antcall target="compile-module"><param name="module" value="extra"/></antcall>
 
464
            <antcall target="compile-module"><param name="module" value="smiles"/></antcall>
 
465
            <antcall target="compile-module"><param name="module" value="libio-cml"/></antcall>
 
466
            <antcall target="compile-module"><param name="module" value="libio-openbabel"/></antcall>
 
467
            <antcall target="compile-module"><param name="module" value="libiomd"/></antcall>
 
468
            <antcall target="compile-module"><param name="module" value="pdb-cml"/></antcall>
 
469
            <antcall target="compile-module"><param name="module" value="reaction"/></antcall>
 
470
            <antcall target="compile-module"><param name="module" value="charges"/></antcall>
 
471
            <antcall target="compile-module"><param name="module" value="qsar"/></antcall>
 
472
            <antcall target="compile-module"><param name="module" value="qsar-cml"/></antcall>
 
473
            <antcall target="compile-module"><param name="module" value="qsar-pdb"/></antcall>
 
474
            <antcall target="compile-module"><param name="module" value="forcefield"/></antcall>
 
475
            <antcall target="compile-module"><param name="module" value="builder3d"/></antcall>
 
476
            <antcall target="compile-module"><param name="module" value="builder3dtools"/></antcall>
 
477
            <antcall target="compile-module"><param name="module" value="svg"/></antcall>
 
478
            <antcall target="compile-module"><param name="module" value="experimental"/></antcall>
 
479
            <antcall target="compile-module"><param name="module" value="applications"/></antcall>
 
480
            <antcall target="compile-module"><param name="module" value="inchi"/></antcall>
 
481
        </target>
 
482
 
 
483
        <target id="test-dist-all" name="test-dist-all" description="test-dist-all">
 
484
        <antcall target="compile-init"/>
 
485
        <antcall target="compile-module"><param name="module" value="test"/></antcall>
 
486
        <antcall target="compile-module"><param name="module" value="test-core"/></antcall>
 
487
        <antcall target="compile-module"><param name="module" value="test-standard"/></antcall>
 
488
        <antcall target="compile-module"><param name="module" value="test-data"/></antcall>
 
489
        <antcall target="compile-module"><param name="module" value="test-datadebug"/></antcall>
 
490
        <antcall target="compile-module"><param name="module" value="test-nonotify"/></antcall>
 
491
        <antcall target="compile-module"><param name="module" value="test-io"/></antcall>
 
492
        <antcall target="compile-module"><param name="module" value="test-structgen"/></antcall>
 
493
        <antcall target="compile-module"><param name="module" value="test-extra"/></antcall>
 
494
        <antcall target="compile-module"><param name="module" value="test-smiles"/></antcall>
 
495
        <antcall target="compile-module"><param name="module" value="test-reaction"/></antcall>
 
496
        <antcall target="compile-module"><param name="module" value="test-builder3d"/></antcall>
 
497
        <antcall target="compile-module"><param name="module" value="test-forcefield"/></antcall>
 
498
        <antcall target="compile-module"><param name="module" value="test-valencycheck"/></antcall>
 
499
        <antcall target="compile-module"><param name="module" value="test-experimental"/></antcall>
 
500
        <antcall target="compile-module"><param name="module" value="test-qsar"/></antcall>
 
501
        <antcall target="compile-module"><param name="module" value="test-qsarAtomic"/></antcall>
 
502
        <antcall target="compile-module"><param name="module" value="test-qsarBond"/></antcall>
 
503
        <antcall target="compile-module"><param name="module" value="test-qsarMolecular"/></antcall>
 
504
        <antcall target="compile-module"><param name="module" value="test-pdb"/></antcall>
 
505
        <antcall target="compile-module"><param name="module" value="test-osjvmts"/></antcall>
 
506
        <antcall target="compile-module"><param name="module" value="test-inchi"/></antcall>
 
507
        <antcall target="compile-module"><param name="module" value="test-libiomd"/></antcall>
 
508
        </target>
 
509
 
 
510
        <target id="dist-large" name="dist-large" depends="dist-all"
 
511
            description="Builds one big jar file for the CDK, including experimental classes and third-party libraries.">
 
512
 
 
513
            <!-- first unjar the CDK and other jars we need -->
 
514
            <mkdir dir="${appjars.dir}"/>
 
515
            <unjar dest="${appjars.dir}">
 
516
                <fileset dir="${lib}">
 
517
                    <includesfile name="${metainf}/applications.libdepends"/>
 
518
                    <includesfile name="${metainf}/builder3d.libdepends"/>
 
519
                    <includesfile name="${metainf}/builder3dtools.libdepends"/>
 
520
                    <includesfile name="${metainf}/charges.libdepends"/>
 
521
                    <includesfile name="${metainf}/core.libdepends"/>
 
522
                    <includesfile name="${metainf}/control.libdepends"/>
 
523
                    <includesfile name="${metainf}/datadebug.libdepends"/>
 
524
                    <includesfile name="${metainf}/data.libdepends"/>
 
525
                    <includesfile name="${metainf}/experimental.libdepends"/>
 
526
                    <includesfile name="${metainf}/extra.libdepends"/>
 
527
                    <includesfile name="${metainf}/io-jmol.libdepends"/>
 
528
                    <includesfile name="${metainf}/io.libdepends"/>
 
529
                    <includesfile name="${metainf}/libio-cml.libdepends"/>
 
530
                    <includesfile name="${metainf}/nonotify.libdepends"/>
 
531
                    <includesfile name="${metainf}/pdb-cml.libdepends"/>
 
532
                    <includesfile name="${metainf}/pdb.libdepends"/>
 
533
                    <includesfile name="${metainf}/qsar.libdepends"/>
 
534
                    <includesfile name="${metainf}/qsar-cml.libdepends"/>
 
535
                    <includesfile name="${metainf}/qsar-pdb.libdepends"/>
 
536
                    <includesfile name="${metainf}/reaction.libdepends"/>
 
537
                    <includesfile name="${metainf}/render.libdepends"/>
 
538
                    <includesfile name="${metainf}/standard.libdepends"/>
 
539
                    <includesfile name="${metainf}/svg.libdepends"/>
 
540
                    <includesfile name="${metainf}/valencycheck.libdepends"/>
 
541
                    <includesfile name="${metainf}/sdg.libdepends"/>
 
542
                    <includesfile name="${metainf}/forcefield.libdepends"/>
 
543
                    <includesfile name="${metainf}/inchi.libdepends"/>
 
544
                </fileset>
 
545
                <fileset dir="${dist}/jar">
 
546
                    <include name="cdk-applications.jar"/>
 
547
                    <include name="cdk-builder3d.jar"/>
 
548
                    <include name="cdk-builder3dtools.jar"/>
 
549
                    <include name="cdk-charges.jar"/>
 
550
                    <include name="cdk-core.jar"/>
 
551
                    <include name="cdk-control.jar"/>
 
552
                    <include name="cdk-datadebug.jar"/>
 
553
                    <include name="cdk-data.jar"/>
 
554
                    <include name="cdk-experimental.jar"/>
 
555
                    <include name="cdk-extra.jar"/>
 
556
                    <include name="cdk-interfaces.jar"/>
 
557
                    <include name="cdk-io.jar"/>
 
558
                    <include name="cdk-io-jmol.jar"/>
 
559
                    <include name="cdk-libio-cml.jar"/>
 
560
                    <include name="cdk-libiomd.jar"/>
 
561
                    <include name="cdk-nonotify.jar"/>
 
562
                    <include name="cdk-pdb-cml.jar"/>
 
563
                    <include name="cdk-pdb.jar"/>
 
564
                    <include name="cdk-qsar.jar"/>
 
565
                    <include name="cdk-qsar-cml.jar"/>
 
566
                    <include name="cdk-qsar-pdb.jar"/>
 
567
                    <include name="cdk-reaction.jar"/>
 
568
                    <include name="cdk-render.jar"/>
 
569
                    <include name="cdk-standard.jar"/>
 
570
                    <include name="cdk-structgen.jar"/>
 
571
                    <include name="cdk-svg.jar"/>
 
572
                    <include name="cdk-valencycheck.jar"/>
 
573
                    <include name="cdk-forcefield.jar"/>
 
574
                    <include name="cdk-smiles.jar"/>
 
575
                    <include name="cdk-sdg.jar"/>
 
576
                    <include name="cdk-inchi.jar"/>
 
577
                </fileset>
 
578
            </unjar>
 
579
 
 
580
            <!-- then zip up things -->
 
581
            <jar jarfile="${dist}/jar/cdk-${version}.jar">
 
582
                <manifest>
 
583
                    <attribute name="Main-Class" value="org.openscience.cdk.applications.DistLargeInfo"/>
 
584
                    <section name="org.openscience.cdk">
 
585
                        <attribute name="Specification-Title" value="The Chemistry Development Kit"/>
 
586
                        <attribute name="Specification-Version" value="1.0"/>
 
587
                        <attribute name="Specification-Vendor" value="The CDK Project"/>
 
588
                        <attribute name="Implementation-Title" value="org.openscience.cdk"/>
 
589
                        <attribute name="Implementation-Version" value="${version}"/>
 
590
                        <attribute name="Implementation-Vendor" value="The CDK Project"/>
 
591
                    </section>
 
592
                </manifest>
 
593
                <fileset dir="${appjars.dir}">
 
594
                    <include name="**/*" />
 
595
                </fileset>
 
596
            </jar>
 
597
        </target>
 
598
 
 
599
        <target id="dist-pure" name="dist-pure" depends="dist-all"
 
600
            description="Builds one big jar file for the CDK, including experimental classes, but excluding third party libraries.">
 
601
 
 
602
            <!-- first unjar the CDK and other jars we need -->
 
603
            <mkdir dir="${appjars.dir}"/>
 
604
            <unjar dest="${appjars.dir}">
 
605
                <fileset dir="${dist}/jar">
 
606
                    <include name="cdk-applications.jar"/>
 
607
                    <include name="cdk-builder3d.jar"/>
 
608
                    <include name="cdk-builder3dtools.jar"/>
 
609
                    <include name="cdk-charges.jar"/>
 
610
                    <include name="cdk-core.jar"/>
 
611
                    <include name="cdk-control.jar"/>
 
612
                    <include name="cdk-datadebug.jar"/>
 
613
                    <include name="cdk-data.jar"/>
 
614
                    <include name="cdk-experimental.jar"/>
 
615
                    <include name="cdk-extra.jar"/>
 
616
                    <include name="cdk-interfaces.jar"/>
 
617
                    <include name="cdk-io.jar"/>
 
618
                    <include name="cdk-io-jmol.jar"/>
 
619
                    <include name="cdk-libio-cml.jar"/>
 
620
                    <include name="cdk-libiomd.jar"/>
 
621
                    <include name="cdk-nonotify.jar"/>
 
622
                    <include name="cdk-pdb-cml.jar"/>
 
623
                    <include name="cdk-pdb.jar"/>
 
624
                    <include name="cdk-qsar.jar"/>
 
625
                    <include name="cdk-qsar-cml.jar"/>
 
626
                    <include name="cdk-qsar-pdb.jar"/>
 
627
                    <include name="cdk-reaction.jar"/>
 
628
                    <include name="cdk-render.jar"/>
 
629
                    <include name="cdk-standard.jar"/>
 
630
                    <include name="cdk-structgen.jar"/>
 
631
                    <include name="cdk-svg.jar"/>
 
632
                    <include name="cdk-valencycheck.jar"/>
 
633
                    <include name="cdk-forcefield.jar"/>
 
634
                    <include name="cdk-smiles.jar"/>
 
635
                    <include name="cdk-sdg.jar"/>
 
636
                    <include name="cdk-inchi.jar"/>
 
637
                </fileset>
 
638
            </unjar>
 
639
 
 
640
            <!-- then zip up things -->
 
641
            <jar jarfile="${dist}/jar/cdk-pure-${version}.jar">
 
642
                <manifest>
 
643
                    <attribute name="Main-Class" value="org.openscience.cdk.applications.DistLargeInfo"/>
 
644
                    <section name="org.openscience.cdk">
 
645
                        <attribute name="Specification-Title" value="The Chemistry Development Kit"/>
 
646
                        <attribute name="Specification-Version" value="1.0"/>
 
647
                        <attribute name="Specification-Vendor" value="The CDK Project"/>
 
648
                        <attribute name="Implementation-Title" value="org.openscience.cdk"/>
 
649
                        <attribute name="Implementation-Version" value="${version}"/>
 
650
                        <attribute name="Implementation-Vendor" value="The CDK Project"/>
 
651
                    </section>
 
652
                </manifest>
 
653
                <fileset dir="${appjars.dir}">
 
654
                    <include name="**/*" />
 
655
                </fileset>
 
656
            </jar>
 
657
        </target>
 
658
 
 
659
        <target id="dist-test-large" name="dist-test-large" depends="test-dist-all"
 
660
            description="Builds on big jar file for the CDK test classes.">
 
661
 
 
662
            <!-- first unjar the CDK and other jars we need -->
 
663
            <mkdir dir="${appjars.dir}"/>
 
664
            <unjar dest="${appjars.dir}">
 
665
                <fileset dir="${lib}">
 
666
                    <includesfile name="${metainf}/test-core.libdepends"/>
 
667
                    <includesfile name="${metainf}/test-data.libdepends"/>
 
668
                    <includesfile name="${metainf}/test-datadebug.libdepends"/>
 
669
                    <includesfile name="${metainf}/test-experimental.libdepends"/>
 
670
                    <includesfile name="${metainf}/test-extra.libdepends"/>
 
671
                    <includesfile name="${metainf}/test-builder3d.libdepends"/>
 
672
                    <includesfile name="${metainf}/test-forcefield.libdepends"/>
 
673
                    <includesfile name="${metainf}/test-inchi.libdepends"/>
 
674
                    <includesfile name="${metainf}/test-io.libdepends"/>
 
675
                    <includesfile name="${metainf}/test-nonotify.libdepends"/>
 
676
                    <includesfile name="${metainf}/test-pdb.libdepends"/>
 
677
                    <includesfile name="${metainf}/test-qsarAtomic.libdepends"/>
 
678
                    <includesfile name="${metainf}/test-qsarBond.libdepends"/>
 
679
                    <includesfile name="${metainf}/test-qsar.libdepends"/>
 
680
                    <includesfile name="${metainf}/test-qsarMolecular.libdepends"/>
 
681
                    <includesfile name="${metainf}/test-reaction.libdepends"/>
 
682
                    <includesfile name="${metainf}/test-smiles.libdepends"/>
 
683
                    <includesfile name="${metainf}/test-standard.libdepends"/>
 
684
                    <includesfile name="${metainf}/test-structgen.libdepends"/>
 
685
                    <includesfile name="${metainf}/test-valencycheck.libdepends"/>
 
686
                    <includesfile name="${metainf}/test-libiomd.libdepends"/>
 
687
                </fileset>
 
688
                <fileset dir="${dist}/jar">
 
689
                    <include name="cdk-test-core.jar"/>
 
690
                    <include name="cdk-test-data.jar"/>
 
691
                    <include name="cdk-test-datadebug.jar"/>
 
692
                    <include name="cdk-test-experimental.jar"/>
 
693
                    <include name="cdk-test-extra.jar"/>
 
694
                    <include name="cdk-test-builder3d.jar"/>
 
695
                    <include name="cdk-test-forcefield.jar"/>
 
696
                    <include name="cdk-test-inchi.jar"/>
 
697
                    <include name="cdk-test-io.jar"/>
 
698
                    <include name="cdk-test-nonotify.jar"/>
 
699
                    <include name="cdk-test-pdb.jar"/>
 
700
                    <include name="cdk-test-qsarAtomic.jar"/>
 
701
                    <include name="cdk-test-qsarBond.jar"/>
 
702
                    <include name="cdk-test-qsar.jar"/>
 
703
                    <include name="cdk-test-qsarMolecular.jar"/>
 
704
                    <include name="cdk-test-reaction.jar"/>
 
705
                    <include name="cdk-test-smiles.jar"/>
 
706
                    <include name="cdk-test-standard.jar"/>
 
707
                    <include name="cdk-test-structgen.jar"/>
 
708
                    <include name="cdk-test-valencycheck.jar"/>
 
709
                    <include name="cdk-test-libiomd.jar"/>
 
710
                </fileset>
 
711
            </unjar>
 
712
 
 
713
            <!-- then zip up things -->
 
714
            <jar jarfile="${dist}/jar/cdk-test-${version}.jar">
 
715
                <manifest>
 
716
                    <attribute name="Main-Class" value="org.openscience.cdk.test.CDKTests"/>
 
717
                    <section name="org.openscience.cdk">
 
718
                        <attribute name="Specification-Title" value="The Chemistry Development Kit"/>
 
719
                        <attribute name="Specification-Version" value="1.0"/>
 
720
                        <attribute name="Specification-Vendor" value="The CDK Project"/>
 
721
                        <attribute name="Implementation-Title" value="org.openscience.cdk"/>
 
722
                        <attribute name="Implementation-Version" value="${version}"/>
 
723
                        <attribute name="Implementation-Vendor" value="The CDK Project"/>
 
724
                    </section>
 
725
                </manifest>
 
726
                <fileset dir="${appjars.dir}">
 
727
                    <include name="**/*" />
 
728
                </fileset>
 
729
            </jar>
 
730
        </target>
 
731
 
 
732
        <target id="sourcedist" name="sourcedist" depends="init, runDoclet"
 
733
                description="Builds the source packages.">
 
734
                <property name="package" value="cdk-src+libs-${version}"/>
 
735
                <property name="sourcedist.dir" value="${sourcedist}/${package}"/>
 
736
                <delete dir="${sourcedist.dir}"/>
 
737
                <copy todir="${sourcedist.dir}/${src}">
 
738
                        <fileset dir="${build}" includes="*.javafiles" />
 
739
                        <fileset dir="${build}" includes="*.classes" />
 
740
                        <fileset dir="${build}" includes="*.set" />
 
741
                        <fileset dir="${src}" includes="**/*.java" />
 
742
                        <fileset dir="${src}" includes="**/*.jj" />
 
743
                        <fileset dir="${src}" includes="org/openscience/cdk/io/cml/data/**" />
 
744
                        <fileset dir="${src}" excludes="org/openscience/cdk/test/**" />
 
745
                </copy>
 
746
                <copy todir="${sourcedist.dir}">
 
747
                        <fileset dir="." includes="build.props" />
 
748
                        <fileset dir="." includes="build.xml" />
 
749
                        <fileset dir="." includes="javadoc.xml" />
 
750
                        <fileset dir="." includes="README" />
 
751
                        <fileset dir="." includes="changelog*" />
 
752
                </copy>
 
753
                <copy todir="${sourcedist.dir}/jar">
 
754
                        <fileset dir="jar">
 
755
                            <exclude name="libio/*.jar"/>
 
756
                        </fileset>
 
757
                </copy>
 
758
            <copy todir="${sourcedist.dir}/develjar">
 
759
                    <fileset dir="develjar">
 
760
                        <exclude name="pmd-1.8.jar"/>
 
761
                        <exclude name="doccheck.jar"/>
 
762
                        <exclude name="dbdoclet*.*"/>
 
763
                    </fileset>
 
764
            </copy>
 
765
            <copy todir="${sourcedist.dir}/src/META-INF">
 
766
                    <fileset dir="src/META-INF" />
 
767
            </copy>
 
768
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/config/data/">
 
769
                        <fileset dir="${src}/org/openscience/cdk/config/data/"
 
770
                                 includes="*" />
 
771
                </copy>
 
772
                <copy
 
773
                  file="${src}/org/openscience/cdk/dict/data/chemical.xml"
 
774
                  tofile="${sourcedist.dir}/${src}/org/openscience/cdk/dict/data/chemical.xml" />
 
775
                <copy
 
776
                  file="${src}/org/openscience/cdk/dict/data/elements.xml"
 
777
                  tofile="${sourcedist.dir}/${src}/org/openscience/cdk/dict/data/elements.xml" />
 
778
                <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/qsar/model/data/"/>
 
779
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/qsar/model/data/">
 
780
                    <fileset dir="${src}/org/openscience/cdk/qsar/model/data/" includes="*.R"/>
 
781
                </copy>
 
782
                <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/forcefield/data/"/>
 
783
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/forcefield/data/">
 
784
                    <fileset dir="${src}/org/openscience/cdk/modeling/forcefield/data/" includes="*.prm"/>
 
785
                </copy>
 
786
            <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/builder3d/data/"/>
 
787
            <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/builder3d/data/">
 
788
                <fileset dir="${src}/org/openscience/cdk/modeling/builder3d/data/" includes="*.gz"/>
 
789
            </copy>
 
790
                <copy todir="${sourcedist.dir}/${src}/">
 
791
                    <fileset dir="${src}/" includes="*.manifest" />
 
792
                </copy>
 
793
                <mkdir dir="${sourcedist.dir}/doc/" />
 
794
                <copy todir="${sourcedist.dir}/doc/">
 
795
                    <fileset dir="doc/" includes="lgpl.license" />
 
796
                </copy>
 
797
                <mkdir dir="${sourcedist.dir}/doc/javadoc" />
 
798
                <!-- the below deteles are a workaround, because the above should not have copied
 
799
                     in the src/data and src/org/openscience/cdk/test dirs -->
 
800
                <delete dir="${sourcedist.dir}/src/data"/>
 
801
                <delete dir="${sourcedist.dir}/src/org/openscience/cdk/test"/>
 
802
 
 
803
                <!-- now package things up -->
 
804
                <tar tarfile="${package}.tar" basedir="${sourcedist}/" includes="${package}/**" />
 
805
                <gzip zipfile="${package}.tar.gz" src="${package}.tar" />
 
806
                <delete file="${package}.tar" />
 
807
                <zip zipfile="${package}.zip" basedir="${sourcedist}/" includes="${package}/**" />
 
808
        </target>
 
809
 
 
810
        <target id="puredist" name="puredist" depends="init, runDoclet"
 
811
                description="Builds the source packages without third-party libaries.">
 
812
                <property name="package" value="cdk-${version}"/>
 
813
                <property name="sourcedist.dir" value="${sourcedist}/${package}"/>
 
814
                <delete dir="${sourcedist.dir}"/>
 
815
                <copy todir="${sourcedist.dir}/${src}">
 
816
                        <fileset dir="${src}" includes="**/*.java" />
 
817
                        <fileset dir="${src}" includes="**/*.jj" />
 
818
                        <fileset dir="${src}" includes="org/openscience/cdk/io/cml/data/**" />
 
819
                </copy>
 
820
                <copy todir="${sourcedist.dir}">
 
821
                        <fileset dir="." includes="build.props" />
 
822
                        <fileset dir="." includes="build.xml" />
 
823
                        <fileset dir="." includes="javadoc.xml" />
 
824
                        <fileset dir="." includes="README" />
 
825
                        <fileset dir="." includes="changelog*" />
 
826
                </copy>
 
827
                <copy todir="${sourcedist.dir}/src/data">
 
828
                        <fileset dir="src/data" />
 
829
                </copy>
 
830
                <copy todir="${sourcedist.dir}/src/META-INF">
 
831
                    <fileset dir="src/META-INF" />
 
832
               </copy>
 
833
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/config/data/">
 
834
                        <fileset dir="${src}/org/openscience/cdk/config/data/"
 
835
                                 includes="*" />
 
836
                </copy>
 
837
                <copy
 
838
                  file="${src}/org/openscience/cdk/dict/data/chemical.xml"
 
839
                  tofile="${sourcedist.dir}/${src}/org/openscience/cdk/dict/data/chemical.xml" />
 
840
                <copy
 
841
                  file="${src}/org/openscience/cdk/dict/data/elements.xml"
 
842
                  tofile="${sourcedist.dir}/${src}/org/openscience/cdk/dict/data/elements.xml" />
 
843
                <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/qsar/model/data/"/>
 
844
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/qsar/model/data/">
 
845
                    <fileset dir="${src}/org/openscience/cdk/qsar/model/data/" includes="*.R"/>
 
846
                </copy>
 
847
                <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/forcefield/data/"/>
 
848
                <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/forcefield/data/">
 
849
                    <fileset dir="${src}/org/openscience/cdk/modeling/forcefield/data/" includes="*.prm"/>
 
850
                </copy>
 
851
            <mkdir dir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/builder3d/data/"/>
 
852
            <copy todir="${sourcedist.dir}/${src}/org/openscience/cdk/modeling/builder3d/data/">
 
853
                <fileset dir="${src}/org/openscience/cdk/modeling/builder3d/data/" includes="*.gz"/>
 
854
            </copy>
 
855
                <copy todir="${sourcedist.dir}/${src}/">
 
856
                    <fileset dir="${src}/" includes="*.manifest" />
 
857
                </copy>
 
858
                <mkdir dir="${sourcedist.dir}/doc/" />
 
859
                <copy todir="${sourcedist.dir}/doc/">
 
860
                    <fileset dir="doc/" includes="lgpl.license" />
 
861
                </copy>
 
862
                <mkdir dir="${sourcedist.dir}/doc/javadoc" />
 
863
                <mkdir dir="${sourcedist.dir}/doc/refs" />
 
864
                <copy todir="${sourcedist.dir}/doc/refs">
 
865
                  <fileset dir="doc/refs" includes="cheminf.bibx" />
 
866
                </copy>
 
867
                <!-- the below deteles are a workaround, because the above should not have copied
 
868
                     in the src/data and src/org/openscience/cdk/test dirs -->
 
869
                <delete dir="${sourcedist.dir}/src/data"/>
 
870
                <delete dir="${sourcedist.dir}/src/org/openscience/cdk/test"/>
 
871
 
 
872
                <!-- now package things up -->
 
873
                <tar tarfile="${package}.tar" basedir="${sourcedist}/" includes="${package}/**" />
 
874
                <gzip zipfile="${package}.tar.gz" src="${package}.tar" />
 
875
                <delete file="${package}.tar" />
 
876
        </target>
 
877
 
 
878
        <target id="noJunit" name="noJunit" depends="check" unless="junit.present">
 
879
            <fail message="JUnit is not installed in Ant. Please copy cdk/develjar/junit.jar to ${ant.home}/lib/."/>
 
880
        </target>
 
881
        
 
882
                <target id="test-module" name="test-module" depends="noJunit"
 
883
                        description="Performs a full JUnit test for the CDK." 
 
884
                        if="junit.present">
 
885
 
 
886
            <echo message="Testing classes for CDK's ${module} module." />
 
887
            
 
888
            <!-- check for availability for meta info files -->
 
889
            <available file="${metainf}/test-${module}.cdkdepends" property="module.cdkdepends.present"/>
 
890
            <available file="${metainf}/test-${module}.libdepends" property="module.libdepends.present"/>
 
891
                        <available file="${metainf}/test-${module}.devellibdepends" property="module.devellibdepends.present"/>        
 
892
                        
 
893
            <!-- be somewhat informative -->
 
894
            <echo message="CDK dependencies defined: ${module.cdkdepends.present}"/>
 
895
            <echo message="Library dependencies defined: ${module.libdepends.present}"/>
 
896
                        <echo message="Developer Library dependencies defined: ${module.devellibdepends.present}"/>
 
897
 
 
898
                        <mkdir dir="${reports.tests}"/>
 
899
            <junit printsummary="yes" haltonfailure="no" fork="yes" maxmemory="256m">
 
900
                <classpath>
 
901
                     <fileset dir="${lib}" >
 
902
                         <exclude name="**/*" unless="module.libdepends.present" />
 
903
                         <includesfile name="${metainf}/test-${module}.libdepends" if="module.libdepends.present" />
 
904
                     </fileset>
 
905
                     <fileset dir="${devellib}">
 
906
                         <exclude name="**/*" unless="module.devellibdepends.present" />
 
907
                         <includesfile name="${metainf}/test-${module}.devellibdepends" if="module.devellibdepends.present" />
 
908
                     </fileset>
 
909
                     <fileset dir="${dist}/jar">
 
910
                         <exclude name="**/*" unless="module.cdkdepends.present" />
 
911
                         <includesfile name="${metainf}/test-${module}.cdkdepends" if="module.cdkdepends.present" />
 
912
                         <include name="cdk-test-${module}.jar" />
 
913
                     </fileset>
 
914
                 </classpath>
 
915
                 <test name="org.openscience.cdk.test.M${module}Tests"
 
916
                     haltonfailure="no"
 
917
                     todir="${reports.tests}"
 
918
                     outfile="result-${module}">
 
919
                     <formatter type="brief" />
 
920
                 </test>
 
921
                        </junit>
 
922
            </target>
 
923
                        
 
924
        <target id="test-all" name="test-all" depends="noJunit, dist-all, test-dist-all"
 
925
                description="Performs a full JUnit test for the CDK." 
 
926
                if="junit.present">
 
927
                <antcall target="test-module"><param name="module" value="core"/></antcall>
 
928
                <antcall target="test-module"><param name="module" value="data"/></antcall>
 
929
                <antcall target="test-module"><param name="module" value="datadebug"/></antcall>
 
930
                <antcall target="test-module"><param name="module" value="nonotify"/></antcall>
 
931
                <antcall target="test-module"><param name="module" value="standard"/></antcall>
 
932
                <antcall target="test-module"><param name="module" value="io"/></antcall>
 
933
                <antcall target="test-module"><param name="module" value="extra"/></antcall>
 
934
            <antcall target="test-module"><param name="module" value="builder3d"/></antcall> 
 
935
            <antcall target="test-module"><param name="module" value="forcefield"/></antcall> 
 
936
                <antcall target="test-module"><param name="module" value="valencycheck"/></antcall> 
 
937
                <antcall target="test-module"><param name="module" value="reaction"/></antcall>
 
938
                <antcall target="test-module"><param name="module" value="smiles"/></antcall>
 
939
                <antcall target="test-module"><param name="module" value="experimental"/></antcall> 
 
940
                <antcall target="test-module"><param name="module" value="qsar"/></antcall> 
 
941
                <antcall target="test-module"><param name="module" value="qsarAtomic"/></antcall>
 
942
                <antcall target="test-module"><param name="module" value="qsarBond"/></antcall>
 
943
                <antcall target="test-module"><param name="module" value="qsarMolecular"/></antcall>
 
944
                <antcall target="test-module"><param name="module" value="pdb"/></antcall> 
 
945
            <antcall target="test-module"><param name="module" value="inchi"/></antcall>
 
946
            <antcall target="test-module"><param name="module" value="structgen"/></antcall>
 
947
            <antcall target="test-module"><param name="module" value="libiomd"/></antcall>
 
948
        </target>
 
949
 
 
950
        <target id="limitations" name="limitations" depends="noJunit, dist-all"
 
951
                description="Performs a JUnit tests that indicate limitations of certain CDK algorithms/classes.">
 
952
                <junit printsummary="yes" haltonfailure="yes" fork="yes">
 
953
                    <classpath>
 
954
                        <fileset dir="${dist}/jar">
 
955
                                <include name="cdk-*.jar" />
 
956
                        </fileset>
 
957
                        <fileset dir="${lib}">
 
958
                                <include name="*.jar" />
 
959
                        </fileset>
 
960
                        <fileset dir="${devellib}">
 
961
                                <include name="*.jar" />
 
962
                        </fileset>
 
963
                        <fileset dir="${lib}/libio">
 
964
                                <include name="*.jar" />
 
965
                        </fileset>
 
966
                    </classpath>
 
967
                        <test name="org.openscience.cdk.test.limitations.AlgorithmLimitations"
 
968
                        haltonfailure="no"
 
969
                        todir="${reports.tests}"
 
970
                        outfile="limitations">
 
971
                                <formatter type="brief" />
 
972
                        </test>
 
973
                </junit>
 
974
        </target>
 
975
 
 
976
        <target id="run-test" name="run-test" depends="dist-all,test-dist-all" 
 
977
                description="Runs one specific JUnit test suite (org.openscience.cdk.test.&lt;class>) as a standalone application with -Dtestclass=&lt;class>.">
 
978
                <echo message="Running test class: testclass=${testclass}"/>
 
979
                <java classname="org.openscience.cdk.test.${testclass}" fork="yes" maxmemory="512m">
 
980
                    <jvmarg value="-Dcdk.debugging=true"/>
 
981
                    <classpath>
 
982
                        <fileset dir="${dist}/jar/">
 
983
                                <include name="*.jar" />
 
984
                        </fileset>
 
985
                        <fileset dir="${lib}">
 
986
                                <include name="*.jar" />
 
987
                        </fileset>
 
988
                        <fileset dir="${devellib}">
 
989
                                <include name="*.jar" />
 
990
                        </fileset>
 
991
                        <fileset dir="${lib}/libio">
 
992
                                <include name="*.jar" />
 
993
                        </fileset>
 
994
                    </classpath>
 
995
                </java>
 
996
        </target>
 
997
 
 
998
        <target id="junit-test" name="junit-test" depends="dist-all,test-dist-all,noJunit" 
 
999
                description="Runs one specific JUnit test suite (org.openscience.cdk.test.&lt;class>) with -Dtestclass=&lt;class>.">
 
1000
                <echo message="JUnit tests class: testclass=${testclass}"/>
 
1001
                <junit printsummary="yes" haltonfailure="no" fork="yes">
 
1002
                    <jvmarg value="-Dcdk.debugging=true"/>
 
1003
                    <jvmarg value="-Dcdk.debug.stdout=true"/>
 
1004
                    <classpath>
 
1005
                        <fileset dir="${dist}/jar/">
 
1006
                                <include name="*.jar" />
 
1007
                        </fileset>
 
1008
                        <pathelement path="${java.class.path}" />
 
1009
                        <pathelement location="." />
 
1010
                        <fileset dir="${lib}">
 
1011
                                <include name="*.jar" />
 
1012
                        </fileset>
 
1013
                        <fileset dir="${devellib}">
 
1014
                                <include name="*.jar" />
 
1015
                        </fileset>
 
1016
                        <fileset dir="${lib}/libio">
 
1017
                                <include name="*.jar" />
 
1018
                        </fileset>
 
1019
                    </classpath>
 
1020
                    <test name="org.openscience.cdk.test.${testclass}"
 
1021
                        haltonfailure="no"
 
1022
                        todir="${reports.tests}"
 
1023
                        outfile="result.${testclass}">
 
1024
                        <formatter type="brief" />
 
1025
                    </test>
 
1026
                </junit>
 
1027
        </target>
 
1028
 
 
1029
        <target id="run" name="run" depends="dist-all" 
 
1030
                description="Runs an application (org.openscience.cdk.&lt;class>) with -Drunclass=&lt;class>.">
 
1031
                <java classname="org.openscience.cdk.${runclass}" fork="yes" >
 
1032
                    <!--jvmarg value="-Dcdk.debugging=true"/>
 
1033
                    <jvmarg value="-Dcdk.debug.stdout=true"/-->
 
1034
 
 
1035
                    <arg value="${arg1}" />
 
1036
                   <arg value="${arg2}" />
 
1037
                   <arg value="${arg3}" />
 
1038
                   <arg value="${arg4}" />
 
1039
                   <classpath>
 
1040
                        <fileset dir="${dist}/jar">
 
1041
                                <include name="*.jar" />
 
1042
                        </fileset>
 
1043
                        <fileset dir="${lib}">
 
1044
                                <include name="*.jar" />
 
1045
                        </fileset>
 
1046
                        <fileset dir="${lib}/libio">
 
1047
                                <include name="*.jar" />
 
1048
                        </fileset>
 
1049
                    </classpath>
 
1050
                </java>
 
1051
        </target>
 
1052
 
 
1053
</project>