--- /dev/null
+<project name="org.dynalang.mop" basedir=".">\r
+<!--\r
+ Copyright 2007 Attila Szegedi\r
+\r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+\r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+\r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+-->\r
+<!-- $Id: build.xml,v 1.1 2010/06/06 21:50:33 ali_bush Exp $ -->\r
+ <property name="project.name" value="JVM Dynamic Languages Metaobject Protocol"/>\r
+ <property name="artifact.name" value="dynalang-mop"/>\r
+ <property name="revision" value="0.4"/>\r
+ <property name="build.dir" location="build"/>\r
+\r
+ <target name="clean">\r
+ <mkdir dir="${build.dir}"/>\r
+ <delete dir="${build.dir}"/>\r
+ </target>\r
+\r
+ <target name="resolve">\r
+ </target>\r
+\r
+ <path id="compile.classpath">\r
+ <fileset dir="build/lib/default"/>\r
+ </path>\r
+\r
+ <target name="compile" depends="resolve">\r
+ <mkdir dir="build/lib/default"/>\r
+ <property name="classes.dir" location="${build.dir}/classes"/>\r
+ <mkdir dir="${classes.dir}"/>\r
+ <javac srcdir="src" destdir="${classes.dir}" deprecation="off" \r
+ debug="on" optimize="off" target="1.5" source="1.5"\r
+ classpathref="compile.classpath"/>\r
+ <copy toDir="${classes.dir}">\r
+ <fileset dir="src"\r
+ excludes="**/CVS/**,**/*.bak,**/*.java,**/*.jj,**/package.html,overview.html"/>\r
+ </copy>\r
+ </target>\r
+ \r
+ <target name="jar" depends="compile">\r
+ <property name="jarfile" location="build/${artifact.name}-${revision}.jar"/>\r
+ <jar destfile="${jarfile}" basedir="${classes.dir}">\r
+ <manifest>\r
+ <attribute name="Implementation-Vendor" value="Attila Szegedi"/>\r
+ <attribute name="Implementation-Version" value="${revision}"/>\r
+ <attribute name="Implementation-Title" value="${project.name}"/>\r
+ <attribute name="Implementation-URL" value="http://sourceforge.net/projects/dynalang"/>\r
+ </manifest>\r
+ </jar>\r
+ </target>\r
+\r
+ <target depends="" name="doc">\r
+ <mkdir dir="${build.dir}/doc/javadoc"/>\r
+ <delete includeEmptyDirs="yes">\r
+ <fileset dir="${build.dir}/doc/javadoc" includes="**/*" />\r
+ </delete>\r
+ <javadoc author="true"\r
+ destdir="${build.dir}/doc/javadoc"\r
+ doctitle="${project.name} ${revision}"\r
+ packagenames="org.dynalang.*"\r
+ sourcepath="src"\r
+ version="true"\r
+ windowtitle="${project.name} ${revision} API"\r
+ overview="src/overview.html"\r
+ use="true">\r
+ </javadoc>\r
+ <copy todir="${build.dir}/doc">\r
+ <fileset dir="src/doc" includes="**/*"/>\r
+ </copy>\r
+ </target>\r
+\r
+ <target name="coverage-instrument" depends="compile">\r
+ <property name="coverage.dir" location="${build.dir}/coverage"/>\r
+ <property name="coverage.classes.dir" location="${build.dir}/coverage/classes"/>\r
+ <mkdir dir="${coverage.classes.dir}"/>\r
+ <path id="emma.lib">\r
+ <pathelement location="build/lib/test/emma.jar" />\r
+ <pathelement location="build/lib/test/emma_ant.jar" />\r
+ </path>\r
+ <taskdef resource="emma_ant.properties" classpathref="emma.lib" />\r
+ <property name="coverage.instrumentationfile" location="${coverage.dir}/instrumentation"/>\r
+ <emma enabled="true">\r
+ <instr \r
+ instrpath="${classes.dir}" outdir="${coverage.classes.dir}" \r
+ outfile="${coverage.instrumentationfile}" mode="copy"/>\r
+ </emma>\r
+ <copy todir="${coverage.classes.dir}">\r
+ <fileset dir="src" excludes="**/*.java"/>\r
+ </copy>\r
+ <copy todir="${coverage.classes.dir}">\r
+ <fileset dir="${classes.dir}"/>\r
+ </copy>\r
+ <property name="coverage.outfile" location="${coverage.dir}/coverage"/>\r
+ </target>\r
+\r
+ <target name="test-compile" depends="compile">\r
+ <property name="test.classes.dir" location="${build.dir}/test/classes"/>\r
+ <mkdir dir="${test.classes.dir}"/>\r
+ <javac srcdir="testsrc" destdir="${test.classes.dir}" deprecation="off" \r
+ debug="on" optimize="off" target="1.5" source="1.5">\r
+ <classpath>\r
+ <pathelement path="${classes.dir}" />\r
+ <pathelement path="build/lib/test/junit.jar" />\r
+ </classpath>\r
+ </javac>\r
+ <copy toDir="${test.classes.dir}">\r
+ <fileset dir="testsrc"\r
+ excludes="**/CVS/**,**/*.bak,**/*.java,**/*.jj,**/package.html"/>\r
+ </copy>\r
+ </target>\r
+\r
+ <target name="test-run" depends="test-compile, coverage-instrument">\r
+ <junit printsummary="on" fork="true" forkmode="once" \r
+ showoutput="true" haltonerror="true" haltonfailure="true">\r
+ <sysproperty key="emma.coverage.out.file" value="${coverage.outfile}"/>\r
+ <classpath>\r
+ <pathelement path="${coverage.classes.dir}" />\r
+ <pathelement path="${test.classes.dir}" />\r
+ <pathelement path="build/lib/test/emma.jar"/>\r
+ <pathelement path="build/lib/test/junit.jar"/>\r
+ </classpath>\r
+ <batchtest todir="build/test">\r
+ <fileset dir="${test.classes.dir}" includes="**/Test*.class"/>\r
+ </batchtest>\r
+ <formatter type="plain" usefile="false" />\r
+ <formatter type="xml"/>\r
+ </junit>\r
+ <mkdir dir="build/test/report"/>\r
+ <junitreport todir="build/test">\r
+ <fileset dir="build/test" includes="TEST-*.xml"/>\r
+ <report todir="build/test/report"/>\r
+ </junitreport>\r
+ </target>\r
+\r
+ <target name="test" depends="test-run">\r
+ <property name="coverage.report.dir" location="${build.dir}/coverage/report"/>\r
+ <mkdir dir="${coverage.report.dir}"/>\r
+ <delete dir="${coverage.report.dir}"/>\r
+ <mkdir dir="${coverage.report.dir}"/>\r
+ <emma enabled="true">\r
+ <report>\r
+ <fileset dir="${basedir}">\r
+ <include name="build/coverage/instrumentation"/>\r
+ <include name="build/coverage/coverage"/>\r
+ </fileset>\r
+ <sourcepath>\r
+ <dirset dir="${basedir}">\r
+ <include name="src"/>\r
+ </dirset>\r
+ </sourcepath>\r
+ <html outfile="${coverage.report.dir}/index.html"/>\r
+ </report>\r
+ </emma>\r
+ </target>\r
+ \r
+ <target name="dist" depends="clean,test-run,jar,doc">\r
+ <mkdir dir="build/${artifact.name}-${revision}"/>\r
+ <copy todir="build/${artifact.name}-${revision}">\r
+ <fileset dir="." excludes="build/**/*"/>\r
+ </copy>\r
+ <copy todir="build/${artifact.name}-${revision}">\r
+ <fileset dir="." \r
+ includes="\r
+ build/doc/**/* \r
+ build/${artifact.name}-${revision}.jar"\r
+ />\r
+ </copy>\r
+ <tar destfile="build/${artifact.name}-${revision}.tgz" \r
+ compression="gzip" basedir="build" \r
+ includes="${artifact.name}-${revision}/**/*"/>\r
+ </target>\r
+</project>\r