source: trunk/build.xml @ 1297

Revision 1297, 20.3 KB checked in by curtis, 14 years ago (diff)

Add dist-slim target for building slim.zip releases.

Line 
1<!--
2build.xml
3
4Master ant build file for all Java software projects at LOCI.
5Download Apache Ant from http://ant.apache.org/.
6Type "ant -p" for a list of targets.
7
8===============================================================================
9This build file handles the following projects:
10
11Bio-Formats
12    JAR file:      bio-formats.jar
13    Folders:       loci/formats
14                   loci/formats/*
15    Main class:    loci.formats.ImageViewer
16    Dependencies:  None
17    Targets:       jar-formats
18
19VisBio
20    JAR file:      visbio.jar
21    Folders:       loci/visbio
22                   loci/visbio/*
23    Main class:    loci.visbio.VisBio
24    Dependencies:  bio-formats.jar
25                   commons-httpclient-2.0-rc2.jar (ome-java.jar)
26                   commons-logging.jar (ome-java.jar)
27                   forms-1.0.4.jar
28                   ij.jar
29                   looks-1.2.2.jar
30                   ome-java.jar
31                   visad.jar
32                   xmlrpc-1.2-b1.jar (ome-java.jar)
33    Targets:       jar-visbio
34                   dist-visbio
35
36LOCI Plugins for ImageJ
37    JAR file:      loci_plugins.jar
38    Folders:       loci/plugins
39                   loci/plugins/*
40                   loci/ome/viewer (temporary)
41    Main class:    loci.plugins.About
42    IJ plugins:    loci.plugins.browser.LociDataBrowser
43                   loci.plugins.LociImporter
44                   loci.plugins.LociExporter
45                   loci.plugins.ome.OMEPlugin
46    Dependencies:  bio-formats.jar
47                   commons-httpclient-2.0-rc2.jar (ome-java.jar)
48                   commons-logging.jar (ome-java.jar)
49                   ome-java.jar
50                   xmlrpc-1.2-b1.jar (ome-java.jar)
51    Targets:       jar-plugins
52
53OME Metadata Notebook
54    JAR file:      ome-notebook.jar
55    Folders:       loci/ome/notebook
56                   loci/ome/viewer (temporary)
57    Main class:    loci.ome.notebook.MetadataNotebook
58    Dependencies:  bio-formats.jar
59                   commons-httpclient-2.0-rc2.jar (ome-java.jar)
60                   commons-logging.jar (ome-java.jar)
61                   forms-1.0.4.jar
62                   ome-java.jar
63                   xmlrpc-1.2-b1.jar (ome-java.jar)
64    Targets:       jar-notebook
65
66Leica Converter
67    JAR file:      LeicaConverter.jar
68    Folders:       loci/apps/leica
69    Main class:    loci.apps.leica.LeicaConverter
70    Dependencies:  bio-formats.jar
71                   ome-java.jar
72    Targets:       jar-leica
73
74QT TIFF Converter
75    JAR file:      QTConverter.jar
76    Folders:       loci/apps/qt
77                   some loci/formats
78    Main class:    loci.apps.qt.QTConverter
79    Dependencies:  None (custom built)
80    Targets:       jar-qt
81
82Slim Plotter
83    JAR file:      SlimPlotter.jar
84    Folders:       loci/apps/slim
85                   some loci/formats and loci/visbio
86    Main class:    loci.apps.slim.SlimPlotter
87    Dependencies:  visad.jar
88    Targets:       jar-slim
89                   dist-slim
90
91===============================================================================
92The following external dependencies (in the jar folder) may be required:
93
94Apple eAWT stubs
95    JAR file:  AppleJavaExtensions.jar
96    URL:       http://developer.apple.com/samplecode/AppleJavaExtensions/
97    Notes:     Required to compile VisBio on non-Mac OS X machines
98
99Apache Jakarta Commons HttpClient
100    JAR file:  commons-httpclient-2.0-rc2.jar
101    URL:       http://jakarta.apache.org/commons/httpclient/
102    Notes:     Required for OME Java to communicate with OME servers
103
104Apache Jakarta Commons Logging
105    JAR file:  commons-logging.jar
106    URL:       http://jakarta.apache.org/commons/logging/
107    Notes:     Used by OME Java
108
109JGoodies Forms
110    JAR file:  forms-1.0.4.jar
111    URL:       http://www.jgoodies.com/freeware/forms/index.html
112    Notes:     Used for layout by VisBio and OME Metadata Notebook
113
114ImageJ
115    JAR file:  ij.jar
116    URL:       http://rsb.info.nih.gov/ij/
117    Notes:     Bundled with VisBio to achieve ImageJ interconnectivity
118
119JGoodies Looks
120    JAR file:  looks-1.2.2.jar
121    URL:       http://www.jgoodies.com/freeware/looks/index.html
122    Notes:     Used for a nicer Look & Feel by VisBio
123
124OME Java
125    JAR file:  ome-java.jar
126    URL:       http://openmicroscopy.org/api/java/
127    Notes:     Used by VisBio and the OME Plugin for ImageJ to connect to OME;
128               used by Bio-Formats and the OME Notebook to work with OME-XML
129
130Apache Jakarta POI
131    JAR file:  poi-2.5.1-final-20040804.jar
132    URL:       http://jakarta.apache.org/poi/
133    Notes:     Not used (previously used by Bio-Formats)
134
135Skin Look and Feel
136    JAR file:  skinlf.jar
137    URL:       http://skinlf.l2fprod.com/
138    Notes:     Not used (may be used in the future for flexible skinning)
139
140VisAD
141    JAR file:  visad.jar
142    URL:       http://www.ssec.wisc.edu/~billh/visad.html
143    Notes:     Stripped down VisAD library used by VisBio and Slim Plotter
144
145Apache XML-RPC
146    JAR file:  xmlrpc-1.2-b1.jar
147    URL:       http://ws.apache.org/xmlrpc/
148    Notes:     Required for OME Java to communicate with OME servers
149-->
150
151<project name="LOCI Software" default="compile" basedir=".">
152  <description>
153    Master build file for all Java software projects at LOCI
154  </description>
155
156  <!-- Global properties -->
157
158  <property name="src.dir" value="."/>
159  <property name="build.dir" value="build"/>
160  <property name="dest.dir" value="${build.dir}/src"/>
161  <property name="classes.dir" value="${build.dir}/classes"/>
162  <property name="jar.dir" value="${build.dir}/jar"/>
163  <property name="docs.dir" value="${build.dir}/docs"/>
164  <property name="dist.dir" value="${build.dir}/dist"/>
165
166  <condition property="isUnix"><os family="unix"/></condition>
167
168  <!-- Global build targets -->
169
170  <property name="ext.jars" value="jar/AppleJavaExtensions.jar:jar/commons-httpclient-2.0-rc2.jar:jar/commons-logging.jar:jar/forms-1.0.4.jar:jar/ij.jar:jar/looks-1.2.2.jar:jar/ome-java.jar:jar/visad.jar:jar/xmlrpc-1.2-b1.jar"/>
171
172  <target name="init">
173    <tstamp>
174      <format property="DATE" pattern="d MMMMM yyyy"/>
175      <format property="YEAR" pattern="yyyy"/>
176    </tstamp>
177  </target>
178
179  <target name="compile" depends="copy-source"
180    description="compile LOCI software packages from source">
181    <mkdir dir="${classes.dir}"/>
182    <javac srcdir="${dest.dir}" destdir="${classes.dir}"
183      classpath="${ext.jars}" deprecation="true" source="1.4" target="1.4"/>
184  </target>
185
186  <target name="jars"
187    depends="jar-formats, jar-visbio, jar-plugins, jar-notebook, jar-leica, jar-qt, jar-slim"
188    description="generate JAR files for LOCI software packages"/>
189
190  <target name="docs" depends="init"
191    description="generate Javadocs for LOCI software packages">
192    <javadoc sourcepath="${dest.dir}" destdir="${docs.dir}/api"
193      author="true" version="true" use="true" windowtitle="LOCI Software API">
194      <packageset dir="${dest.dir}"/>
195      <doctitle><![CDATA[<h1>LOCI Software</h1>]]></doctitle>
196      <bottom><![CDATA[<i>Copyright &#169; ${YEAR} Laboratory for Optical and Computational Instrumentation</i>]]></bottom>
197      <link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
198    </javadoc>
199  </target>
200
201  <target name="clean"
202    description="remove all build files">
203    <delete dir="${build.dir}"/>
204  </target>
205
206  <!-- Internal build targets -->
207
208  <property name="ignore.source"
209    value="loci/plugins/HandleExtraFileTypes.java *.tar.gz"/>
210
211  <target name="copy-source" depends="init">
212    <!-- copy binary files without filtering -->
213    <copy todir="${dest.dir}" preservelastmodified="true">
214      <fileset dir="${src.dir}" includes="loci/**" excludes="**/*.class **/*.java **/*.config **/*.txt ${ignore.source}"/>
215    </copy>
216    <!-- copy source files with filtering -->
217    <filter token="date" value="${DATE}"/>
218    <copy todir="${dest.dir}" filtering="true" preservelastmodified="true">
219      <fileset dir="${src.dir}" includes="loci/**" excludes="**/*.class ${ignore.source}"/>
220    </copy>
221  </target>
222
223  <target name="copy-jars">
224    <!-- copy needed external JARs into build jars folder -->
225    <copy todir="${jar.dir}" preservelastmodified="true">
226      <fileset dir="jar"/>
227    </copy>
228  </target>
229
230  <!-- Bio-Formats -->
231
232  <property name="formats.files" value="loci/browser/** loci/formats/**"/>
233  <property name="formats.resources" value="loci/formats/*.txt"/>
234
235  <target name="jar-formats" depends="compile"
236    description="generate Bio-Formats JAR file">
237    <copy todir="${classes.dir}" preservelastmodified="true">
238      <fileset dir="${src.dir}" includes="${formats.resources}"/>
239    </copy>
240    <mkdir dir="${jar.dir}"/>
241    <jar jarfile="${jar.dir}/bio-formats.jar" basedir="${classes.dir}"
242      includes="${formats.files}">
243      <manifest>
244        <attribute name="Main-Class" value="loci.formats.ImageViewer"/>
245      </manifest>
246    </jar>
247  </target>
248
249  <!-- VisBio -->
250
251  <property name="visbio.classpath" value="bio-formats.jar commons-httpclient-2.0-rc2.jar commons-logging.jar forms-1.0.4.jar ij.jar looks-1.2.2.jar ome-java.jar visad.jar xmlrpc-1.2-b1.jar"/>
252  <property name="visbio.files" value="loci/visbio/**"/>
253  <property name="visbio.resources" value="loci/visbio/classes.txt loci/visbio/*.png loci/visbio/*.gif loci/visbio/help/*.html loci/visbio/help/*.png loci/visbio/overlays/*.png loci/visbio/view/*.png"/>
254
255  <target name="jar-visbio"
256    depends="compile, copy-jars, jar-formats"
257    description="generate VisBio JAR file">
258    <copy todir="${classes.dir}" preservelastmodified="true">
259      <fileset dir="${src.dir}" includes="${visbio.resources}"/>
260    </copy>
261    <jar jarfile="${jar.dir}/visbio.jar" basedir="${classes.dir}"
262      includes="${visbio.files}">
263      <manifest>
264        <attribute name="Main-Class" value="loci.visbio.VisBio"/>
265        <attribute name="Class-Path" value="${visbio.classpath}"/>
266      </manifest>
267    </jar>
268  </target>
269
270  <property name="visbio.dist-files" value="bsd-forms.txt bsd-looks.txt gpl-visbio.txt omeul.txt whatsnew.txt *.cpp *.m"/>
271
272  <target name="dist-visbio" depends="dist-visbio-win32, dist-visbio-win32-nojre, dist-visbio-macosx, dist-visbio-linux, dist-visbio-nojre"/>
273
274  <property name="visbio.win32-dir" value="${dist.dir}/visbio/win32/VisBio"/>
275
276  <target name="dist-visbio-win32" depends="jar-visbio, jar-formats">
277    <copy todir="${visbio.win32-dir}" preservelastmodified="true">
278      <fileset dir="dist/visbio/win32"/>
279      <fileset dir="loci/visbio" includes="${visbio.dist-files}"/>
280      <fileset dir="${jar.dir}" includes="visbio.jar ${visbio.classpath}"/>
281    </copy>
282    <fixcrlf srcdir="${visbio.win32-dir}" eol="dos"
283      includes="*.txt *.cpp *.m plugins/*.txt"/>
284    <untar src="dist/jre-win32.tar.gz" dest="${visbio.win32-dir}"
285      overwrite="false" compression="gzip"/>
286    <zip destfile="${dist.dir}/visbio${visbio.version}_win32.zip"
287      basedir="${dist.dir}/visbio/win32"/>
288  </target>
289
290  <property name="visbio.win32-nojre-dir"
291    value="${dist.dir}/visbio/win32-nojre/VisBio"/>
292
293  <target name="dist-visbio-win32-nojre" depends="jar-visbio, jar-formats">
294    <copy todir="${visbio.win32-nojre-dir}"
295      preservelastmodified="true">
296      <fileset dir="dist/visbio/win32" excludes="launcher.cfg"/>
297      <fileset dir="dist/visbio/win32-nojre"/>
298      <fileset dir="loci/visbio" includes="${visbio.dist-files}"/>
299      <fileset dir="${jar.dir}" includes="visbio.jar ${visbio.classpath}"/>
300    </copy>
301    <fixcrlf srcdir="${visbio.win32-nojre-dir}" eol="dos"
302      includes="*.txt *.cpp *.m plugins/*.txt"/>
303    <zip destfile="${dist.dir}/visbio${visbio.version}_win32_nojre.zip"
304      basedir="${dist.dir}/visbio/win32-nojre"/>
305  </target>
306
307  <property name="visbio.macosx-dir" value="${dist.dir}/visbio/macosx/VisBio"/>
308
309  <!-- HACK - limit OS to *nix due to file permission issues -->
310  <target name="dist-visbio-macosx" if="isUnix"
311    depends="jar-visbio, jar-formats">
312    <copy todir="${visbio.macosx-dir}"
313      preservelastmodified="true">
314      <fileset dir="dist/visbio/macosx"/>
315      <fileset dir="loci/visbio" includes="${visbio.dist-files}"/>
316    </copy>
317    <fixcrlf srcdir="${visbio.macosx-dir}" eol="mac"
318      includes="*.txt *.cpp *.m plugins/*.txt"/>
319    <!-- HACK - copy does not preserve permissions; chmod them back -->
320    <chmod perm="+x">
321      <fileset dir="${visbio.macosx-dir}"
322        includes="visbio omeul VisBio.app/Contents/MacOS/JavaApplicationStub"/>
323    </chmod>
324    <copy todir="${visbio.macosx-dir}/VisBio.app/Contents/Resources/Java">
325      <fileset dir="${jar.dir}" includes="visbio.jar ${visbio.classpath}"/>
326    </copy>
327<!--
328    <tar destfile="${dist.dir}/visbio${visbio.version}_macosx.tar.gz"
329      basedir="${dist.dir}/visbio/macosx" compression="gzip"/>
330-->
331    <!-- HACK - tar does not preserve permissions; use exec instead -->
332    <exec executable="tar">
333      <arg line="czf ${dist.dir}/visbio${visbio.version}_macosx.tar.gz -C ${dist.dir}/visbio/macosx VisBio"/>
334    </exec>
335  </target>
336
337  <property name="visbio.linux-dir"
338    value="${dist.dir}/visbio/linux/visbio${visbio.version}"/>
339
340  <!-- HACK - limit OS to *nix due to file permission issues -->
341  <target name="dist-visbio-linux" if="isUnix"
342    depends="jar-visbio, jar-formats">
343    <copy todir="${visbio.linux-dir}" preservelastmodified="true">
344      <fileset dir="dist/visbio/linux"/>
345      <fileset dir="loci/visbio" includes="${visbio.dist-files}"/>
346      <fileset dir="${jar.dir}" includes="visbio.jar ${visbio.classpath}"/>
347    </copy>
348    <fixcrlf srcdir="${visbio.linux-dir}" eol="unix"
349      includes="*.txt *.cpp *.m plugins/*.txt"/>
350    <!-- HACK - copy does not preserve permissions; chmod them back -->
351    <chmod perm="+x">
352      <fileset dir="${visbio.linux-dir}" includes="visbio omeul"/>
353    </chmod>
354<!--
355    <untar src="dist/jre-linux.tar.gz" dest="${visbio.linux-dir}"
356      overwrite="false" compression="gzip"/>
357-->
358    <!-- HACK - untar does not restore permissions; use exec instead -->
359    <exec executable="tar">
360      <arg line="xzf dist/jre-linux.tar.gz -C ${visbio.linux-dir}"/>
361    </exec>
362<!--
363    <tar destfile="${dist.dir}/visbio${visbio.version}_linux.tar.gz"
364      basedir="${dist.dir}/visbio/linux" compression="gzip"/>
365-->
366    <!-- HACK - tar does not preserve permissions; use exec instead -->
367    <exec executable="tar">
368      <arg line="czf ${dist.dir}/visbio${visbio.version}_linux.tar.gz -C ${dist.dir}/visbio/linux visbio${visbio.version}"/>
369    </exec>
370  </target>
371
372  <property name="visbio.nojre-dir"
373    value="${dist.dir}/visbio/nojre/visbio${visbio.version}"/>
374
375  <!-- HACK - limit OS to *nix due to file permission issues -->
376  <target name="dist-visbio-nojre" if="isUnix"
377    depends="jar-visbio, jar-formats">
378    <copy todir="${visbio.nojre-dir}" preservelastmodified="true">
379      <fileset dir="dist/visbio/linux"/>
380      <fileset dir="loci/visbio" includes="${visbio.dist-files}"/>
381      <fileset dir="${jar.dir}" includes="visbio.jar ${visbio.classpath}"/>
382    </copy>
383    <fixcrlf srcdir="${visbio.nojre-dir}" eol="unix"
384      includes="*.txt *.cpp *.m plugins/*.txt"/>
385    <!-- HACK - copy does not preserve permissions; chmod them back -->
386    <chmod perm="+x">
387      <fileset dir="${visbio.nojre-dir}" includes="visbio omeul"/>
388    </chmod>
389<!--
390    <tar destfile="${dist.dir}/visbio${visbio.version}.tar.gz"
391      basedir="${dist.dir}/visbio/nojre" compression="gzip"/>
392-->
393    <!-- HACK - tar does not preserve permissions; use exec instead -->
394    <exec executable="tar">
395      <arg line="czf ${dist.dir}/visbio${visbio.version}.tar.gz -C ${dist.dir}/visbio/nojre visbio${visbio.version}"/>
396    </exec>
397  </target>
398
399  <!-- LOCI Plugins for ImageJ -->
400
401  <property name="plugins.files" value="loci/plugins/** loci/ome/viewer/**"/>
402
403  <target name="jar-plugins"
404    depends="compile, copy-jars, jar-formats"
405    description="generate LOCI Plugins for ImageJ JAR file">
406    <jar jarfile="${jar.dir}/loci_plugins.jar"
407      basedir="${src.dir}/loci/plugins" includes="plugins.config">
408      <manifest>
409        <attribute name="Main-Class" value="loci.plugins.About"/>
410      </manifest>
411    </jar>
412    <jar jarfile="${jar.dir}/loci_plugins.jar" basedir="${classes.dir}"
413      includes="${plugins.files}" excludes="loci/plugins/plugins.config"
414      update="true">
415    </jar>
416  </target>
417
418  <!-- OME Metadata Notebook -->
419
420  <property name="notebook.classpath" value="bio-formats.jar commons-httpclient-2.0-rc2.jar commons-logging.jar forms-1.0.4.jar ome-java.jar xmlrpc-1.2-b1.jar"/>
421  <property name="notebook.files"
422    value="loci/ome/notebook/** loci/ome/viewer/**"/>
423  <property name="notebook.resources" value="loci/ome/notebook/Template.xml loci/ome/notebook/Icons/* loci/ome/notebook/TypeDefs/*"/>
424
425  <target name="jar-notebook"
426    depends="compile, copy-jars, jar-formats"
427    description="generate OME Metadata Notebook JAR file">
428    <copy todir="${classes.dir}" preservelastmodified="true">
429      <fileset dir="${src.dir}" includes="${notebook.resources}"/>
430    </copy>
431    <jar jarfile="${jar.dir}/ome-notebook.jar" basedir="${classes.dir}"
432      includes="${notebook.files}">
433      <manifest>
434        <attribute name="Main-Class"
435          value="loci.ome.notebook.MetadataNotebook"/>
436        <attribute name="Class-Path" value="${notebook.classpath}"/>
437      </manifest>
438    </jar>
439  </target>
440
441  <!-- Leica Converter -->
442
443  <property name="leica.classpath" value="bio-formats.jar ome-java.jar"/>
444  <property name="leica.files" value="loci/apps/leica/**"/>
445
446  <target name="jar-leica" depends="compile, copy-jars, jar-formats"
447    description="generate Leica Converter JAR file">
448    <jar jarfile="${jar.dir}/LeicaConverter.jar" basedir="${classes.dir}"
449      includes="${leica.files}">
450      <manifest>
451        <attribute name="Main-Class" value="loci.apps.leica.LeicaConverter"/>
452        <attribute name="Class-Path" value="${leica.classpath}"/>
453      </manifest>
454    </jar>
455  </target>
456
457  <!-- QT TIFF Converter -->
458
459  <property name="qt.files" value="loci/apps/qt/* loci/formats/BitBuffer* loci/formats/BitWriter* loci/formats/ByteVector* loci/formats/ComboFileFilter* loci/formats/Compression* loci/formats/DataTools* loci/formats/DummyMetadataStore* loci/formats/ExtensionFileFilter* loci/formats/FilePattern* loci/formats/FileStitcher* loci/formats/FormatException* loci/formats/FormatFileFilter* loci/formats/FormatHandler* loci/formats/FormatReader* loci/formats/FormatWriter* loci/formats/IFormatHandler* loci/formats/IFormatReader* loci/formats/ImageTools* loci/formats/LZWTreeNode* loci/formats/LegacyQTTools* loci/formats/MetadataStore* loci/formats/NumberFilter* loci/formats/OMEXMLMetadataStore* loci/formats/RandomAccessArray* loci/formats/RandomAccessStream* loci/formats/ReflectException* loci/formats/ReflectedUniverse* loci/formats/TiffRational* loci/formats/TiffTools* loci/formats/in/BaseTiffReader* loci/formats/in/LegacyQTReader* loci/formats/in/QTReader* loci/formats/in/TiffReader* loci/formats/out/TiffWriter*"/>
460
461  <target name="jar-qt" depends="compile"
462    description="generate QT TIFF Converter JAR file">
463    <mkdir dir="${jar.dir}"/>
464    <jar jarfile="${jar.dir}/QTConverter.jar" basedir="${classes.dir}"
465      includes="${qt.files}">
466      <manifest>
467        <attribute name="Main-Class" value="loci.apps.qt.QTConverter"/>
468      </manifest>
469    </jar>
470  </target>
471
472  <!-- Slim Plotter -->
473
474  <property name="slim.classpath" value="visad.jar"/>
475  <property name="slim.files" value="loci/apps/slim/* loci/formats/DataTools* loci/formats/ExtensionFileFilter* loci/formats/ComboFileFilter* loci/visbio/util/OutputConsole* loci/visbio/util/OutputEvent* loci/visbio/util/SwingUtil* loci/visbio/util/LAFUtil*"/>
476
477  <target name="jar-slim" depends="compile, copy-jars"
478    description="generate Slim Plotter JAR file">
479    <jar jarfile="${jar.dir}/SlimPlotter.jar" basedir="${classes.dir}"
480      includes="${slim.files}">
481      <manifest>
482        <attribute name="Main-Class" value="loci.apps.slim.SlimPlotter"/>
483        <attribute name="Class-Path" value="${slim.classpath}"/>
484      </manifest>
485    </jar>
486  </target>
487
488  <property name="slim.dist-dir" value="${dist.dir}/slim/SlimPlotter"/>
489
490  <target name="dist-slim" if="isUnix" depends="copy-jars, jar-slim">
491    <copy todir="${slim.dist-dir}" preservelastmodified="true">
492      <fileset dir="dist/slim"/>
493      <fileset dir="${jar.dir}" includes="SlimPlotter.jar ${slim.classpath}"/>
494    </copy>
495    <!-- HACK - copy does not preserve permissions; chmod them back -->
496    <chmod perm="+x">
497      <fileset dir="${slim.dist-dir}" includes="slim"/>
498    </chmod>
499<!--
500    <zip destfile="${dist.dir}/slim.zip" basedir="${dist.dir}/slim"/>
501-->
502    <!-- HACK - zip does not preserve permissions; use exec instead -->
503    <exec executable="zip" dir="${dist.dir}/slim">
504      <arg line="-r9 ../slim.zip SlimPlotter"/>
505    </exec>
506  </target>
507
508</project>
Note: See TracBrowser for help on using the repository browser.