forked from hirenj/mascp-jstools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
137 lines (104 loc) · 5.47 KB
/
build.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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<project xmlns:ivy="antlib:org.apache.ivy.ant" default="dist">
<property name="project.java.extlib.dir" value="${basedir}/extlib/java"/>
<property name="project.temp.dir" value="temp"/>
<property name="apidoc.dir" value="${basedir}/doc"/>
<property name="javascript.dir" value="js"/>
<property name="jsdoc.version" value="2.3.2" />
<property name="ivy.install.version" value="2.1.0-rc1" />
<property name="ivy.jar.filename" value="ivy-${ivy.install.version}.jar"/>
<property name="ivy.jar.file" value="${project.java.extlib.dir}/${ivy.jar.filename}" />
<!-- TARGET: resolve-external-dependencies ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Uses Ivy to resolve and download dependant library jars for the project.
-->
<target name="resolve-external-dependencies" depends="install-ivy" description="Check and update 3rd party project dependencies">
<echo>Deleting old jars from ${project.java.extlib.dir}</echo>
<delete>
<fileset dir="${project.java.extlib.dir}" includes="*.jar" excludes="${ivy.jar.filename}"/>
</delete>
<ivy:settings file="ivysettings.xml" />
<ivy:retrieve pattern="${project.java.extlib.dir}/[artifact]-[revision].[ext]" type="jar" />
<ivy:retrieve pattern="js/[artifact]-[revision].[ext]" type="js"/>
</target>
<!-- TARGET: install-ivy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Installs ivy after downloading.
-->
<target name="install-ivy" depends="" description="Installs ivy">
<mkdir dir="${project.java.extlib.dir}"/>
<get src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
dest="${ivy.jar.file}"
usetimestamp="true"
/>
<path id="ivy.lib.path">
<fileset dir="${project.java.extlib.dir}" includes="*.jar"/>
</path>
<taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
</target>
<!-- TARGET: update ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-->
<target name="update" depends="resolve-external-dependencies" description="Gets libraries" />
<target name="build-jsdocs" description="Creates javadoc from sources in src/js">
<mkdir dir="${project.temp.dir}"/>
<mkdir dir="${apidoc.dir}/js"/>
<unzip src="${project.java.extlib.dir}/jsdoc-dist-${jsdoc.version}.zip" dest="${project.temp.dir}/jsdoc-toolkit"/>
<taskdef name="jsdoctoolkit" classname="uk.co.darrenhurley.ant.tasks.JsDocToolkit" >
<classpath>
<fileset dir="${project.java.extlib.dir}" includes="**/*.jar"/>
</classpath>
</taskdef>
<echo>Making jsdoc in ${apidoc.dir}/js from ${javascript.dir}</echo>
<jsdoctoolkit jsdochome="${project.temp.dir}/jsdoc-toolkit/jsdoc_toolkit-${jsdoc.version}/jsdoc-toolkit/" template="jsdoc" outputdir="${apidoc.dir}/js">
<fileset dir="${javascript.dir}">
<include name="lib/*.js"/>
</fileset>
</jsdoctoolkit>
</target>
<target name="build" description="Build the minified js files">
<taskdef name="jsmin"
classname="net.matthaynes.jsmin.JSMin_Task">
<classpath>
<fileset dir="${project.java.extlib.dir}" includes="**/*.jar"/>
</classpath>
</taskdef>
<mkdir dir="build"/>
<concat destfile="build/mascp-jstools.services.js"
force="yes">
<fileset dir="js/lib" includes="MascpService.js"/>
<fileset dir="js/lib" includes="*Reader.js"/>
<fileset dir="js/lib" includes="*Runner.js"/>
<fileset dir="js/lib" includes="MascotToJSON.js"/>
</concat>
<concat destfile="build/mascp-jstools.map.js"
force="yes">
<fileset dir="js/lib" includes="gomap.js"/>
</concat>
<concat destfile="build/mascp-jstools.renderers.js"
force="yes">
<fileset dir="js/lib" includes="SequenceRenderer.js"/>
<fileset dir="js/lib" includes="SVGCanvas.js" />
<fileset dir="js/lib" includes="CondensedSequenceRenderer.js"/>
<fileset dir="js/lib" includes="CondensedSequenceRendererNavigation.js"/>
<fileset dir="js/lib" includes="TagVisualisation.js"/>
</concat>
<concat destfile="build/mascp-jstools.js" force="yes">
<fileset dir="js" includes="bean.js"/>
<fileset dir="build" includes="mascp-jstools.services.js"/>
<fileset dir="build" includes="mascp-jstools.renderers.js"/>
<fileset dir="build" includes="mascp-jstools.map.js"/>
</concat>
</target>
<target depends="build" name="dist" description="Generate a distribution directory for the app">
<taskdef name="jsmin"
classname="net.matthaynes.jsmin.JSMin_Task">
<classpath>
<fileset dir="${project.java.extlib.dir}" includes="**/*.jar"/>
</classpath>
</taskdef>
<mkdir dir="dist/js" />
<jsmin destdir="dist/js" suffix="true">
<fileset dir="build" includes="mascp-jstools*.js"/>
</jsmin>
<copy todir="dist/js">
<fileset dir="build" includes="mascp-jstools*.js"/>
</copy>
</target>
</project>