JorisLog/2010/12/06: buildJar.xml

File buildJar.xml, 2.8 KB (added by jlops, 13 years ago)
Line 
1<project name="molgenis_distro">
2    <property name="src.dir" value="src/java"/>
3    <property name="conf.dir" value="src/conf"/>
4
5    <property name="lib.dir" value="web/WEB-INF/lib"/>
6    <property name="lib.dir.server" value="/Applications/apache-tomcat-6.0.20/lib"/>
7
8    <property name="build.dir" value="buildJar"/>
9    <property name="build.classes.dir" value="${build.dir}/classes"/>
10
11
12    <property name="dist.dir" value="${build.dir}/dist"/>
13    <property name="dist.lib" value="${build.dir}/dist/lib"/>
14
15    <path id="classpath">
16        <fileset dir="${lib.dir}" includes="**/*.jar"/>
17        <fileset dir="${lib.dir.server}" includes="**/*.jar"/>
18    </path>   
19
20    <!-- setup directory structure and removes old dirs -->
21    <target name="clean">
22        <delete dir="${build.dir}"/>
23        <mkdir dir="${build.dir}"/>
24        <mkdir dir="${build.classes.dir}"/>
25        <mkdir dir="${dist.dir}"/>
26        <mkdir dir="${dist.lib}"/>
27    </target>
28   
29    <target name="copyFiles" depends="clean">
30        <!-- copy libs -->
31        <copy todir="${dist.lib}">
32            <fileset dir="${lib.dir}"/>
33            <fileset dir="${lib.dir.server}"/>
34        </copy>
35
36        <!-- copy persistence.xml -->
37        <copy todir="${build.classes.dir}/META-INF">
38            <fileset dir="${conf.dir}"
39                     excludes="**/*.java"/>
40        </copy>
41    </target>
42
43    <target name="compile" depends="copyFiles">
44        <javac  verbose="true"
45                srcdir="${src.dir}"
46                destdir="${build.classes.dir}"
47                classpathref="classpath">
48            <compilerarg value="-proc:none"/>
49        </javac>
50    </target>
51
52    <!-- begin buildjar -->
53    <target name="jar" depends="compile">
54        <jar destfile="${dist.dir}/${ant.project.name}.jar"
55             basedir="${build.classes.dir}">
56            <manifest>
57                <!-- <attribute name="Class-Path" value=". ${manifest.classpath}"/> -->
58                <attribute name="Class-Path" value=". ${jar.classpath}"/>
59            </manifest>
60        </jar>
61    </target>
62
63    <path id="build.classpath">
64        <fileset dir="${basedir}">
65            <include name="{build.lib}/*.jar"/>
66        </fileset>
67    </path>
68
69    <pathconvert property="manifest.classpath" pathsep=" ">
70      <path refid="build.classpath"/>
71      <mapper>
72        <chainedmapper>
73           <flattenmapper/>
74           <globmapper from="*.jar" to="lib/*.jar"/>
75        </chainedmapper>
76      </mapper>
77    </pathconvert>
78
79    <path id="lib-classpath">
80       <fileset dir="${dist.lib}">
81          <include name="**/*.jar"/>
82       </fileset>
83    </path>
84
85    <manifestclasspath property="jar.classpath"
86                       jarfile="${dist.dir}/${ant.project.name}.jar">
87      <classpath refid="lib-classpath" />
88    </manifestclasspath>
89    <!-- end buildjar -->
90</project>