source: extensions/net.sf.basedb.mev/trunk/build.xml @ 1227

Last change on this file since 1227 was 1227, checked in by Nicklas Nordborg, 13 years ago

Fixes #266: Investigate and fix issues with external files introduced in BASE 2.16

MeV functionality was only enabled for file with location=Location.PRIMARY. Now check isDownloadable() instead.

There was an issue with the download servlet and files of unknown size.

Also replaces calls to deprecated methods.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Id
File size: 6.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project 
3  name="MevLauncher" 
4  default="jar" 
5  basedir=".">
6
7  <!--create this file if you need to override values from properties below -->
8  <property file="build.properties" />
9 
10  <!-- variables used -->
11  <property name="name" value="mev-launcher" />
12  <property name="version" value="1.7pre" />
13  <property name="src" location="src" description="Location of source files" />
14  <property name="build" location="build" description="Location of compiled files" />
15  <property name="jar.name" value="${name}.jar" 
16    description="Name of JAR file with the extensions." />
17  <property name="tar.prefix" value="${name}-${version}" 
18    description="Prefix of .tar.gz file for download." />
19  <property name="tar.name" value="${tar.prefix}.tar.gz" 
20    description="Full name of .tar.gz file for download." />
21  <property name="javac.arg" value="-Xlint:unchecked" />
22  <property name="javac.source" value="1.5" />
23  <property name="javac.target" value="1.5" />
24  <property name="javac.encoding" value="UTF-8" />
25  <property name="depend.jars" value="http://base2.thep.lu.se/base/jars/2.16.0" />
26
27  <!-- set up classpath for compiling -->
28  <path id="classpath">
29    <fileset dir="lib">
30      <include name="**/*.jar" />
31    </fileset>
32    <fileset dir="resources/jar">
33      <include name="mev-base.jar" />
34      <include name="mev-gui-impl.jar" />
35      <include name="HTTPClient.jar" />
36    </fileset>
37  </path>
38
39  <target name="init">
40    <mkdir dir="${build}" />
41  </target>
42   
43  <target name="clean">
44    <delete failonerror="false" includeemptydirs="true">
45      <fileset dir="${build}" defaultexcludes="no" />
46      <fileset file="${jar.name}" />
47      <fileset file="${tar.name}" />
48    </delete>
49  </target>
50 
51  <target
52    name="package"
53    depends="clean,jar"
54    description="Clean and create binary distribution package"
55    >
56    <tar
57      destfile="${tar.name}"
58      longfile="gnu"
59      compression="gzip"
60      >
61      <tarfileset
62        dir="."
63        prefix="${tar.prefix}"
64        preserveLeadingSlashes="true"
65        includes="${jar.name},README,LICENSE*"
66        >
67      </tarfileset>
68    </tar>
69  </target> 
70 
71  <target
72    name="jar"
73    depends="jar.server"
74  />
75 
76  <target 
77    name="jar.server"
78    depends="build.server,jar.webstart"
79    description="Creates the server-side plugin/extension JAR file"
80    >
81    <copy todir="${build}/server">
82      <fileset dir="." includes="META-INF/*" />
83    </copy>
84    <replace token="%%plugins.jar%%" value="${jar.name}" file="${build}/server/META-INF/base-plugins.xml" />
85    <jar 
86      jarfile="${jar.name}" 
87      >
88      <fileset dir="${build}/server" />
89      <fileset dir="." includes="resources/**" />
90    </jar>
91  </target>
92
93  <target 
94    name="jar.webstart"
95    depends="build.webstart"
96    description="Creates the webstart wrapper JAR file"
97    >
98    <mkdir dir="${build}/server/resources/jar/" />
99    <jar
100      jarfile="${build}/server/resources/jar/base-mev-wrapper.jar"
101      >
102      <fileset dir="${build}/webstart" includes="**/*" />
103    </jar>
104    <signjar
105      alias="mev-base" 
106      keystore="./jarsign/mev-base.key"
107      storepass="mev-base"
108      lazy="true">
109      <fileset 
110        dir="${build}/server/resources/jar/"
111        includes="*.jar" 
112      />
113    </signjar>
114  </target>
115 
116  <target 
117    name="build"
118    depends="build.server,build.webstart"
119  />
120 
121  <target 
122    name="build.server"
123    depends="init,checkjar"
124    description="Compiles the server-side plugin/extension"
125    >
126    <mkdir dir="${build}/server" />
127    <javac 
128      srcdir="${src}/server" 
129      destdir="${build}/server" 
130      debug="true" 
131      classpathref="classpath"
132      encoding="${javac.encoding}" 
133      source="${javac.source}"
134      target="${javac.target}"
135      >
136      <compilerarg value="${javac.arg}" />
137    </javac>
138  </target>
139 
140  <target 
141    name="build.webstart"
142    depends="init,checkjar"
143    description="Compiles the webstart wrapper"
144    >
145    <mkdir dir="${build}/webstart" />
146    <javac 
147      srcdir="${src}/webstart" 
148      destdir="${build}/webstart" 
149      debug="true" 
150      classpathref="classpath"
151      encoding="${javac.encoding}" 
152      source="${javac.source}"
153      target="${javac.target}"
154      >
155      <compilerarg value="${javac.arg}" />
156    </javac>
157  </target>
158  <target 
159    name="checkjar"
160    description="Checks that the BASE2Core.jar, BASE2Webclient.jar, BASE2CorePlugins.jar and BASE2WSClient.jar exists."
161    >
162    <available classname="net.sf.basedb.util.export.spotdata.AbstractBioAssaySetExporter" 
163      classpathref="classpath" property="base2core" />
164    <available classname="net.sf.basedb.plugins.util.Parameters" 
165      classpathref="classpath" property="base2plugins" />
166    <available classname="net.sf.basedb.clients.web.extensions.toolbar.FixedButtonFactory" 
167      classpathref="classpath" property="base2web" />
168    <available classname="net.sf.basedb.info.BioAssaySetInfo" 
169      classpathref="classpath" property="base2webservice" />
170    <fail unless="base2core" message="Can't find BASE2Core.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
171    <fail unless="base2plugins" message="Can't find BASE2CorePlugins.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
172    <fail unless="base2web" message="Can't find BASE2Webclient.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
173    <fail unless="base2webservice" message="Can't find BASE2WSClient.jar in ./lib/compile. Try 'ant download-lib' to download the missing file." />
174    <echo>Found BASE2Core.jar, BASE2CorePlugins.jar, BASE2Webclient.jar and BASE2WSClient.jar.</echo>
175  </target>
176 
177  <target name="signjars">
178    <signjar
179      alias="mev-base" 
180      keystore="./jarsign/mev-base.key"
181      storepass="mev-base"
182      lazy="true">
183      <fileset 
184        dir="./resources/jar"
185        includes="*.jar" 
186        excludes="goose.jar,mail.jar" 
187      />
188    </signjar>
189  </target>
190 
191  <target 
192    name="download-lib"
193    description="Download BASE2Core.jar, BASE2Webclient.jar, BASE2CorePlugins.jar and BASE2WSClient.jar"
194    >
195    <echo>
196-------------------------------------------------------   
197NOTE! You may specifiy a different download location by
198creating the file './build.properties' and
199setting 'depend.jars' to the URL to download from.
200-------------------------------------------------------
201    </echo>
202    <download-lib file="BASE2Core.jar" />
203    <download-lib file="BASE2CorePlugins.jar" />
204    <download-lib file="BASE2Webclient.jar" />
205    <download-lib file="BASE2WSClient.jar" />
206  </target>
207 
208  <macrodef name="download-lib" description="Download BASE core JAR files">
209    <attribute name="file" />
210    <sequential>
211      <get 
212        dest="lib/compile/@{file}" 
213        src="${depend.jars}/@{file}" 
214        usetimestamp="true" 
215        verbose="true"
216        ignoreerrors="true"
217      />
218    </sequential>
219  </macrodef>
220</project>
Note: See TracBrowser for help on using the repository browser.