* New upstream release
[debian/jabref.git] / build.xml
1 <?xml version="1.0"?>
2 <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3    Filename: $RCSfile: build.xml,v $
4    Purpose:  Ant build file for Jabref.
5
6              Ant-Download: http://jakarta.apache.org/ant
7              Ant-Manual:   http://jakarta.apache.org/ant/manual/index.html
8
9              Jabref-Homepage:    http://jabref.sourceforge.net
10              Jabref@SourceForge: http://sourceforge.net/projects/jabref
11              Jabref@FreshMeat:   http://freshmeat.net
12              Jabref-CVSRoot:     :pserver:anonymous@cvs.jabref.sourceforge.net:/cvsroot/jabref
13
14              Further questions:
15                help mailing list:      must be inserted
16
17    Precondition: 1. Ant should be installed.
18                  2. JAVA_HOME environment variable contains the path to JDK1.4 or higher
19                  3. ANT_HOME environment variable contains the path to ant's home directory
20
21    Language: XML
22    Compiler: Ant
23    Authors:  Joerg K. Wegner, wegnerj@informatik.uni-tuebingen.de
24              Morten O. Alver
25    Version:  $Revision: 1.59 $
26              $Date: 2006/04/26 08:38:44 $
27              $Author: kiar $
28
29    modified:
30              28.07.2005 r.nagel
31              - insert dynamic build info generation (resource/build.properties)
32              - copy fonts directory, used by the new about dialog
33              - change static "version" into mainfest file into ${jabref.version}
34              09.06.2005 r.nagel
35              - bugfix, first it should be made a rebuild of the build directory
36              and then a jar should be generated from this directory
37              - take all files for the jar archive !!! FROM BUILD directory !!!
38
39 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
40
41 <project name="JabRef" default="jars" basedir=".">
42
43         <!-- ==========================================================================================
44         PROPERTY SETUP
45      ========================================================================================== -->
46
47         <!-- some version information -->
48         <property name="jabref.bin" value="jabref" />
49         <property name="jabref.version" value="2.1 beta" />
50         <property name="jabref.placeholder.version" value="@version@" /> <!-- used by replace task -->
51
52
53         <!-- Set the properties for intermediate directory -->
54         <property name="build.dir" value="build" />
55         <property name="build.classes" value="${build.dir}/classes" />
56         <property name="build.tmp" value="${build.dir}/tmp" />
57         <property name="build.osx" value="${build.dir}/classes/osxadapter" />
58         <property name="build.lib" value="${build.dir}/lib" />
59         <property name="build.bin" value="${build.dir}/bin" />
60         <property name="build.win" value="${build.dir}/windows" />
61         <property name="build.images" value="${build.dir}/images" />
62         <property name="build.fonts" value="${build.dir}/images/font" />
63         <property name="build.resource" value="${build.dir}/resource" />
64         <property name="build.help" value="${build.dir}/help" />
65         <property name="build.javadocs" value="${build.dir}/docs/API" />
66         <property name="build.extensions" value="${build.dir}/extensions" />
67         <property name="build.extension-javadocs" value="${build.extensions}/API" />
68         <property name="build.extension-layout" value="${build.extensions}/layout" />
69         <property name="build.openoffice.meta" value="${build.resource}/openoffice"/>
70
71         <!-- Set the properties for source directories -->
72         <property name="src.dir" value="src" />
73         <property name="src.tests" value="src/java/tests" />
74         <property name="txt.dir" value="src/txt" />
75         <property name="java.dir" value="${src.dir}/java" />
76         <property name="osx.dir" value="${src.dir}/osx" />
77         <property name="win.dir" value="${src.dir}/windows" />
78         <property name="resource.dir" value="${src.dir}/resource" />
79         <property name="bin.dir" value="${src.dir}/scripts" />
80         <property name="images.dir" value="${src.dir}/images" />
81         <property name="fonts.dir" value="${src.dir}/images/font" />
82         <property name="help.dir" value="${src.dir}/help" />
83         <property name="extensions.dir" value="${src.dir}/extensions" />
84         <property name="layout.dir" value="${src.dir}/resource/layout" />
85
86
87         <!-- Set the properties for library directories -->
88         <property name="library.directory" value="lib" />
89
90
91     <taskdef name="jarbundler"
92                   classpath="${library.directory}/jarbundler-1.4.jar"
93                   classname="com.loomcom.ant.tasks.jarbundler.JarBundler" />
94
95
96         <!-- Build classpath -->
97         <path id="classpath">
98                 <pathelement path="${build.classes}" />
99                 <!--<pathelement location="${library.directory}/commons-httpclient-2.0.jar" />
100                 <pathelement location="${library.directory}/commons-logging.jar" />-->
101                 <fileset dir="${library.directory}">
102                         <include name="*.jar" />
103                 </fileset>
104         </path>
105
106     <!-- Runs project (e.g. in NetBeans 4) -->
107     <target name="run" depends="jars">
108         <java classname="net.sf.jabref.JabRef" fork="true">
109         <classpath>
110             <pathelement location="${build.lib}/jabref.jar"/>
111             <!--<pathelement location="${library.directory}/commons-httpclient-2.0.jar" />
112             <pathelement location="${library.directory}/commons-logging.jar" />-->
113             <pathelement location="${library.directory}/antlr.jar" />
114             <pathelement location="${library.directory}/looks-2.0.1.jar" />
115             <pathelement location="${library.directory}/forms-1.0.4.jar" />
116             <pathelement location="${library.directory}/spin-1.4.jar" />
117             <pathelement location="${library.directory}/glazedlists-1.5.0_java14.jar" />
118         </classpath>
119          </java>
120     </target>
121
122     <!-- Target used for profiling with the Netbeans profiler. -->
123     <!--<target name="profile" depends="jars">
124         <nbprofile classname="net.sf.jabref.JabRef">
125         <classpath>
126             <pathelement location="${build.lib}/jabref.jar"/>
127             <pathelement location="${library.directory}/antlr.jar" />
128             <pathelement location="${library.directory}/looks-2.0.1.jar" />
129             <pathelement location="${library.directory}/forms-1.0.4.jar" />
130             <pathelement location="${library.directory}/spin.jar" />
131             <pathelement location="${library.directory}/glazedlists-1.5.0_java14.jar" />
132         </classpath>
133          </nbprofile>
134     </target>-->
135     <target name="profile" depends="jars" description="Profile JabRef">
136       <fail unless="netbeans.home">This target can only run inside the NetBeans IDE.</fail>
137
138       <nbprofiledirect>
139           <classpath>
140             <pathelement location="${build.lib}/jabref.jar"/>
141             <pathelement location="${library.directory}/antlr.jar" />
142             <pathelement location="${library.directory}/looks-2.0.1.jar" />
143             <pathelement location="${library.directory}/forms-1.0.4.jar" />
144             <pathelement location="${library.directory}/spin-1.4.jar" />
145             <pathelement location="${library.directory}/glazedlists-1.5.0_java14.jar" />
146         </classpath>
147       </nbprofiledirect>
148
149       <property environment="env"/>
150       <java fork="true" classname="net.sf.jabref.JabRef" dir="${build.dir}"
151                   jvm="${profiler.info.jvm}">
152           <jvmarg value="${profiler.info.jvmargs.agent}"/>
153           <jvmarg line="${profiler.info.jvmargs}"/>
154           <env key="LD_LIBRARY_PATH" path="${profiler.info.agentpath}:${env.LD_LIBRARY_PATH}"/>
155           <classpath>
156             <pathelement location="${build.lib}/jabref.jar"/>
157             <pathelement location="${library.directory}/antlr.jar" />
158             <pathelement location="${library.directory}/looks-2.0.1.jar" />
159             <pathelement location="${library.directory}/forms-1.0.4.jar" />
160             <pathelement location="${library.directory}/spin-1.4.jar" />
161             <pathelement location="${library.directory}/glazedlists-1.5.0_java14.jar" />
162
163         </classpath>
164       </java>
165     </target>
166         <!-- Compiles project -->
167         <target name="compile">
168                 <mkdir dir="${build.classes}" />
169                 <!--deprecation="on"-->
170                 <javac debug="on" deprecation="on" destdir="${build.classes}" source="1.4" target="1.4">
171                         <src path="${java.dir}"/>
172                         <exclude name="tests/**"/>
173                         <classpath>
174                                 <pathelement path="${build.classes}" />
175                                 <!--<pathelement location="${library.directory}/commons-httpclient-2.0.jar" />
176                                 <pathelement location="${library.directory}/commons-logging.jar" />-->
177                                 <pathelement location="${library.directory}/antlr.jar" />
178                                 <pathelement location="${library.directory}/looks-2.0.1.jar" />
179                                 <pathelement location="${library.directory}/forms-1.0.4.jar" />
180                                 <pathelement location="${library.directory}/spin-1.4.jar" />
181                                 <pathelement location="${library.directory}/glazedlists-1.5.0_java14.jar" />
182                                 <pathelement location="${library.directory}/microba.jar" />
183                         </classpath>
184                 </javac>
185         </target>
186
187         <!-- Compiles only the tests -->
188         <target name="compiletest">
189                 <mkdir dir="${build.classes}" />
190                 <!--deprecation="on"-->
191                 <javac srcdir="${java.dir}/tests" debug="off" destdir="${build.classes}" source="1.4" target="1.4">
192                         <classpath>
193                                 <pathelement path="${build.classes}" />
194                                 <!--<pathelement location="${library.directory}/commons-httpclient-2.0.jar" />
195                                 <pathelement location="${library.directory}/commons-logging.jar" />-->
196                                 <pathelement location="${library.directory}/antlr.jar" />
197                                 <pathelement location="${library.directory}/looks-2.0.1.jar" />
198                                 <pathelement location="${library.directory}/spin-1.4.jar" />
199                         </classpath>
200                 </javac>
201
202         </target>
203         <!-- Builds the OSXAdapter -->
204         <target name="osx">
205                 <mkdir dir="${build.classes}" />
206
207                 <javac srcdir="${osx.dir}" debug="on" destdir="${build.classes}" target="1.4">
208                 </javac>
209         </target>
210
211         <!-- Copies in the OSXAdapter class, which is compilable only on Mac  -->
212         <target name="non_osx">
213                 <mkdir dir="${build.osx}" />
214                 <copy file="${library.directory}/OSXAdapter.class" todir="${build.osx}" />
215         </target>
216
217
218         <!-- Jars up project -->
219         <target name="jars" depends="build">
220                 <mkdir dir="${build.lib}" />
221                 <mkdir dir="${build.tmp}" />
222                 <jar destfile="${build.lib}/jabref.jar">
223                         <fileset dir="${build.classes}" />
224                         <fileset dir="${build.tmp}" />
225                         <fileset dir="${build.dir}">
226                                 <include name="images/**" />
227                                 <include name="help/**" />
228                                 <include name="help/de/**" />
229                                 <include name="help/no/**" />
230                                 <include name="resource/**" />
231                         </fileset>
232                         <fileset dir="${library.directory}">
233                             <include name="EndNote.zip" />
234                         </fileset>
235
236                         <fileset dir="${txt.dir}">
237                                 <include name="gpl.txt" />
238                                 <include name="lesser.txt" />
239                                 <include name="apache-license.txt" />
240                                 <include name="jgoodies.txt" />
241                                 <include name="README" />
242                         </fileset>
243                         <manifest>
244                             <attribute name="Main-Class" value="net.sf.jabref.JabRef" /> 
245 <!--                            <attribute name="Main-Class" value="net.sf.jabref.gui.FieldWeightDialog" /> -->
246                         </manifest>
247                 </jar>
248
249         </target>
250
251         <!-- copy all necessary files and insert version informations -->
252         <target name="build" depends="compile, buildinfos" description="Build project">
253                 <mkdir dir="${build.bin}" />
254
255                 <mkdir dir="${build.resource}" />
256                 <copy todir="${build.resource}">
257                         <fileset dir="${resource.dir}">
258                                 <include name="**" />
259                         </fileset>
260                 </copy>
261                 <mkdir dir="${build.images}" />
262                 <copy todir="${build.images}">
263                         <fileset dir="${images.dir}">
264                                 <include name="*" />
265                         </fileset>
266                 </copy>
267
268                 <!-- the fonts are used by the new about dialog -->
269                 <mkdir dir="${build.fonts}" />
270                 <copy todir="${build.fonts}">
271                         <fileset dir="${fonts.dir}">
272                                 <include name="*" />
273                         </fileset>
274                 </copy>
275
276                 <mkdir dir="${build.help}" />
277                 <copy todir="${build.help}">
278                         <fileset dir="${help.dir}">
279                                 <!--<include name="*" />-->
280                         </fileset>
281                 </copy>
282
283                 <!-- Insert version informations -->
284                 <replace dir="${build.help}"
285                          token="${jabref.placeholder.version}"
286                          value="${jabref.version}">
287                    <include name="**/About.html"/>
288                 </replace>
289                 <replace dir="${build.openoffice.meta}"
290                          token="${jabref.placeholder.version}"
291                          value="${jabref.version}">
292                    <include name="meta.xml"/>
293                 </replace>
294
295 <!-- WHY ???
296                 <mkdir dir="${build.win}" />
297                 <copy file="${build.lib}/${jabref.bin}.jar" todir="${build.win}" />
298                 <copy todir="${build.win}">
299                         <fileset dir="${win.dir}">
300                                 <include name="*" />
301                         </fileset>
302                 </copy>
303 -->
304         </target>
305
306 <!-- generate and save some build infos !!! necessary for dynamic build infos !!! -->
307 <!-- todo : replace it by the replace task :-),
308           src/resource/build.properties = template
309           build/resource/build.properties = real info file
310 -->
311         <target name="buildinfos">
312                  <tstamp/>        <!-- get date -->
313                  <buildnumber/>   <!-- generate new build number -> build.number -->
314                  <echo message="build number = ${build.number}"/>
315                  <!-- write the file, please do not edit this lines -->
316                  <echo file="${resource.dir}/build.properties">builddate=${TODAY}
317 build=${build.number}
318 version=${jabref.version}</echo>
319         </target>
320
321
322         <!-- Creates all docs -->
323         <target name="docs" depends="javadocs" description="Generates all the documentation" />
324
325         <!-- Creates javadocs -->
326         <target name="javadocs" depends="compile" description="Generates the javadocs">
327                 <mkdir dir="${build.javadocs}" />
328                 <javadoc sourcepath="${java.dir}" destdir="${build.javadocs}" author="true" version="true" windowtitle="JabRef API" link="http://java.sun.com/j2se/1.4.1/docs/api/">
329
330                         <fileset dir="${java.dir}" defaultexcludes="yes">
331                                 <include name="**/*.java" />
332                         </fileset>
333
334                         <classpath refid="classpath" />
335                 </javadoc>
336         </target>
337
338         <!-- Creates javadocs for the extensions -->
339         <target name="extension-javadocs" depends="build" description="Generates the javadocs for the extensions archive">
340                 <mkdir dir="${build.extension-javadocs}" />
341                 <copy todir="${build.extension-javadocs}">
342                     <fileset dir="${help.dir}" defaultexcludes="yes">
343                         <include name="CustomExports.html" />
344                         <include name="CustomImports.html" />
345                     </fileset>
346                 </copy>
347                 
348                 <javadoc sourcepath="${java.dir}" 
349                          destdir="${build.extension-javadocs}" 
350                          author="true" 
351                          version="true" 
352                          windowtitle="JabRef-Extensions API" 
353                          link="http://java.sun.com/j2se/1.4.1/docs/api/"
354                          Overview="${extensions.dir}/API/overview.html"
355                          access="protected"
356                 >
357                         <!-- 
358                           create javadoc only selectively for classes that 
359                           users extending JabRef are likely to use
360                         -->
361                         <fileset dir="${java.dir}" defaultexcludes="yes">
362                             <include name="net/sf/jabref/imports/ImportFormat.java" />
363                             <include name="net/sf/jabref/imports/ImportFormatReader.java" />
364                             <include name="net/sf/jabref/BibtexEntry.java" />
365                             <include name="net/sf/jabref/BibtexEntryType.java" />
366                             <include name="net/sf/jabref/AuthorList.java" />
367                             <include name="net/sf/jabref/AuthorList.java" />                        
368                             <include name="net/sf/jabref/export/layout/LayoutFormatter.java" />
369                         </fileset>
370
371                         <classpath refid="classpath" />
372                 </javadoc>
373         </target>
374         
375         <!-- Creates javadocs for the extensions -->
376         <target name="extensions" depends="extension-javadocs" description="Generates the extensions archive">
377             <!-- copy examples -->
378             <copy todir="${build.extensions}">
379                            <fileset dir="${java.dir}">
380                               <include name="net/sf/jabref/export/layout/format/CurrentDate.java"/>
381                               <include name="net/sf/jabref/export/layout/format/ToLowerCase.java"/>
382                               <include name="net/sf/jabref/export/layout/format/HTMLChars.java"/>
383                               <include name="net/sf/jabref/imports/*Importer.java"/>
384                             </fileset>
385             </copy>
386             <mkdir dir="${build.extension-layout}" />
387             <copy todir="${build.extension-layout}">
388                            <fileset dir="${layout.dir}" />
389             </copy>
390             <copy todir="${build.extensions}">
391                            <fileset dir="${extensions.dir}" />
392                            <filterset>
393                               <filter token="version" value="${jabref.version}"/>
394                            </filterset>
395             </copy>
396             <!-- create extensions-zip file -->
397                     <zip destfile="${build.dir}/jabref-extensions.zip">
398                         <zipfileset dir="${build.extensions}" prefix="jabref-extensions"/>
399                     </zip>        
400                 </target>
401         
402         <target name="clean" description="Clean project">
403                 <delete dir="${build.dir}" />
404         </target>
405
406         <!-- Unpacks jar needed jar files from lib directory into temp directory. -->
407         <target name="unjarlib" description="Unpacks jars from library">
408                 <mkdir dir="${build.tmp}"/>
409                 <!--<unjar src="${library.directory}/commons-httpclient-2.0.jar" dest="${build.tmp}" />
410                 <unjar src="${library.directory}/commons-logging.jar" dest="${build.tmp}" />-->
411                 <unjar src="${library.directory}/antlr.jar" dest="${build.tmp}" />
412                 <!--                <unjar src="${library.directory}/plastic-1.2.1.jar" dest="${build.classes}" />-->
413                 <unjar src="${library.directory}/looks-2.0.1.jar" dest="${build.tmp}" />
414                 <unjar src="${library.directory}/forms-1.0.4.jar" dest="${build.tmp}" />
415                 <unjar src="${library.directory}/spin-1.4.jar" dest="${build.tmp}" />
416                 <unjar src="${library.directory}/glazedlists-1.5.0_java14.jar" dest="${build.tmp}" />
417                 <unjar src="${library.directory}/microba.jar" dest="${build.tmp}" />
418             <delete dir="${build.tmp}/META-INF"/>
419             <!-- rename the microba license file -->
420             <move file="${build.tmp}/license.txt" tofile="${build.tmp}/microba-license.txt"/>
421         </target>
422
423
424         <target name="osxjar">
425         <jarbundler dir="${build.lib}"
426                     name="JabRef"
427                     mainclass="net.sf.jabref.JabRef"
428                     jars="${build.lib}/${jabref.bin}.jar"
429                     icon="${images.dir}/JabRef-Logo.icns"
430                     version="${jabref.version}"
431                     jvmversion="1.4+"
432                   stubfile="${library.directory}/JavaApplicationStub" />
433
434         </target>
435
436
437         <!--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
438         What's about the software design ?!;-)
439 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
440
441         <target name="pmd" description="SOFTWAREDESIGN: Project Mess Detector !;-)">
442                 <echo>Checking Project Mess Detection (PMD) rulesets.</echo>
443                 <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
444                         <classpath>
445                                 <pathelement path="${classpath}" />
446                                 <fileset dir="${library.directory}">
447                                         <include name="*.jar" />
448                                 </fileset>
449                         </classpath>
450                 </taskdef>
451                 <!-- allowed Pretty Much Done rulsets -->
452                 <!-- rulesets/basic.xml -->
453                 <!-- rulesets/braces.xml -->
454                 <!-- rulesets/codesize.xml-->
455                 <!-- rulesets/controversial.xml-->
456                 <!-- rulesets/coupling.xml-->
457                 <!-- rulesets/design.xml -->
458                 <!-- rulesets/experimental.xml -->
459                 <!-- rulesets/favorites.xml -->
460                 <!-- rulesets/imports.xml -->
461                 <!-- rulesets/naming.xml -->
462                 <!-- rulesets/javabean.xml -->
463                 <!-- rulesets/junit.xml -->
464                 <!-- rulesets/scratchpad.xml -->
465                 <!-- rulesets/strictexception.xml -->
466                 <!-- rulesets/strings.xml -->
467                 <!-- rulesets/unusedcode.xml -->
468
469                 <pmd rulesetfiles="rulesets/unusedcode.xml,rulesets/basic.xml" failonerror="no">
470                         <formatter type="html" toFile="${build.dir}/pmd_report.html" />
471                         <fileset dir="${src.dir}">
472                                 <include name="**/*.java" />
473                         </fileset>
474                 </pmd>
475
476                 <!-- check for duplicated code -->
477                 <echo>WARNING: use environment variable: ANT_OPTS=-Xmx512m or this task will fail.</echo>
478                 <echo>Checking for duplicated code using the Copy/Paste Detector (CPD).</echo>
479                 <taskdef name="cpd" classname="net.sourceforge.pmd.cpd.CPDTask">
480                         <classpath>
481                                 <pathelement path="${classpath}" />
482                                 <fileset dir="${library.directory}">
483                                         <include name="*.jar" />
484                                 </fileset>
485                         </classpath>
486                 </taskdef>
487                 <cpd format="text" minimumTokenCount="100" outputFile="${build.dir}/duplicated_code_report.txt">
488                         <fileset dir="${src.dir}">
489                                 <include name="**/*.java" />
490                         </fileset>
491                 </cpd>
492         </target>
493
494
495         <target name="javancss" description="SOFTWAREDESIGN: Determining the NCSS and CCN code metrics for JOELib.">
496                 <taskdef name="javancss" classname="javancss.JavancssAntTask">
497                         <classpath>
498                                 <pathelement path="${classpath}" />
499                                 <fileset dir="${library.directory}">
500                                         <include name="*.jar" />
501                                 </fileset>
502                         </classpath>
503                 </taskdef>
504                 <echo>Cyclomatic
505 Complexity             Ease of       Risk
506 Number (CCN)           maintenance
507 (McCabe metric)
508 ---------------------------------------------
509 1-10, simple           easy          minimum
510 11-20, complex         moderate      moderate
511 21-50, more complex    hard          high
512 >50, unstable          very hard     very high
513
514 </echo>
515                 <javancss srcdir="${src.dir}" includes="**/*.java" excludes="jama/**/*.java, jmat/**/*.java, cformat/**/*.java" abortOnFail="false" ccnPerFuncMax="30" generateReport="true" outputfile="${build.dir}/javancss_report.plain" format="plain" packageMetrics="true" classMetrics="false" functionMetrics="false" />
516         </target>
517
518         <target name="jalopy" description="SOFTWAREDESIGN: source code formatter using the JOELib convention.">
519                 <taskdef name="jalopy" classname="de.hunsicker.jalopy.plugin.ant.AntPlugin">
520                         <classpath>
521                                 <pathelement path="${classpath}" />
522                                 <fileset dir="${library.directory}">
523                                         <include name="*.jar" />
524                                 </fileset>
525                         </classpath>
526                 </taskdef>
527                 <jalopy fileformat="unix" convention="${src.dir}/java/jalopy.format.convention.xml" history="file" historymethod="adler32" loglevel="error" threads="2" classpathref="classpath" backup="bak">
528                         <fileset dir="${src.dir}">
529                                 <include name="java/net/sf/jabref/**/*.java" />
530                         </fileset>
531                 </jalopy>
532         </target>
533
534         <target name="test">
535                 <junit printsummary="yes" fork="yes" haltonfailure="no">
536                         <batchtest fork="yes" todir="/tmp/testres">
537                                 <fileset dir="${build.classes}">
538                                         <include name="**/*Tester.class" />
539                                         <include name="**/*Test.class" />
540                                 </fileset>
541                         </batchtest>
542
543                         <classpath>
544                                 <pathelement location="${build.lib}/jabref.jar" />
545                                 <!--<pathelement location="${library.directory}/commons-httpclient-2.0.jar" />
546                                 <pathelement location="${library.directory}/commons-logging.jar" />-->
547                                 <pathelement location="${library.directory}/antlr.jar" />
548                                 <pathelement location="${library.directory}/looks-2.0.1.jar" />
549                                 <pathelement location="${library.directory}/looks-2.0.1.jar" />
550                                 <pathelement location="${library.directory}/spin-1.4.jar" />
551                         </classpath>
552
553                         <!--<test name="tests.net.sf.jabref.export.layout.format.AuthorLastFirstAbbreviatorTester"/>-->
554                 </junit>
555         </target>
556
557 </project>