-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.xml
138 lines (119 loc) · 4.98 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
138
<project name="sisyphus" default="compile" basedir=".">
<description>
Sisyphus, a high-performance data processing framework in java
</description>
<!-- set global properties for this build -->
<property name="component.name" value="Sisyphus"/>
<property name="component.version" value="0.3.3"/>
<property name="src" location="src"/>
<property name="build" location="build"/>
<property name="include" location="include"/>
<property name="docs" location="docs"/>
<property name="testutil" value="testutil"/>
<property name="testutil.build" value="build-testutil"/>
<property name="test" value="test"/>
<property name="test.build" value="build-test"/>
<property name="test.reports" value="test-reports"/>
<property name="test.raw" value="test-reports/raw"/>
<property name="compile.debug" value="true"/>
<property name="compile.deprecation" value="false"/>
<property name="compile.jdk-version.source" value="1.6"/>
<property name="compile.jdk-version.target" value="1.6"/>
<property name="compile.optimize" value="true"/>
<property name="jarname" value="sisyphus-${component.version}.jar"/>
<target name="compile" description="compile the source" >
<mkdir dir="${build}"/>
<javac srcdir="${src}" destdir="${build}" debug="on" includeantruntime='false'>
<classpath>
<pathelement path="${classpath}"/>
<fileset dir="${include}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
<mkdir dir="${testutil.build}"/>
<javac srcdir="${testutil}" destdir="${testutil.build}" debug="on" includeantruntime='false'>
<classpath>
<pathelement path="${java.class.path}"/>
<pathelement path="${classpath}"/>
<fileset dir="${include}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
<mkdir dir="${test.build}"/>
<javac srcdir="${test}" destdir="${test.build}" debug="${compile.debug}" deprecation="${compile.deprecation}" target="${compile.jdk-version.target}" source="${compile.jdk-version.source}" optimize="${compile.optimize}" fork="yes" memoryMaximumSize="512m" includeantruntime='false' >
<classpath>
<pathelement path="${java.class.path}"/>
<pathelement path="${build}"/>
<pathelement path="${classpath}"/>
<pathelement path="${testutil.build}"/>
<pathelement path="${test.build}"/>
<!-- include all jar files -->
<fileset dir="${include}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javac>
</target>
<target name="docs" depends="compile">
<mkdir dir="${docs}"/>
<javadoc packagenames="*" sourcepath="${src}" destdir="${docs}" access="public"
defaultexcludes="yes" author="true" version="true" use="true" splitindex="true"
windowtitle="${component.name} API Documentation Version: ${component.version}">
<link href="http://docs.oracle.com/javase/6/docs/api/"/>
<classpath>
<pathelement path="${classpath}"/>
<fileset dir="${include}">
<include name="**/*.jar"/>
</fileset>
</classpath>
</javadoc>
</target>
<target name="jar" depends="compile">
<jar jarfile="${jarname}" basedir="${build}/"/>
</target>
<target name="unittest" description="Execute unit tests" depends="compile">
<delete dir="${test.raw}"/>
<delete dir="${test.reports}"/>
<mkdir dir="${test.reports}"/>
<mkdir dir="${test.raw}"/>
<junit fork="true" printsummary="false" failureproperty="junit.failure" timeout="10000">
<classpath>
<pathelement location="${build}"/>
<pathelement location="${testutil.build}"/>
<pathelement location="${test.build}"/>
<pathelement path="${java.class.path}"/>
<fileset dir="${include}">
<include name="**/*.jar"/>
</fileset>
</classpath>
<batchtest todir="${test.raw}">
<fileset dir="${test.build}" excludes="**/*$*"/>
<formatter classname="com.thefind.testutil.OneLinerFormatter" usefile="false"/>
<formatter type="xml"/>
</batchtest>
</junit>
<echo message="Launching junitreports"/>
<junitreport todir="${test.reports}">
<fileset dir="${test.raw}"/>
<report todir="${test.reports}"/>
</junitreport>
<fail if="junit.failure" message="Some unit tests failed. See ${test.reports}/"/>
</target>
<target name="cleantest" description="Delete the test build">
<delete dir="${testutil.build}"/>
<delete dir="${test.build}"/>
<delete dir="${test.raw}"/>
<delete dir="${test.reports}"/>
</target>
<target name="cleandocs" description="Delete the test build">
<delete dir="${docs}"/>
</target>
<target name="clean" description="Delete the build, the library and the docs"
depends="cleantest, cleandocs">
<delete dir="${build}"/>
<delete dir="${test.build}"/>
<delete dir="." includes="sisyphus*.jar"/>
</target>
</project>