davmail/libgrowl/build.xml

78 lines
2.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="libgrowl" default="build">
<property name="version" value="0.2" />
<property name="build.dir" value="build" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="target.dir" value="${build.dir}/dist" />
<property name="javadoc.dir" value="${build.dir}/apidocs" />
<property name="src.java.dir" value="src/java" />
<property name="src.native.dir" value="src/native" />
<property name="src.resources.dir" value="src/resources" />
<target name="build-java">
<mkdir dir="${classes.dir}" />
<javac debug="true" destdir="${classes.dir}" srcdir="${src.java.dir}" />
</target>
<target name="build-headers" depends="build-java">
<javah destdir="${src.native.dir}" classpath="${classes.dir}" verbose="true">
<class name="info.growl.GrowlNative" />
</javah>
</target>
<target name="build-native">
<exec executable="make" dir="${src.native.dir}" failonerror="yes" />
<copy todir="${target.dir}">
<fileset dir="${src.native.dir}" includes="**/*.jnilib" />
</copy>
</target>
<target name="copy-resources">
<copy todir="${classes.dir}">
<fileset dir="${src.resources.dir}" includes="**/*" />
</copy>
</target>
<target name="build-jar" depends="build-java, copy-resources">
<mkdir dir="${target.dir}" />
<jar destfile="${target.dir}/libgrowl-${version}.jar" basedir="${classes.dir}">
<include name="info/growl/*.class"/>
<manifest>
<section name="info/growl/">
<attribute name="Implementation-Title" value="Growl Native Wrapper"/>
<attribute name="Implementation-Version" value="${version}"/>
<attribute name="Implementation-Vendor" value="Michael Stringer"/>
</section>
</manifest>
</jar>
</target>
<target name="build" depends="build-jar,build-headers,build-native" />
<target name="javadoc" depends="build-jar">
<mkdir dir="${javadoc.dir}" />
<javadoc sourcepath="${src.java.dir}" destdir="${javadoc.dir}"
author="yes" header="Growl Java APIs" />
</target>
<target name="clean">
<delete dir="${build.dir}" />
<delete>
<fileset dir="${src.native.dir}" includes="**/info_growl_*.h" />
</delete>
<exec executable="make" dir="${src.native.dir}" failonerror="yes">
<arg line="clean" />
</exec>
</target>
<target name="run" depends="build">
<java classname="info.growl.test.TestGrowl" fork="true" dir="${target.dir}" classpath="${classes.dir}">
<jvmarg line="-Djava.library.path=."/>
</java>
</target>
</project>