blob: 4df84c32cb0d7785959d169ba20560f51bd4caeb [file] [log] [blame]
Silvio Heuberger54f7a182010-03-23 12:39:16 +01001<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<project name="geohash-java" default="test" basedir=".">
3 <property name="build.dir" location="bin" />
MÃ¥rten Gustafson7cfd3c12010-05-30 17:44:30 +02004 <property name="src.dir" location="src/main/java" />
5 <property name="test.dir" location="src/test/java" />
Silvio Heuberger54f7a182010-03-23 12:39:16 +01006 <property name="vendor.dir" location="vendor" />
7 <property name="build.prod.dir" location="${build.dir}/prod" />
8 <property name="build.test.dir" location="${build.dir}/test" />
9 <property name="test.report.dir" location="${build.dir}/test-reports" />
10
11 <path id="project.classpath">
12 <pathelement location="${build.prod.dir}" />
13 <pathelement location="${build.test.dir}" />
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010014
Silvio Heuberger54f7a182010-03-23 12:39:16 +010015 <fileset dir="${vendor.dir}">
16 <include name="*.jar" />
17 </fileset>
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010018
Silvio Heuberger54f7a182010-03-23 12:39:16 +010019 </path>
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010020
Silvio Heuberger54f7a182010-03-23 12:39:16 +010021 <!-- clean -->
22 <target name="clean">
23 <delete dir="${build.dir}" />
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010024 <delete dir="${dist.dir}" />
Silvio Heuberger54f7a182010-03-23 12:39:16 +010025 </target>
26
27 <target name="prepare" depends="clean">
28 <mkdir dir="${build.prod.dir}" />
29 <mkdir dir="${build.test.dir}" />
30 </target>
31
32 <target name="compile" depends="prepare">
33 <javac srcdir="${src.dir}" destdir="${build.prod.dir}">
34 <classpath refid="project.classpath" />
35 </javac>
36 </target>
37
38 <target name="compile-tests" depends="compile">
39 <javac srcdir="${test.dir}" destdir="${build.test.dir}">
40 <classpath refid="project.classpath" />
41 </javac>
42 </target>
43
44 <target name="test" depends="compile-tests">
45 <delete dir="${test.report.dir}" />
46 <mkdir dir="${test.report.dir}" />
47 <junit errorproperty="test.failed" failureproperty="test.failed">
48 <classpath refid="project.classpath" />
49 <formatter type="brief" usefile="false" />
50 <formatter type="xml" usefile="true" />
51 <batchtest todir="${test.report.dir}">
52
53 <fileset dir="${build.test.dir}" includes="**/*Test.class" />
54 </batchtest>
55 </junit>
56 <fail message="one or more tests failed!" if="test.failed" />
57 </target>
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010058
Silvio Heuberger54f7a182010-03-23 12:39:16 +010059 <!-- release related ant stuff -->
60
Silvio Heuberger7f6afab2013-08-23 14:46:36 +020061 <property name="version" value="1.0.8" />
Silvio Heuberger54f7a182010-03-23 12:39:16 +010062 <property name="release" value="${ant.project.name}-${version}" />
63
64 <property name="dist.dir" location="release" />
65 <property name="jar.name" value="${ant.project.name}.jar" />
66 <property name="jar.path" location="${dist.dir}/${jar.name}" />
67 <property name="zip.name" value="${release}.zip" />
68 <property name="zip.path" location="${dist.dir}/${zip.name}" />
69
70 <!-- here come the targets... -->
71
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010072 <target name="prepare-release">
73 <delete dir="${dist.dir}" />
Silvio Heuberger54f7a182010-03-23 12:39:16 +010074 <mkdir dir="${dist.dir}" />
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010075 </target>
76
77 <target name="jar" depends="test,prepare-release">
Silvio Heuberger54f7a182010-03-23 12:39:16 +010078 <jar destfile="${jar.path}" basedir="${build.prod.dir}">
79 <manifest>
80 <attribute name="Built-By" value="${user.name}" />
81 <attribute name="Class-Path" value="." />
82 </manifest>
83 </jar>
84 </target>
85
86 <target name="zip" depends="jar">
87 <zip destfile="${zip.path}">
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010088 <zipfileset file="${jar.path}" prefix="${release}" />
89 <zipfileset dir="${basedir}" prefix="${release}/sources">
90 <include name="src/**/*.java" />
91 <include name="test/**/*.java" />
Silvio Heuberger86a8e9f2010-04-06 10:46:49 +020092 <include name="LICENSE" />
93 <include name="README" />
Silvio Heuberger81a4f6e2010-03-23 13:06:41 +010094 <include name="build.xml" />
95 <include name="vendor/**/*.jar"/>
96 </zipfileset>
Silvio Heuberger54f7a182010-03-23 12:39:16 +010097 </zip>
98 </target>
99</project>