blob: 2d52200d14d06f954ac80d3c9f72509b39b707b7 [file] [log] [blame]
Jesse Wilson109c1282009-12-08 13:45:25 -08001<?xml version="1.0"?>
2
Jesse Wilsonf062bf42010-01-13 17:12:18 -08003<project name="caliper" default="install">
Jesse Wilson109c1282009-12-08 13:45:25 -08004 <!-- can be overridden at the command line with -Dversion=
5 or in IDEA, in the ant properties dialog -->
Jesse Wilsonf062bf42010-01-13 17:12:18 -08006 <property name="version" value="0.0"/> <!-- subversion revision? -->
Jesse Wilson109c1282009-12-08 13:45:25 -08007
Jesse Wilsonf062bf42010-01-13 17:12:18 -08008 <property name="frameworkclasses" value="build/classes/framework"/>
9 <property name="otherclasses" value="build/classes/other"/>
10 <property name="installroot" value="build/caliper-${version}"/>
11 <property name="javadocroot" value="${installroot}/docs/api"/>
12 <property name="collections" value="lib/google-collect-1.0-rc4.jar"/>
13
14 <path id="dependencies">
15 <pathelement location="${collections}"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080016 </path>
17
Jesse Wilsonf062bf42010-01-13 17:12:18 -080018 <path id="testdependencies">
19 <path refid="dependencies"/>
20 <pathelement location="${frameworkclasses}"/>
21 <pathelement location="lib/junit.jar"/>
22 </path>
Jesse Wilson109c1282009-12-08 13:45:25 -080023
Jesse Wilsonf062bf42010-01-13 17:12:18 -080024 <target name="compile"
25 description="Compile all Java source code">
26 <mkdir dir="${frameworkclasses}"/>
27 <javac srcdir="src"
28 includes="com/**"
29 destdir="${frameworkclasses}"
Jesse Wilson109c1282009-12-08 13:45:25 -080030 debug="on"
Jesse Wilsonf062bf42010-01-13 17:12:18 -080031 source="1.5"
32 target="1.5"
33 classpathref="dependencies">
34 <compilerarg value="-Xlint"/>
35 <!--compilerarg value="-Werror"/-->
36 </javac>
37
38 <mkdir dir="${otherclasses}"/>
39 <javac srcdir="src"
40 excludes="com/**"
41 debug="on"
42 destdir="${otherclasses}"
Jesse Wilson109c1282009-12-08 13:45:25 -080043 source="1.5"
44 target="1.5">
Jesse Wilsonf062bf42010-01-13 17:12:18 -080045 <compilerarg value="-Xlint"/>
46 <!--compilerarg value="-Werror"/-->
Jesse Wilson109c1282009-12-08 13:45:25 -080047 <classpath>
Jesse Wilsonf062bf42010-01-13 17:12:18 -080048 <path refid="testdependencies"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080049 </classpath>
50 </javac>
Jesse Wilson109c1282009-12-08 13:45:25 -080051 </target>
52
53 <target name="test"
Jesse Wilsonf062bf42010-01-13 17:12:18 -080054 depends="compile"
55 description="Run unit tests">
56 <junit fork="true"
57 haltonfailure="true">
Jesse Wilson109c1282009-12-08 13:45:25 -080058 <classpath>
Jesse Wilsonf062bf42010-01-13 17:12:18 -080059 <pathelement location="${otherclasses}"/>
60 <path refid="testdependencies"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080061 </classpath>
Jesse Wilsonf062bf42010-01-13 17:12:18 -080062 <batchtest>
63 <fileset dir="src">
64 <include name="test/*Test.java"/>
65 </fileset>
66 </batchtest>
67
68 </junit>
Jesse Wilson109c1282009-12-08 13:45:25 -080069 </target>
70
Jesse Wilsonf062bf42010-01-13 17:12:18 -080071 <target name="buildjar"
72 depends="compile"
73 description="Build JAR archive of caliper framework">
74 <mkdir dir="${installroot}/lib"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080075
Jesse Wilsonf062bf42010-01-13 17:12:18 -080076 <taskdef name="jarjar"
77 classname="com.tonicsystems.jarjar.JarJarTask"
78 classpath="lib/jarjar-1.0rc8.jar"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080079
Jesse Wilsonf062bf42010-01-13 17:12:18 -080080 <jarjar jarfile="${installroot}/lib/caliper-${version}.jar">
81 <fileset dir="${frameworkclasses}"/>
82 <zipfileset src="${collections}"/>
83 <rule pattern="com.google.common.**" result="com.google.caliper.internal.guava.@1"/>
84 <keep pattern="com.google.caliper.**"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080085
Jesse Wilsonf062bf42010-01-13 17:12:18 -080086 <!-- include some files for GWT's benefit -->
87 <zipfileset dir="src">
88 <include name="com/google/caliper/Run.java"/>
89 <include name="com/google/caliper/Scenario.java"/>
90 <include name="CaliperCore.gwt.xml" />
91 </zipfileset>
92 </jarjar>
Jesse Wilson109c1282009-12-08 13:45:25 -080093 </target>
94
95 <target name="javadoc"
Jesse Wilsonf062bf42010-01-13 17:12:18 -080096 description="Generate API documentation to ${javadocroot}">
97 <delete dir="${javadocroot}"/> <!-- TODO: figure out how to make this more incremental -->
98 <mkdir dir="${javadocroot}"/>
Jesse Wilson109c1282009-12-08 13:45:25 -080099 <javadoc packagenames="com.google.caliper"
Jesse Wilsonf062bf42010-01-13 17:12:18 -0800100 destdir="${javadocroot}"
Jesse Wilson109c1282009-12-08 13:45:25 -0800101 use="true"
102 author="true"
103 protected="true"
104 windowtitle="Caliper ${version}">
105 <sourcepath>
106 <pathelement location="src"/>
107 </sourcepath>
Jesse Wilsonf062bf42010-01-13 17:12:18 -0800108 <classpath refid="dependencies"/>
Jesse Wilson109c1282009-12-08 13:45:25 -0800109 <link href="http://google-collections.googlecode.com/svn/trunk/javadoc/"/>
110 <link href="http://java.sun.com/javase/6/docs/api"/>
111 </javadoc>
112 </target>
Jesse Wilsonf062bf42010-01-13 17:12:18 -0800113
114 <target name="install" depends="buildjar, javadoc"
115 description="Create a complete installation tree in ./build/caliper-*">
116 <mkdir dir="${installroot}"/>
117 <zip zipfile="${installroot}/src-${version}.zip">
118 <fileset dir="src"/>
119 </zip>
120
121 <copy toDir="${installroot}" file="COPYING"/>
122 <copy toDir="${installroot}" file="src/scripts/caliper">
123 <filterset>
124 <filter token="VERSION" value="${version}"/>
125 </filterset>
126 </copy>
127 <chmod perm="ugo=rx" file="${installroot}/caliper"/>
128 </target>
129
130 <target name="dist"
131 depends="install"
132 description="Create a zipped distribution for upload to Google Code">
133 <zip destfile="build/caliper-${version}.zip">
134 <zipfileset dir="build/caliper-${version}"
135 excludes="caliper"
136 prefix="caliper-${version}"/>
137 <zipfileset file="build/caliper-${version}/caliper"
138 prefix="caliper-${version}"
139 filemode="555"/>
140 </zip>
141 </target>
142
143 <target name="clean"
144 description="Remove all generated files.">
145 <delete dir="build"/>
146 </target>
147
Jesse Wilson109c1282009-12-08 13:45:25 -0800148</project>