-
Notifications
You must be signed in to change notification settings - Fork 73
/
Copy pathbuild_beastgen.xml
114 lines (95 loc) · 4.38 KB
/
build_beastgen.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<project name="BEASTGen" default="build" basedir=".">
<description>
Build file for the phylogeography.jar tools package.
$Id:$
</description>
<!-- set global properties for this build -->
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="lib" location="lib"/>
<property name="dist" location="dist"/>
<property name="JDK_VERSION" value="1.8" />
<path id="classpath">
<fileset dir="${lib}" includes="**/*.jar"/>
</path>
<property environment="env"/>
<target name="init">
<!-- Create the time stamp -->
<echo message="${ant.project.name}: ${ant.file}" />
<tstamp/>
<!-- Create the build directory structure used by compile -->
<mkdir dir="${build}"/>
<mkdir dir="${dist}"/>
</target>
<target name="compile" depends="init">
<!-- Compile the java code from ${src} into ${build} -->
<javac source="${JDK_VERSION}" target="${JDK_VERSION}" srcdir="${src}" destdir="${build}" classpathref="classpath">
<include name="dr/app/beastgen/**"/>
<include name="dr/app/beast/**"/>
<include name="dr/app/beauti/**"/>
<include name="dr/app/util/**"/>
<include name="dr/evolution/**"/>
<include name="dr/evoxml/**"/>
<include name="dr/inference/trace/**"/>
<include name="dr/matrix/**"/>
<include name="dr/stats/**"/>
<include name="dr/math/**"/>
<include name="dr/util/**"/>
<include name="dr/xml/**"/>
</javac>
</target>
<target name="build" depends="compile" description="generate the jar file">
<!-- Create the distribution directory -->
<mkdir dir="${dist}"/>
<!-- Put everything in ${build} into the treestat.jar file -->
<jar jarfile="${dist}/beastgen.jar">
<manifest>
<attribute name="Built-By" value="${user.name}"/>
<attribute name="Main-Class" value="dr.app.beastgen.BEASTGen"/>
</manifest>
<fileset dir="${build}">
<include name="dr/app/beastgen/**/*.class"/>
<include name="dr/app/beast/BeastVersion.class"/>
<include name="dr/app/beauti/options/*.class"/>
<include name="dr/app/util/**/*.class"/>
<include name="dr/evolution/**/*.class"/>
<include name="dr/evoxml/**/*.class"/>
<include name="dr/inference/trace/**/*.class"/>
<include name="dr/matrix/**/*.class"/>
<include name="dr/stats/**/*.class"/>
<include name="dr/math/**/*.class"/>
<include name="dr/util/**/*.class"/>
<include name="dr/xml/**/*.class"/>
</fileset>
<zipgroupfileset dir="${lib}" includes="**/jebl.jar"/>
<zipgroupfileset dir="${lib}" includes="**/freemarker.jar"/>
<zipgroupfileset dir="${lib}" includes="**/jdom.jar"/>
</jar>
</target>
<property name="version" value="10.5" />
<property name="release_dir" value="release_beastgen" />
<property name="name" value="BEASTGen" />
<property name="common_dir" value="${release_dir}/common" />
<property name="package_dir" value="${release_dir}/${name}_v${version}" />
<target name="package" depends="build" description="release Linux/Unix version">
<delete dir="${package_dir}" />
<!-- Create the release directory -->
<mkdir dir="${package_dir}" />
<copy todir="${package_dir}/bin">
<fileset dir="${common_dir}/bin"/>
</copy>
<chmod dir="${package_dir}/bin" perm="755" includes="**/**"/>
<copy todir="${package_dir}/templates">
<fileset dir="${common_dir}/templates"/>
</copy>
<copy file="${dist}/beastgen.jar" todir="${package_dir}/lib"/>
<copy file="${common_dir}/README.txt" todir="${package_dir}"/>
<tar destfile="${release_dir}/${name}_v${version}.tgz" compression="gzip">
<tarfileset dir="${package_dir}" prefix="${name}_v${version}"/>
</tar>
<zip destfile="${release_dir}/${name} v${version}.zip">
<zipfileset dir="${package_dir}" prefix="${name} v${version}"/>
</zip>
<echo message="Linux/Unix version release is finished." />
</target>
</project>