blob: 5ec0b7a6df9dbc4dec7573ea0a40da18077fbc8b [file] [log] [blame]
<project name="simplebundle" default="all" basedir=".">
<!-- Set global properties. -->
<property name="bundle.name" value="simple"/>
<property name="src.dir" value="src"/>
<property name="lib.dir" value="lib"/>
<property name="output.dir" value="classes"/>
<property name="bundle.dir" value="."/>
<property name="doc.dir" value="doc"/>
<property name="apidoc.dir" value="${doc.dir}/api"/>
<property name="dist.dir" value="."/>
<property name="native.dir" value="native"/>
<property name="debug.flag" value="on"/>
<!-- Create class path from lib and output directories. -->
<path id="classpath">
<pathelement location="${output.dir}"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
</path>
<!-- Create output directory. -->
<target name="init">
<mkdir dir="${output.dir}"/>
</target>
<!-- Compile and JAR everything -->
<target name="all" depends="init">
<antcall target="compile"/>
<antcall target="jar"/>
</target>
<!-- Compile everything. -->
<target name="compile" depends="init">
<javac srcdir="${src.dir}" destdir="${output.dir}"
debug="${debug.flag}" verbose="no" deprecation="no">
<classpath refid="classpath"/>
<include name="**/*.java"/>
</javac>
</target>
<!-- JAR the bundle. -->
<target name="jar" depends="compile">
<jar jarfile="${output.dir}/org/apache/felix/${bundle.name}/embedded.jar"
basedir="${output.dir}">
<include name="org/apache/felix/${bundle.name}/embedded/**"/>
</jar>
<copy todir="${output.dir}">
<fileset dir="${native.dir}">
<include name="libfoo.so"/>
</fileset>
</copy>
<jar manifest="${src.dir}/org/apache/felix/${bundle.name}/manifest.mf"
jarfile="${bundle.dir}/${bundle.name}.jar"
basedir="${output.dir}">
<include name="org/apache/felix/${bundle.name}/**"/>
<include name="libfoo.so"/>
<exclude name="org/apache/felix/${bundle.name}/embedded/"/>
</jar>
</target>
<!-- Create the source distribution JAR file. -->
<target name="dist">
<!-- Create API doc directory. -->
<mkdir dir="${apidoc.dir}"/>
<!-- Generate API documentation. -->
<javadoc sourcepath="${src.dir}"
packagenames="*"
destdir="${apidoc.dir}"
author="true"
windowtitle="${bundle.name} API Documentation"/>
<!-- JAR the source and doc trees. -->
<jar jarfile="${dist.dir}/${bundle.name}-src.jar"
basedir="..">
<include name="${bundle.name}/LICENSE.txt"/>
<include name="${bundle.name}/build.xml"/>
<include name="${bundle.name}/${lib.dir}/**"/>
<include name="${bundle.name}/${doc.dir}/**"/>
<include name="${bundle.name}/${src.dir}/**"/>
</jar>
</target>
<!-- Clean up everything. -->
<target name="clean">
<delete dir="${output.dir}"/>
<delete dir="${apidoc.dir}"/>
<delete file="${bundle.dir}/${bundle.name}.jar"/>
<delete file="${dist.dir}/${bundle.name}-src.jar"/>
</target>
</project>