added ant build file -> build/build.xml
[jalview-fx.git] / build / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2         <project name="JalviewFX" default="do-deploy" basedir="."  xmlns:fx="javafx:com.sun.javafx.tools.ant">
3         <target name="init-fx-tasks">
4                 <path id="fxant">
5                         <filelist>
6                                 <file name="${java.home}\..\lib\ant-javafx.jar"/>
7                                 <file name="${java.home}\lib\jfxrt.jar"/>
8                         </filelist>
9                 </path>
10         
11                 <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"      
12                         uri="javafx:com.sun.javafx.tools.ant"
13                         classpathref="fxant"/>
14         </target>
15         <target name="setup-staging-area">
16                 <delete dir="externalLibs" />
17                 <delete dir="project" />
18                 <delete dir="projectRefs" />
19                 
20                 <mkdir dir="externalLibs" />
21                 
22                 <copy todir="externalLibs">
23                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
24                                 <filename name="saaj.jar"/>     
25                         </fileset>
26                 </copy>
27                 <copy todir="externalLibs">
28                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
29                                 <filename name="json_simple-1.1.jar"/>  
30                         </fileset>
31                 </copy>
32                 <copy todir="externalLibs">
33                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
34                                 <filename name="mail.jar"/>     
35                         </fileset>
36                 </copy>
37                 <copy todir="externalLibs">
38                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
39                                 <filename name="Jmol-12.2.4.jar"/>      
40                         </fileset>
41                 </copy>
42                 <copy todir="externalLibs">
43                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
44                                 <filename name="miglayout-4.0-swing.jar"/>      
45                         </fileset>
46                 </copy>
47                 <copy todir="externalLibs">
48                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
49                                 <filename name="httpclient-4.0.3.jar"/> 
50                         </fileset>
51                 </copy>
52                 <copy todir="externalLibs">
53                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
54                                 <filename name="jalview.jar"/>  
55                         </fileset>
56                 </copy>
57                 <copy todir="externalLibs">
58                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
59                                 <filename name="groovy-all-1.8.2.jar"/> 
60                         </fileset>
61                 </copy>
62                 <copy todir="externalLibs">
63                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
64                                 <filename name="httpcore-4.0.1.jar"/>   
65                         </fileset>
66                 </copy>
67                 <copy todir="externalLibs">
68                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
69                                 <filename name="jsoup-1.8.1.jar"/>      
70                         </fileset>
71                 </copy>
72                 <copy todir="externalLibs">
73                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
74                                 <filename name="castor-1.1-cycle-xml.jar"/>     
75                         </fileset>
76                 </copy>
77                 <copy todir="externalLibs">
78                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
79                                 <filename name="min-jabaws-client-2.1.0.jar"/>  
80                         </fileset>
81                 </copy>
82                 <copy todir="externalLibs">
83                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
84                                 <filename name="wsdl4j.jar"/>   
85                         </fileset>
86                 </copy>
87                 <copy todir="externalLibs">
88                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
89                                 <filename name="spring-web-3.0.5.RELEASE.jar"/> 
90                         </fileset>
91                 </copy>
92                 <copy todir="externalLibs">
93                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
94                                 <filename name="axis.jar"/>     
95                         </fileset>
96                 </copy>
97                 <copy todir="externalLibs">
98                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
99                                 <filename name="slf4j-log4j12-1.7.7.jar"/>      
100                         </fileset>
101                 </copy>
102                 <copy todir="externalLibs">
103                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
104                                 <filename name="jaxrpc.jar"/>   
105                         </fileset>
106                 </copy>
107                 <copy todir="externalLibs">
108                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
109                                 <filename name="apache-mime4j-0.6.jar"/>        
110                         </fileset>
111                 </copy>
112                 <copy todir="externalLibs">
113                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
114                                 <filename name="commons-discovery.jar"/>        
115                         </fileset>
116                 </copy>
117                 <copy todir="externalLibs">
118                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
119                                 <filename name="xml-apis.jar"/> 
120                         </fileset>
121                 </copy>
122                 <copy todir="externalLibs">
123                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
124                                 <filename name="log4j-to-slf4j-2.0-rc2.jar"/>   
125                         </fileset>
126                 </copy>
127                 <copy todir="externalLibs">
128                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
129                                 <filename name="jdas-1.0.4.jar"/>       
130                         </fileset>
131                 </copy>
132                 <copy todir="externalLibs">
133                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
134                                 <filename name="spring-core-3.0.5.RELEASE.jar"/>        
135                         </fileset>
136                 </copy>
137                 <copy todir="externalLibs">
138                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
139                                 <filename name="commons-codec-1.3.jar"/>        
140                         </fileset>
141                 </copy>
142                 <copy todir="externalLibs">
143                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
144                                 <filename name="jfreesvg-2.1.jar"/>     
145                         </fileset>
146                 </copy>
147                 <copy todir="externalLibs">
148                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
149                                 <filename name="xercesImpl.jar"/>       
150                         </fileset>
151                 </copy>
152                 <copy todir="externalLibs">
153                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
154                                 <filename name="VARNAv3-91.jar"/>       
155                         </fileset>
156                 </copy>
157                 <copy todir="externalLibs">
158                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
159                                 <filename name="jhall.jar"/>    
160                         </fileset>
161                 </copy>
162                 <copy todir="externalLibs">
163                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
164                                 <filename name="jswingreader-0.3.jar"/> 
165                         </fileset>
166                 </copy>
167                 <copy todir="externalLibs">
168                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
169                                 <filename name="JGoogleAnalytics_0.3.jar"/>     
170                         </fileset>
171                 </copy>
172                 <copy todir="externalLibs">
173                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
174                                 <filename name="activation.jar"/>       
175                         </fileset>
176                 </copy>
177                 <copy todir="externalLibs">
178                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
179                                 <filename name="regex.jar"/>    
180                         </fileset>
181                 </copy>
182                 <copy todir="externalLibs">
183                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
184                                 <filename name="commons-logging-1.1.1.jar"/>    
185                         </fileset>
186                 </copy>
187                 <copy todir="externalLibs">
188                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
189                                 <filename name="slf4j-api-1.7.7.jar"/>  
190                         </fileset>
191                 </copy>
192                 <copy todir="externalLibs">
193                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
194                                 <filename name="httpmime-4.0.3.jar"/>   
195                         </fileset>
196                 </copy>
197                 <copy todir="externalLibs">
198                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX/lib">
199                                 <filename name="vamsas-client.jar"/>    
200                         </fileset>
201                 </copy>
202                 
203                 <mkdir dir="project" />
204                 <copy todir="project">
205                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX">
206                                 <include name="src/**" />
207                         </fileset>
208                 </copy>
209                 <copy todir="project">
210                         <fileset dir="/Users/tcnofoegbu/Documents/workspace/java/dev/JalviewFX">
211                                 <include name="resources/**" />
212                         </fileset>
213                 </copy>
214                 
215                 <mkdir dir="projectRefs" />
216         </target>
217         <target name='do-compile'>
218                 <delete dir="build" />
219                 <mkdir dir="build/src" />
220                 <mkdir dir="build/libs" />
221                 <mkdir dir="build/classes" />
222         
223                 <!-- Copy project-libs references -->
224                 <copy todir="build/libs">
225                         <fileset dir="externalLibs">
226                                 <include name="jaxrpc.jar"/>
227                                 <include name="jswingreader-0.3.jar"/>
228                                 <include name="regex.jar"/>
229                                 <include name="activation.jar"/>
230                                 <include name="groovy-all-1.8.2.jar"/>
231                                 <include name="miglayout-4.0-swing.jar"/>
232                                 <include name="JGoogleAnalytics_0.3.jar"/>
233                                 <include name="apache-mime4j-0.6.jar"/>
234                                 <include name="commons-logging-1.1.1.jar"/>
235                                 <include name="jsoup-1.8.1.jar"/>
236                                 <include name="commons-discovery.jar"/>
237                                 <include name="Jmol-12.2.4.jar"/>
238                                 <include name="axis.jar"/>
239                                 <include name="castor-1.1-cycle-xml.jar"/>
240                                 <include name="jdas-1.0.4.jar"/>
241                                 <include name="spring-web-3.0.5.RELEASE.jar"/>
242                                 <include name="httpclient-4.0.3.jar"/>
243                                 <include name="slf4j-api-1.7.7.jar"/>
244                                 <include name="httpmime-4.0.3.jar"/>
245                                 <include name="wsdl4j.jar"/>
246                                 <include name="commons-codec-1.3.jar"/>
247                                 <include name="xercesImpl.jar"/>
248                                 <include name="vamsas-client.jar"/>
249                                 <include name="json_simple-1.1.jar"/>
250                                 <include name="xml-apis.jar"/>
251                                 <include name="jhall.jar"/>
252                                 <include name="spring-core-3.0.5.RELEASE.jar"/>
253                                 <include name="saaj.jar"/>
254                                 <include name="jfreesvg-2.1.jar"/>
255                                 <include name="mail.jar"/>
256                                 <include name="VARNAv3-91.jar"/>
257                                 <include name="httpcore-4.0.1.jar"/>
258                                 <include name="log4j-to-slf4j-2.0-rc2.jar"/>
259                                 <include name="jalview.jar"/>
260                                 <include name="slf4j-log4j12-1.7.7.jar"/>
261                                 <include name="min-jabaws-client-2.1.0.jar"/>
262                         </fileset>
263                 </copy>
264         
265                 <!-- Copy project references -->
266         
267                 <!-- Copy project sources itself -->
268                 <copy todir="build/src">
269                         <fileset dir="project/src">
270                                 <include name="**/*"/>
271                         </fileset>
272                 </copy>
273                 <copy todir="build/src">
274                         <fileset dir="project/resources">
275                                 <include name="**/*"/>
276                         </fileset>
277                 </copy>
278         
279                 <javac includeantruntime="false" source="1.8" target="1.8" srcdir="build/src" destdir="build/classes" encoding="UTF-8">
280                         <classpath>
281                                 <fileset dir="build/libs">
282                                         <include name="*"/>
283                                 </fileset>
284                         </classpath>
285                 </javac>
286                 
287                 <!-- Copy over none Java-Files -->
288                 <copy todir="build/classes">
289                 <fileset dir="project/src">
290                         <exclude name="**/*.java"/>
291                 </fileset>
292                 <fileset dir="project/resources">
293                         <exclude name="**/*.java"/>
294                 </fileset>
295                 </copy>
296         
297         
298         </target>
299         <target name="do-deploy" depends="setup-staging-area, do-compile, init-fx-tasks">
300                 <delete file="dist"/>
301                 <delete file="deploy" />
302                 
303                 <mkdir dir="dist" />
304                 <mkdir dir="dist/libs" />
305                 
306                 <copy todir="dist/libs">
307                         <fileset dir="externalLibs">
308                                 <include name="*" />
309                         </fileset>
310                 </copy>
311                 
312                 
313                 <fx:resources id="appRes">
314                         <fx:fileset dir="dist" includes="JalviewFX.jar"/>
315                         <fx:fileset dir="dist" includes="libs/*"/>
316                 </fx:resources> 
317                 
318                 <fx:application id="fxApplication"
319                         name="JalviewFx"
320                         mainClass="application.App"
321                 />
322         
323                 <mkdir dir="build/classes/META-INF" />
324                 
325                 
326                 
327                 <fx:jar destfile="dist/JalviewFX.jar">
328                         <fx:application refid="fxApplication"/>
329                         <fileset dir="build/classes">
330                         </fileset>
331                         <fx:resources refid="appRes"/>
332                         
333                         <manifest>
334                                 <attribute name="Implementation-Vendor" value="Charles"/>
335                                 <attribute name="Implementation-Title" value="JalviewFx"/>
336                                 <attribute name="Implementation-Version" value="1.0"/>
337                                 <attribute name="JavaFX-Feature-Proxy" value="None"/>
338                         </manifest>
339                 </fx:jar>
340                 
341         
342                 <mkdir dir="deploy" />
343                 <!-- Need to use ${basedir} because somehow the ant task is calculating the directory differently -->
344                 <fx:deploy
345                         embedJNLP="true"
346                         extension="false"
347                         width="500" height="500" 
348                         includeDT="true"
349                         offlineAllowed="true"
350                         outdir="${basedir}/deploy"
351                         outfile="JalviewFX" nativeBundles="all"
352                         updatemode="background" >
353         
354                         <fx:info title="JalviewFX" vendor="Charles"/>
355                         <fx:application refId="fxApplication"/>
356                         <fx:resources refid="appRes"/>
357                 </fx:deploy>
358                 
359                 
360         </target>
361 </project>