Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 1 | <?xml version="1.0"?> |
| 2 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 3 | <project name="caliper" default="install"> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 4 | <!-- can be overridden at the command line with -Dversion= |
| 5 | or in IDEA, in the ant properties dialog --> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 6 | <property name="version" value="0.0"/> <!-- subversion revision? --> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 7 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 8 | <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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 16 | </path> |
| 17 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 18 | <path id="testdependencies"> |
| 19 | <path refid="dependencies"/> |
| 20 | <pathelement location="${frameworkclasses}"/> |
| 21 | <pathelement location="lib/junit.jar"/> |
| 22 | </path> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 23 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 24 | <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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 30 | debug="on" |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 31 | 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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 43 | source="1.5" |
| 44 | target="1.5"> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 45 | <compilerarg value="-Xlint"/> |
| 46 | <!--compilerarg value="-Werror"/--> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 47 | <classpath> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 48 | <path refid="testdependencies"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 49 | </classpath> |
| 50 | </javac> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 51 | </target> |
| 52 | |
| 53 | <target name="test" |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 54 | depends="compile" |
| 55 | description="Run unit tests"> |
| 56 | <junit fork="true" |
| 57 | haltonfailure="true"> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 58 | <classpath> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 59 | <pathelement location="${otherclasses}"/> |
| 60 | <path refid="testdependencies"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 61 | </classpath> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 62 | <batchtest> |
| 63 | <fileset dir="src"> |
| 64 | <include name="test/*Test.java"/> |
| 65 | </fileset> |
| 66 | </batchtest> |
| 67 | |
| 68 | </junit> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 69 | </target> |
| 70 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 71 | <target name="buildjar" |
| 72 | depends="compile" |
| 73 | description="Build JAR archive of caliper framework"> |
| 74 | <mkdir dir="${installroot}/lib"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 75 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 76 | <taskdef name="jarjar" |
| 77 | classname="com.tonicsystems.jarjar.JarJarTask" |
| 78 | classpath="lib/jarjar-1.0rc8.jar"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 79 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 80 | <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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 85 | |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 86 | <!-- 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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 93 | </target> |
| 94 | |
| 95 | <target name="javadoc" |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 96 | description="Generate API documentation to ${javadocroot}"> |
| 97 | <delete dir="${javadocroot}"/> <!-- TODO: figure out how to make this more incremental --> |
| 98 | <mkdir dir="${javadocroot}"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 99 | <javadoc packagenames="com.google.caliper" |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 100 | destdir="${javadocroot}" |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 101 | use="true" |
| 102 | author="true" |
| 103 | protected="true" |
| 104 | windowtitle="Caliper ${version}"> |
| 105 | <sourcepath> |
| 106 | <pathelement location="src"/> |
| 107 | </sourcepath> |
Jesse Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 108 | <classpath refid="dependencies"/> |
Jesse Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 109 | <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 Wilson | f062bf4 | 2010-01-13 17:12:18 -0800 | [diff] [blame^] | 113 | |
| 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 Wilson | 109c128 | 2009-12-08 13:45:25 -0800 | [diff] [blame] | 148 | </project> |