3
<project name="FigTree" default="dist" basedir=".">
5
Build file for TreeDraw
9
<!-- set global properties for this build -->
10
<property name="src" location="src"/>
11
<property name="build" location="build"/>
13
<property name="lib" location="lib"/>
14
<property name="dist" location="dist"/>
16
<property environment="env"/>
19
<mkdir dir="${build}"/>
20
<delete includeEmptyDirs="true">
21
<fileset dir="${build}" includes="**/*"/>
27
<!-- Create the time stamp -->
29
<!-- Create the build directory structure used by compile -->
30
<mkdir dir="${build}"/>
31
<mkdir dir="${dist}"/>
35
<target name="compile" depends="init">
36
<!-- Compile the java code from ${src} into ${build} -->
37
<javac source="1.5" target="1.5" srcdir="${src}" destdir="${build}"
38
classpath="${lib}/jebl.jar:${lib}/jam.jar:${lib}/freehep.jar:${lib}/iText.jar:${lib}/quaqua.jar:${lib}/jwt/servlet-api-2.5-6.0.2.jar:${lib}/jwt/jwt-3.1.7pre1.jar">
39
<include name="figtree/**"/>
41
<copy todir="${build}" verbose="true">
42
<fileset dir="${src}" includes="figtree/**/*.png,figtree/**/*.gif"/>
46
<target name="dist" depends="compile" description="generate the distribution">
47
<!-- Create the distribution directory -->
48
<mkdir dir="${dist}"/>
50
<jar jarfile="${dist}/figtree.jar">
51
<zipgroupfileset dir="${lib}" includes="jebl.jar"/>
52
<zipgroupfileset dir="${lib}" includes="jam.jar"/>
53
<zipgroupfileset dir="${lib}" includes="freehep.jar"/>
54
<zipgroupfileset dir="${lib}" includes="iText.jar"/>
55
<fileset dir="${build}" includes="**/*.class,**/*.properties,**/*.png,**/*.gif"/>
57
<attribute name="Built-By" value="${user.name}"/>
58
<attribute name="Main-Class" value="figtree.application.FigTreeApplication"/>
64
<property name="version" value="1.3.1" />
65
<property name="release_dir" value="release" />
66
<property name="name" value="FigTree" />
68
<property name="common_dir" value="${release_dir}/common" />
70
<property name="Mac_dir" value="${release_dir}/Mac" />
71
<property name="Linux_dir" value="${release_dir}/Linux" />
72
<property name="Windows_dir" value="${release_dir}/Windows" />
74
<property name="Mac_package_dir" value="${Mac_dir}/${name} v${version}" />
75
<property name="Linux_package_dir" value="${Linux_dir}/${name}_v${version}" />
76
<property name="Windows_package_dir" value="${Windows_dir}/${name} v${version}" />
78
<!-- Need to either install Launch4j under {BEAST workspace}/${release}
79
or install it in the default directory and change the location of launch4j.dir -->
80
<target name="windows_Release" depends="dist"
81
description="release Windows version of FigTree">
83
<delete dir="${Windows_package_dir}" />
84
<!-- Create the release directory -->
85
<mkdir dir="${Windows_package_dir}" />
87
<property name="launch4j.dir" location="${Windows_dir}/launch4j" />
88
<taskdef name="launch4j" classname="net.sf.launch4j.ant.Launch4jTask"
89
classpath="${launch4j.dir}/launch4j.jar :${launch4j.dir}/lib/xstream.jar" />
91
<copy file="${dist}/figtree.jar" todir="${Windows_package_dir}/lib"/>
92
<copy todir="${Windows_package_dir}/lib">
93
<fileset dir="${Windows_dir}/lib"/>
95
<copy todir="${Windows_package_dir}">
96
<fileset dir="${common_dir}/"/>
99
<launch4j configFile="${Windows_dir}/FigTree_launch4j.xml"
100
jar="${dist}/figtree.jar"
101
outfile="${Windows_package_dir}/${name} v${version}.exe"
102
fileVersion="${version}.0"
103
txtFileVersion="${version}"
104
productVersion="${version}.0"
105
txtProductVersion="${version}"/>
107
<zip destfile="${release_dir}/${name} v${version}.zip">
108
<zipfileset dir="${Windows_package_dir}" prefix="${name} v${version}"/>
111
<echo message="Windows version release is finished." />
114
<target name="linux_unix_Release"
115
description="release Linux/Unix version of FigTree">
116
<delete dir="${Linux_package_dir}" />
117
<!-- Create the release directory -->
118
<mkdir dir="${Linux_package_dir}" />
120
<copy todir="${Linux_package_dir}/bin">
121
<fileset dir="${Linux_dir}/scripts"/>
124
<copy file="${Linux_dir}/icons/figtree.png" todir="${Linux_package_dir}/images"/>
125
<copy file="${dist}/figtree.jar" todir="${Linux_package_dir}/lib"/>
126
<copy todir="${Linux_package_dir}/lib">
127
<fileset dir="${Linux_dir}/lib"/>
129
<copy todir="${Linux_package_dir}">
130
<fileset dir="${common_dir}/"/>
133
<tar destfile="${release_dir}/${name}_v${version}.tgz" compression="gzip">
134
<tarfileset dir="${Linux_package_dir}" prefix="${name}_v${version}"/>
137
<echo message="Linux/Unix version release is finished." />
140
<target name="mac_Release"
141
description="release Mac version of FigTree">
142
<delete dir="${Mac_package_dir}" />
143
<!-- Create the release directory -->
144
<mkdir dir="${Mac_package_dir}" />
146
<copy file="${dist}/figtree.jar" todir="${Mac_package_dir}/lib"/>
147
<copy file="${dist}/figtree-pdf.jar" todir="${Mac_package_dir}/QuickLook Plugin/FigTreeQuickLookPlugin.qlgenerator/Contents/Resources"/>
148
<copy todir="${Mac_package_dir}">
149
<fileset dir="${common_dir}/"/>
151
<copy todir="${Mac_package_dir}/QuickLook Plugin">
152
<fileset dir="${Mac_dir}/QuickLook Plugin"/>
155
<taskdef name="jarbundler" classname="net.sourceforge.jarbundler.JarBundler"/>
157
<!-- create a jar bundle for the mac -->
158
<jarbundler dir="${Mac_package_dir}"
159
name="${name} v${version}"
160
mainclass="figtree.application.FigTreeApplication"
161
icon="${Mac_dir}/icons/FigTree.icns"
166
infostring="${name} v${version}, Copyright 2006-2009, Andrew Rambaut"
168
<javaproperty name="apple.laf.useScreenMenuBar" value="true"/>
169
<jarfileset dir="${dist}">
170
<include name="**/figtree.jar"/>
172
<jarfileset dir="${Mac_dir}/lib">
173
<include name="**/quaqua.jar"/>
175
<jarfileset dir="${Mac_dir}/lib">
176
<include name="libquaqua*.jnilib"/>
178
<documenttype name="FigTree tree file"
179
extensions="tree tre trees ntf tf"
180
iconFile="${Mac_dir}/icons/FigTreeDocIcon.icns"
184
<echo message="Building disk image." />
186
<!-- create disk image -->
187
<exec executable="/usr/bin/hdiutil">
188
<arg value="create"/>
190
<arg value="-srcfolder"/>
191
<arg value="${Mac_package_dir}"/>
192
<arg value="-volname"/>
193
<arg value="${name} v${version}"/>
194
<arg value="-imagekey"/>
195
<arg value="zlib-level=6"/>
196
<arg value="${release_dir}/${name} v${version}.dmg"/>
199
<echo message="Mac version release is finished." />